@prisma-next/family-sql 0.13.0-dev.3 → 0.13.0-dev.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/authoring-type-constructors-CjFfO6LM.mjs +342 -0
- package/dist/authoring-type-constructors-CjFfO6LM.mjs.map +1 -0
- package/dist/{control-adapter-CgIL9Vtx.d.mts → control-adapter-Cmw9LvEP.d.mts} +16 -33
- package/dist/control-adapter-Cmw9LvEP.d.mts.map +1 -0
- package/dist/control-adapter.d.mts +2 -2
- package/dist/control.d.mts +36 -34
- package/dist/control.d.mts.map +1 -1
- package/dist/control.mjs +24 -77
- package/dist/control.mjs.map +1 -1
- package/dist/ir.d.mts +3 -2
- package/dist/ir.d.mts.map +1 -1
- package/dist/ir.mjs +1 -1
- package/dist/migration.d.mts +1 -1
- package/dist/migration.d.mts.map +1 -1
- package/dist/migration.mjs +2 -1
- package/dist/migration.mjs.map +1 -1
- package/dist/pack.d.mts +16 -3
- package/dist/pack.d.mts.map +1 -1
- package/dist/pack.mjs +4 -2
- package/dist/pack.mjs.map +1 -1
- package/dist/schema-verify.d.mts +1 -1
- package/dist/schema-verify.mjs +1 -1
- package/dist/{sql-contract-serializer-CY7qnms7.mjs → sql-contract-serializer-D6-28zKd.mjs} +26 -15
- package/dist/sql-contract-serializer-D6-28zKd.mjs.map +1 -0
- package/dist/{types-CbwQCzXY.d.mts → types-kgstZ_Zd.d.mts} +5 -5
- package/dist/types-kgstZ_Zd.d.mts.map +1 -0
- package/dist/{verify-sql-schema-DcMaT5Zj.d.mts → verify-sql-schema-thU-jKpf.d.mts} +2 -14
- package/dist/verify-sql-schema-thU-jKpf.d.mts.map +1 -0
- package/dist/{verify-sql-schema-DlAgBiT_.mjs → verify-sql-schema-xT4udQLQ.mjs} +25 -118
- package/dist/verify-sql-schema-xT4udQLQ.mjs.map +1 -0
- package/package.json +21 -21
- package/src/core/authoring-entity-types.ts +178 -0
- package/src/core/authoring-field-presets.ts +8 -3
- package/src/core/control-adapter.ts +18 -49
- package/src/core/control-descriptor.ts +3 -0
- package/src/core/control-instance.ts +13 -11
- package/src/core/ir/sql-contract-serializer-base.ts +76 -60
- package/src/core/migrations/contract-to-schema-ir.ts +47 -112
- package/src/core/migrations/types.ts +4 -1
- package/src/core/psl-contract-infer/postgres-type-map.ts +5 -13
- package/src/core/psl-contract-infer/sql-schema-ir-to-psl-ast.ts +17 -70
- package/src/core/schema-verify/verify-sql-schema.ts +10 -146
- package/src/core/sql-migration.ts +5 -1
- package/src/exports/control-adapter.ts +1 -0
- package/src/exports/control.ts +1 -1
- package/src/exports/pack.ts +3 -0
- package/dist/authoring-type-constructors-D4lQ-qpj.mjs +0 -192
- package/dist/authoring-type-constructors-D4lQ-qpj.mjs.map +0 -1
- package/dist/control-adapter-CgIL9Vtx.d.mts.map +0 -1
- package/dist/sql-contract-serializer-CY7qnms7.mjs.map +0 -1
- package/dist/types-CbwQCzXY.d.mts.map +0 -1
- package/dist/verify-sql-schema-DcMaT5Zj.d.mts.map +0 -1
- package/dist/verify-sql-schema-DlAgBiT_.mjs.map +0 -1
|
@@ -18,9 +18,7 @@ import type {
|
|
|
18
18
|
} from '@prisma-next/framework-components/control';
|
|
19
19
|
|
|
20
20
|
import {
|
|
21
|
-
isPostgresEnumStorageEntry,
|
|
22
21
|
isStorageTypeInstance,
|
|
23
|
-
type PostgresEnumStorageEntry,
|
|
24
22
|
type SqlStorage,
|
|
25
23
|
type StorageColumn,
|
|
26
24
|
StorageTable,
|
|
@@ -28,7 +26,6 @@ import {
|
|
|
28
26
|
} from '@prisma-next/sql-contract/types';
|
|
29
27
|
import type { SqlSchemaIR } from '@prisma-next/sql-schema-ir/types';
|
|
30
28
|
import { canonicalStringify } from '@prisma-next/utils/canonical-stringify';
|
|
31
|
-
import { blindCast } from '@prisma-next/utils/casts';
|
|
32
29
|
import { ifDefined } from '@prisma-next/utils/defined';
|
|
33
30
|
import { extractCodecControlHooks } from '../assembly';
|
|
34
31
|
import { resolveValueSetValues } from '../migrations/contract-to-schema-ir';
|
|
@@ -92,22 +89,6 @@ export interface VerifySqlSchemaOptions {
|
|
|
92
89
|
* with contract native types (e.g., Postgres 'varchar' → 'character varying').
|
|
93
90
|
*/
|
|
94
91
|
readonly normalizeNativeType?: NativeTypeNormalizer;
|
|
95
|
-
/**
|
|
96
|
-
* Bridging adapter that resolves the existing values for a `PostgresEnumStorageEntry`
|
|
97
|
-
* (looked up by its native type) from the introspected schema IR. Targets
|
|
98
|
-
* supply this so the family-level verifier can walk `PostgresEnumStorageEntry` instances
|
|
99
|
-
* natively without reaching into target-specific `schema.annotations`
|
|
100
|
-
* shapes itself.
|
|
101
|
-
*
|
|
102
|
-
* Returning `null` indicates the type is missing from the database; the
|
|
103
|
-
* verifier emits a `type_missing` issue. A non-null array triggers a
|
|
104
|
-
* value-set comparison against the contract's `PostgresEnumStorageEntry.values`.
|
|
105
|
-
*/
|
|
106
|
-
readonly resolveExistingEnumValues?: (
|
|
107
|
-
schema: SqlSchemaIR,
|
|
108
|
-
enumType: PostgresEnumStorageEntry,
|
|
109
|
-
namespaceId: string,
|
|
110
|
-
) => readonly string[] | null;
|
|
111
92
|
}
|
|
112
93
|
|
|
113
94
|
/**
|
|
@@ -129,7 +110,6 @@ export function verifySqlSchema(options: VerifySqlSchemaOptions): VerifyDatabase
|
|
|
129
110
|
typeMetadataRegistry,
|
|
130
111
|
normalizeDefault,
|
|
131
112
|
normalizeNativeType,
|
|
132
|
-
resolveExistingEnumValues,
|
|
133
113
|
} = options;
|
|
134
114
|
const startTime = Date.now();
|
|
135
115
|
|
|
@@ -138,28 +118,7 @@ export function verifySqlSchema(options: VerifySqlSchemaOptions): VerifyDatabase
|
|
|
138
118
|
|
|
139
119
|
const { contractStorageHash, contractProfileHash, contractTarget } =
|
|
140
120
|
extractContractMetadata(contract);
|
|
141
|
-
|
|
142
|
-
// (columns carry bare `typeRef`s). Used by `verifySchemaTables` only.
|
|
143
|
-
const allStorageTypesMap: Record<string, PostgresEnumStorageEntry | StorageTypeInstance> = {
|
|
144
|
-
...((contract.storage.types ?? {}) as Record<
|
|
145
|
-
string,
|
|
146
|
-
PostgresEnumStorageEntry | StorageTypeInstance
|
|
147
|
-
>),
|
|
148
|
-
};
|
|
149
|
-
for (const ns of Object.values(contract.storage.namespaces)) {
|
|
150
|
-
const nsEnums = blindCast<
|
|
151
|
-
{ readonly type?: Readonly<Record<string, PostgresEnumStorageEntry | StorageTypeInstance>> },
|
|
152
|
-
'postgres target namespace entries carry a type slot beyond the family-shared SqlNamespace.entries type'
|
|
153
|
-
>(ns.entries).type;
|
|
154
|
-
if (nsEnums) {
|
|
155
|
-
for (const [k, v] of Object.entries(nsEnums)) {
|
|
156
|
-
allStorageTypesMap[k] = v;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
const storageTypes = allStorageTypesMap as Readonly<
|
|
161
|
-
Record<string, PostgresEnumStorageEntry | StorageTypeInstance>
|
|
162
|
-
>;
|
|
121
|
+
const storageTypes: Readonly<Record<string, StorageTypeInstance>> = contract.storage.types ?? {};
|
|
163
122
|
const { issues, rootChildren } = verifySchemaTables({
|
|
164
123
|
contract,
|
|
165
124
|
schema,
|
|
@@ -173,13 +132,6 @@ export function verifySqlSchema(options: VerifySqlSchemaOptions): VerifyDatabase
|
|
|
173
132
|
|
|
174
133
|
validateFrameworkComponentsForExtensions(contract, options.frameworkComponents);
|
|
175
134
|
|
|
176
|
-
// Verify storage type instances. Codec-typed `storage.types` entries dispatch
|
|
177
|
-
// through the generic codec-hook `verifyType` path (keyed by bare name).
|
|
178
|
-
// `PostgresEnumStorageEntry` enums are walked natively *per namespace* (using
|
|
179
|
-
// the bridging adapter `resolveExistingEnumValues`) so two namespaces that
|
|
180
|
-
// declare an enum with the same name are each verified with their own
|
|
181
|
-
// namespace coordinate — a bare-name aggregation would collapse them
|
|
182
|
-
// (last-write-wins) and verify only one.
|
|
183
135
|
const typeNodes: SchemaVerificationNode[] = [];
|
|
184
136
|
// Storage-type findings dispatch through the same control policy as tables
|
|
185
137
|
// and columns: each issue's disposition (fail / warn / suppress) is resolved
|
|
@@ -233,29 +185,6 @@ export function verifySqlSchema(options: VerifySqlSchemaOptions): VerifyDatabase
|
|
|
233
185
|
}
|
|
234
186
|
}
|
|
235
187
|
|
|
236
|
-
// Namespace-scoped enums, verified per `(namespaceId, typeName)`.
|
|
237
|
-
for (const nsId of Object.keys(contract.storage.namespaces)) {
|
|
238
|
-
const ns = contract.storage.namespaces[nsId];
|
|
239
|
-
if (!ns) continue;
|
|
240
|
-
const nsEnums = ns.entries['type'];
|
|
241
|
-
if (!nsEnums) continue;
|
|
242
|
-
for (const [typeName, entry] of Object.entries(nsEnums)) {
|
|
243
|
-
if (!isPostgresEnumStorageEntry(entry)) continue;
|
|
244
|
-
pushTypeNode(
|
|
245
|
-
typeName,
|
|
246
|
-
`storage.namespaces.${nsId}.entries.type.${typeName}`,
|
|
247
|
-
verifyEnumType({
|
|
248
|
-
typeName,
|
|
249
|
-
typeInstance: entry,
|
|
250
|
-
schema,
|
|
251
|
-
resolveExistingEnumValues,
|
|
252
|
-
namespaceId: nsId,
|
|
253
|
-
}),
|
|
254
|
-
effectiveControlPolicy(entry.control, contract.defaultControlPolicy),
|
|
255
|
-
);
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
|
|
259
188
|
if (typeNodes.length > 0) {
|
|
260
189
|
const typesStatus: VerificationStatus = typeNodes.some((n) => n.status === 'fail')
|
|
261
190
|
? 'fail'
|
|
@@ -321,63 +250,6 @@ export function verifySqlSchema(options: VerifySqlSchemaOptions): VerifyDatabase
|
|
|
321
250
|
};
|
|
322
251
|
}
|
|
323
252
|
|
|
324
|
-
/**
|
|
325
|
-
* Native verification walk for `PostgresEnumStorageEntry` instances (no codec hook).
|
|
326
|
-
*
|
|
327
|
-
* Bridges the native `PostgresEnumStorageEntry.values` against the introspected schema
|
|
328
|
-
* IR via the target-supplied `resolveExistingEnumValues` adapter. Without an
|
|
329
|
-
* adapter, the verifier conservatively reports the enum as missing — there
|
|
330
|
-
* is no other way for the family layer to learn about live enum types.
|
|
331
|
-
*/
|
|
332
|
-
function verifyEnumType(options: {
|
|
333
|
-
readonly typeName: string;
|
|
334
|
-
readonly typeInstance: PostgresEnumStorageEntry;
|
|
335
|
-
readonly schema: SqlSchemaIR;
|
|
336
|
-
readonly namespaceId: string;
|
|
337
|
-
readonly resolveExistingEnumValues?:
|
|
338
|
-
| ((
|
|
339
|
-
schema: SqlSchemaIR,
|
|
340
|
-
enumType: PostgresEnumStorageEntry,
|
|
341
|
-
namespaceId: string,
|
|
342
|
-
) => readonly string[] | null)
|
|
343
|
-
| undefined;
|
|
344
|
-
}): readonly SchemaIssue[] {
|
|
345
|
-
const { typeName, typeInstance, schema, namespaceId, resolveExistingEnumValues } = options;
|
|
346
|
-
const desired = typeInstance.values;
|
|
347
|
-
const existing = resolveExistingEnumValues?.(schema, typeInstance, namespaceId) ?? null;
|
|
348
|
-
if (!existing) {
|
|
349
|
-
return [
|
|
350
|
-
{
|
|
351
|
-
kind: 'type_missing',
|
|
352
|
-
typeName,
|
|
353
|
-
namespaceId,
|
|
354
|
-
message: `Type "${typeName}" is missing from database`,
|
|
355
|
-
},
|
|
356
|
-
];
|
|
357
|
-
}
|
|
358
|
-
if (arraysEqual(existing, desired)) {
|
|
359
|
-
return [];
|
|
360
|
-
}
|
|
361
|
-
const existingSet = new Set(existing);
|
|
362
|
-
const desiredSet = new Set(desired);
|
|
363
|
-
const addedValues = desired.filter((v) => !existingSet.has(v));
|
|
364
|
-
const removedValues = existing.filter((v) => !desiredSet.has(v));
|
|
365
|
-
const message =
|
|
366
|
-
removedValues.length === 0
|
|
367
|
-
? `Enum type "${typeName}" needs new values: ${addedValues.join(', ')}`
|
|
368
|
-
: `Enum type "${typeName}" values changed (requires rebuild): +[${addedValues.join(', ')}] -[${removedValues.join(', ')}]`;
|
|
369
|
-
return [
|
|
370
|
-
{
|
|
371
|
-
kind: 'enum_values_changed' as const,
|
|
372
|
-
namespaceId,
|
|
373
|
-
typeName,
|
|
374
|
-
addedValues,
|
|
375
|
-
removedValues,
|
|
376
|
-
message,
|
|
377
|
-
},
|
|
378
|
-
];
|
|
379
|
-
}
|
|
380
|
-
|
|
381
253
|
function extractContractMetadata(contract: Contract<SqlStorage>): {
|
|
382
254
|
contractStorageHash: SqlStorage['storageHash'];
|
|
383
255
|
contractProfileHash?: Contract<SqlStorage>['profileHash'] | undefined;
|
|
@@ -399,7 +271,7 @@ function verifySchemaTables(options: {
|
|
|
399
271
|
strict: boolean;
|
|
400
272
|
typeMetadataRegistry: ReadonlyMap<string, { nativeType?: string }>;
|
|
401
273
|
codecHooks: Map<string, CodecControlHooks>;
|
|
402
|
-
storageTypes: Readonly<Record<string, StorageTypeInstance
|
|
274
|
+
storageTypes: Readonly<Record<string, StorageTypeInstance>>;
|
|
403
275
|
normalizeDefault?: DefaultNormalizer;
|
|
404
276
|
normalizeNativeType?: NativeTypeNormalizer;
|
|
405
277
|
}): { issues: SchemaIssue[]; rootChildren: SchemaVerificationNode[] } {
|
|
@@ -424,7 +296,7 @@ function verifySchemaTables(options: {
|
|
|
424
296
|
for (const namespaceId of namespaceIds) {
|
|
425
297
|
const ns = contract.storage.namespaces[namespaceId];
|
|
426
298
|
if (!ns) continue;
|
|
427
|
-
for (const [tableName, contractTableRaw] of Object.entries(ns.entries.table)) {
|
|
299
|
+
for (const [tableName, contractTableRaw] of Object.entries(ns.entries.table ?? {})) {
|
|
428
300
|
if (!(contractTableRaw instanceof StorageTable)) {
|
|
429
301
|
throw new Error(
|
|
430
302
|
`verifySqlSchema: expected StorageTable at storage.namespaces.${namespaceId}.entries.table.${tableName}`,
|
|
@@ -489,7 +361,7 @@ function verifySchemaTables(options: {
|
|
|
489
361
|
for (const tableName of Object.keys(schemaTables)) {
|
|
490
362
|
const claimed = namespaceIds.some(
|
|
491
363
|
(namespaceId) =>
|
|
492
|
-
contract.storage.namespaces[namespaceId]?.entries.table[tableName] !== undefined,
|
|
364
|
+
contract.storage.namespaces[namespaceId]?.entries.table?.[tableName] !== undefined,
|
|
493
365
|
);
|
|
494
366
|
if (!claimed) {
|
|
495
367
|
const extraTableControlPolicy = effectiveControlPolicy(undefined, contractDefaultControl);
|
|
@@ -533,7 +405,7 @@ function verifyTableChildren(options: {
|
|
|
533
405
|
strict: boolean;
|
|
534
406
|
typeMetadataRegistry: ReadonlyMap<string, { nativeType?: string }>;
|
|
535
407
|
codecHooks: Map<string, CodecControlHooks>;
|
|
536
|
-
storageTypes: Readonly<Record<string, StorageTypeInstance
|
|
408
|
+
storageTypes: Readonly<Record<string, StorageTypeInstance>>;
|
|
537
409
|
normalizeDefault?: DefaultNormalizer;
|
|
538
410
|
normalizeNativeType?: NativeTypeNormalizer;
|
|
539
411
|
contractStorage: SqlStorage;
|
|
@@ -717,7 +589,6 @@ function verifyTableChildren(options: {
|
|
|
717
589
|
// Verify check constraints when the contract declares checks for this table OR
|
|
718
590
|
// when strict mode is on (so extra live checks on zero-check tables are detected).
|
|
719
591
|
// schemaTable.checks carries the introspected live checks (parsed value sets).
|
|
720
|
-
// This call is additive: verifyEnumType (the native enum path) is untouched.
|
|
721
592
|
const contractCheckIRs = (contractTable.checks ?? []).map((c) => ({
|
|
722
593
|
name: c.name,
|
|
723
594
|
column: c.column,
|
|
@@ -751,7 +622,7 @@ function collectContractColumnNodes(options: {
|
|
|
751
622
|
strict: boolean;
|
|
752
623
|
typeMetadataRegistry: ReadonlyMap<string, { nativeType?: string }>;
|
|
753
624
|
codecHooks: Map<string, CodecControlHooks>;
|
|
754
|
-
storageTypes: Readonly<Record<string, StorageTypeInstance
|
|
625
|
+
storageTypes: Readonly<Record<string, StorageTypeInstance>>;
|
|
755
626
|
normalizeDefault?: DefaultNormalizer;
|
|
756
627
|
normalizeNativeType?: NativeTypeNormalizer;
|
|
757
628
|
}): SchemaVerificationNode[] {
|
|
@@ -889,7 +760,7 @@ function verifyColumn(options: {
|
|
|
889
760
|
strict: boolean;
|
|
890
761
|
typeMetadataRegistry: ReadonlyMap<string, { nativeType?: string }>;
|
|
891
762
|
codecHooks: Map<string, CodecControlHooks>;
|
|
892
|
-
storageTypes: Readonly<Record<string, StorageTypeInstance
|
|
763
|
+
storageTypes: Readonly<Record<string, StorageTypeInstance>>;
|
|
893
764
|
normalizeDefault?: DefaultNormalizer;
|
|
894
765
|
normalizeNativeType?: NativeTypeNormalizer;
|
|
895
766
|
}): SchemaVerificationNode {
|
|
@@ -1260,7 +1131,7 @@ function validateFrameworkComponentsForExtensions(
|
|
|
1260
1131
|
*/
|
|
1261
1132
|
function renderExpectedNativeType(
|
|
1262
1133
|
contractColumn: StorageColumn,
|
|
1263
|
-
storageTypes: Readonly<Record<string, StorageTypeInstance
|
|
1134
|
+
storageTypes: Readonly<Record<string, StorageTypeInstance>>,
|
|
1264
1135
|
codecHooks: Map<string, CodecControlHooks>,
|
|
1265
1136
|
context?: {
|
|
1266
1137
|
readonly tableName: string;
|
|
@@ -1290,7 +1161,7 @@ function renderExpectedNativeType(
|
|
|
1290
1161
|
|
|
1291
1162
|
function resolveContractColumnTypeMetadata(
|
|
1292
1163
|
contractColumn: StorageColumn,
|
|
1293
|
-
storageTypes: Readonly<Record<string, StorageTypeInstance
|
|
1164
|
+
storageTypes: Readonly<Record<string, StorageTypeInstance>>,
|
|
1294
1165
|
context?: {
|
|
1295
1166
|
readonly tableName: string;
|
|
1296
1167
|
readonly columnName: string;
|
|
@@ -1310,13 +1181,6 @@ function resolveContractColumnTypeMetadata(
|
|
|
1310
1181
|
);
|
|
1311
1182
|
}
|
|
1312
1183
|
|
|
1313
|
-
if (isPostgresEnumStorageEntry(referencedType)) {
|
|
1314
|
-
return {
|
|
1315
|
-
codecId: referencedType.codecId,
|
|
1316
|
-
nativeType: referencedType.nativeType,
|
|
1317
|
-
typeParams: { values: referencedType.values } as Record<string, unknown>,
|
|
1318
|
-
};
|
|
1319
|
-
}
|
|
1320
1184
|
if (isStorageTypeInstance(referencedType)) {
|
|
1321
1185
|
return {
|
|
1322
1186
|
codecId: referencedType.codecId,
|
|
@@ -1325,7 +1189,7 @@ function resolveContractColumnTypeMetadata(
|
|
|
1325
1189
|
};
|
|
1326
1190
|
}
|
|
1327
1191
|
throw new Error(
|
|
1328
|
-
`Storage type "${contractColumn.typeRef}" has an unknown
|
|
1192
|
+
`Storage type "${contractColumn.typeRef}" has an unknown kind; expected a codec-typed StorageTypeInstance.`,
|
|
1329
1193
|
);
|
|
1330
1194
|
}
|
|
1331
1195
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { deriveProvidedInvariants } from '@prisma-next/migration-tools/invariants';
|
|
2
2
|
import { Migration } from '@prisma-next/migration-tools/migration';
|
|
3
|
+
import { isThenable } from '@prisma-next/utils/promise';
|
|
3
4
|
import type { SqlMigrationPlanOperation, SqlPlanTargetDetails } from './migrations/types';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -31,6 +32,9 @@ export abstract class SqlMigration<
|
|
|
31
32
|
* `MigrationPlan.providedInvariants?` stays optional.
|
|
32
33
|
*/
|
|
33
34
|
get providedInvariants(): readonly string[] {
|
|
34
|
-
|
|
35
|
+
const ops = this.operations.filter(
|
|
36
|
+
(op): op is SqlMigrationPlanOperation<TDetails> => !isThenable(op),
|
|
37
|
+
);
|
|
38
|
+
return deriveProvidedInvariants(ops);
|
|
35
39
|
}
|
|
36
40
|
}
|
package/src/exports/control.ts
CHANGED
|
@@ -17,7 +17,7 @@ export type { SqlControlFamilyInstance } from '../core/control-instance';
|
|
|
17
17
|
export type {
|
|
18
18
|
ContractToSchemaIROptions,
|
|
19
19
|
DefaultRenderer,
|
|
20
|
-
|
|
20
|
+
EnumNamespaceSchemaResolver,
|
|
21
21
|
NativeTypeExpander,
|
|
22
22
|
} from '../core/migrations/contract-to-schema-ir';
|
|
23
23
|
// Contract → SchemaIR conversion for offline migration planning
|
package/src/exports/pack.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { FamilyPackRef } from '@prisma-next/framework-components/components';
|
|
2
|
+
import { sqlFamilyEntityTypes, sqlFamilyPslBlockDescriptors } from '../core/authoring-entity-types';
|
|
2
3
|
import { sqlFamilyAuthoringFieldPresets } from '../core/authoring-field-presets';
|
|
3
4
|
import { sqlFamilyAuthoringTypes } from '../core/authoring-type-constructors';
|
|
4
5
|
|
|
@@ -10,6 +11,8 @@ const sqlFamilyPack = {
|
|
|
10
11
|
authoring: {
|
|
11
12
|
field: sqlFamilyAuthoringFieldPresets,
|
|
12
13
|
type: sqlFamilyAuthoringTypes,
|
|
14
|
+
entityTypes: sqlFamilyEntityTypes,
|
|
15
|
+
pslBlockDescriptors: sqlFamilyPslBlockDescriptors,
|
|
13
16
|
},
|
|
14
17
|
} as const satisfies FamilyPackRef<'sql'>;
|
|
15
18
|
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
//#region src/core/authoring-field-presets.ts
|
|
2
|
-
/**
|
|
3
|
-
* Family-level SQL authoring field presets.
|
|
4
|
-
*
|
|
5
|
-
* Only presets whose codec IDs align with the ID generator metadata live here
|
|
6
|
-
* (see `@prisma-next/ids`). These presets are target-agnostic because the
|
|
7
|
-
* generator metadata fixes their codec/native-type to `sql/char@1`
|
|
8
|
-
* (`character`) regardless of target, and the PSL interpreter lets the
|
|
9
|
-
* generator override the scalar descriptor.
|
|
10
|
-
*
|
|
11
|
-
* Scalar presets that map to target-specific codecs (e.g. `text`, `int`,
|
|
12
|
-
* `boolean`, `dateTime`) are contributed by the target pack (see
|
|
13
|
-
* `postgresAuthoringFieldPresets` in `@prisma-next/target-postgres`) so the
|
|
14
|
-
* TS callback surface and the PSL scalar surface lower to byte-identical
|
|
15
|
-
* contracts for the active target.
|
|
16
|
-
*/
|
|
17
|
-
const CHARACTER_CODEC_ID = "sql/char@1";
|
|
18
|
-
const CHARACTER_NATIVE_TYPE = "character";
|
|
19
|
-
const nanoidOptionsArgument = {
|
|
20
|
-
kind: "object",
|
|
21
|
-
optional: true,
|
|
22
|
-
properties: { size: {
|
|
23
|
-
kind: "number",
|
|
24
|
-
optional: true,
|
|
25
|
-
integer: true,
|
|
26
|
-
minimum: 2,
|
|
27
|
-
maximum: 255
|
|
28
|
-
} }
|
|
29
|
-
};
|
|
30
|
-
const sqlFamilyAuthoringFieldPresets = {
|
|
31
|
-
uuid: {
|
|
32
|
-
kind: "fieldPreset",
|
|
33
|
-
output: {
|
|
34
|
-
codecId: CHARACTER_CODEC_ID,
|
|
35
|
-
nativeType: CHARACTER_NATIVE_TYPE,
|
|
36
|
-
typeParams: { length: 36 }
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
ulid: {
|
|
40
|
-
kind: "fieldPreset",
|
|
41
|
-
output: {
|
|
42
|
-
codecId: CHARACTER_CODEC_ID,
|
|
43
|
-
nativeType: CHARACTER_NATIVE_TYPE,
|
|
44
|
-
typeParams: { length: 26 }
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
nanoid: {
|
|
48
|
-
kind: "fieldPreset",
|
|
49
|
-
args: [nanoidOptionsArgument],
|
|
50
|
-
output: {
|
|
51
|
-
codecId: CHARACTER_CODEC_ID,
|
|
52
|
-
nativeType: CHARACTER_NATIVE_TYPE,
|
|
53
|
-
typeParams: { length: {
|
|
54
|
-
kind: "arg",
|
|
55
|
-
index: 0,
|
|
56
|
-
path: ["size"],
|
|
57
|
-
default: 21
|
|
58
|
-
} }
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
cuid2: {
|
|
62
|
-
kind: "fieldPreset",
|
|
63
|
-
output: {
|
|
64
|
-
codecId: CHARACTER_CODEC_ID,
|
|
65
|
-
nativeType: CHARACTER_NATIVE_TYPE,
|
|
66
|
-
typeParams: { length: 24 }
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
ksuid: {
|
|
70
|
-
kind: "fieldPreset",
|
|
71
|
-
output: {
|
|
72
|
-
codecId: CHARACTER_CODEC_ID,
|
|
73
|
-
nativeType: CHARACTER_NATIVE_TYPE,
|
|
74
|
-
typeParams: { length: 27 }
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
id: {
|
|
78
|
-
uuidv4: {
|
|
79
|
-
kind: "fieldPreset",
|
|
80
|
-
output: {
|
|
81
|
-
codecId: CHARACTER_CODEC_ID,
|
|
82
|
-
nativeType: CHARACTER_NATIVE_TYPE,
|
|
83
|
-
typeParams: { length: 36 },
|
|
84
|
-
executionDefaults: { onCreate: {
|
|
85
|
-
kind: "generator",
|
|
86
|
-
id: "uuidv4"
|
|
87
|
-
} },
|
|
88
|
-
id: true
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
uuidv7: {
|
|
92
|
-
kind: "fieldPreset",
|
|
93
|
-
output: {
|
|
94
|
-
codecId: CHARACTER_CODEC_ID,
|
|
95
|
-
nativeType: CHARACTER_NATIVE_TYPE,
|
|
96
|
-
typeParams: { length: 36 },
|
|
97
|
-
executionDefaults: { onCreate: {
|
|
98
|
-
kind: "generator",
|
|
99
|
-
id: "uuidv7"
|
|
100
|
-
} },
|
|
101
|
-
id: true
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
ulid: {
|
|
105
|
-
kind: "fieldPreset",
|
|
106
|
-
output: {
|
|
107
|
-
codecId: CHARACTER_CODEC_ID,
|
|
108
|
-
nativeType: CHARACTER_NATIVE_TYPE,
|
|
109
|
-
typeParams: { length: 26 },
|
|
110
|
-
executionDefaults: { onCreate: {
|
|
111
|
-
kind: "generator",
|
|
112
|
-
id: "ulid"
|
|
113
|
-
} },
|
|
114
|
-
id: true
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
nanoid: {
|
|
118
|
-
kind: "fieldPreset",
|
|
119
|
-
args: [nanoidOptionsArgument],
|
|
120
|
-
output: {
|
|
121
|
-
codecId: CHARACTER_CODEC_ID,
|
|
122
|
-
nativeType: CHARACTER_NATIVE_TYPE,
|
|
123
|
-
typeParams: { length: {
|
|
124
|
-
kind: "arg",
|
|
125
|
-
index: 0,
|
|
126
|
-
path: ["size"],
|
|
127
|
-
default: 21
|
|
128
|
-
} },
|
|
129
|
-
executionDefaults: { onCreate: {
|
|
130
|
-
kind: "generator",
|
|
131
|
-
id: "nanoid",
|
|
132
|
-
params: { size: {
|
|
133
|
-
kind: "arg",
|
|
134
|
-
index: 0,
|
|
135
|
-
path: ["size"]
|
|
136
|
-
} }
|
|
137
|
-
} },
|
|
138
|
-
id: true
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
cuid2: {
|
|
142
|
-
kind: "fieldPreset",
|
|
143
|
-
output: {
|
|
144
|
-
codecId: CHARACTER_CODEC_ID,
|
|
145
|
-
nativeType: CHARACTER_NATIVE_TYPE,
|
|
146
|
-
typeParams: { length: 24 },
|
|
147
|
-
executionDefaults: { onCreate: {
|
|
148
|
-
kind: "generator",
|
|
149
|
-
id: "cuid2"
|
|
150
|
-
} },
|
|
151
|
-
id: true
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
ksuid: {
|
|
155
|
-
kind: "fieldPreset",
|
|
156
|
-
output: {
|
|
157
|
-
codecId: CHARACTER_CODEC_ID,
|
|
158
|
-
nativeType: CHARACTER_NATIVE_TYPE,
|
|
159
|
-
typeParams: { length: 27 },
|
|
160
|
-
executionDefaults: { onCreate: {
|
|
161
|
-
kind: "generator",
|
|
162
|
-
id: "ksuid"
|
|
163
|
-
} },
|
|
164
|
-
id: true
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
//#endregion
|
|
170
|
-
//#region src/core/authoring-type-constructors.ts
|
|
171
|
-
const sqlFamilyAuthoringTypes = { sql: { String: {
|
|
172
|
-
kind: "typeConstructor",
|
|
173
|
-
args: [{
|
|
174
|
-
kind: "number",
|
|
175
|
-
name: "length",
|
|
176
|
-
integer: true,
|
|
177
|
-
minimum: 1,
|
|
178
|
-
maximum: 10485760
|
|
179
|
-
}],
|
|
180
|
-
output: {
|
|
181
|
-
codecId: "sql/varchar@1",
|
|
182
|
-
nativeType: "character varying",
|
|
183
|
-
typeParams: { length: {
|
|
184
|
-
kind: "arg",
|
|
185
|
-
index: 0
|
|
186
|
-
} }
|
|
187
|
-
}
|
|
188
|
-
} } };
|
|
189
|
-
//#endregion
|
|
190
|
-
export { sqlFamilyAuthoringFieldPresets as n, sqlFamilyAuthoringTypes as t };
|
|
191
|
-
|
|
192
|
-
//# sourceMappingURL=authoring-type-constructors-D4lQ-qpj.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authoring-type-constructors-D4lQ-qpj.mjs","names":[],"sources":["../src/core/authoring-field-presets.ts","../src/core/authoring-type-constructors.ts"],"sourcesContent":["import type { AuthoringFieldNamespace } from '@prisma-next/framework-components/authoring';\n\n/**\n * Family-level SQL authoring field presets.\n *\n * Only presets whose codec IDs align with the ID generator metadata live here\n * (see `@prisma-next/ids`). These presets are target-agnostic because the\n * generator metadata fixes their codec/native-type to `sql/char@1`\n * (`character`) regardless of target, and the PSL interpreter lets the\n * generator override the scalar descriptor.\n *\n * Scalar presets that map to target-specific codecs (e.g. `text`, `int`,\n * `boolean`, `dateTime`) are contributed by the target pack (see\n * `postgresAuthoringFieldPresets` in `@prisma-next/target-postgres`) so the\n * TS callback surface and the PSL scalar surface lower to byte-identical\n * contracts for the active target.\n */\n\nconst CHARACTER_CODEC_ID = 'sql/char@1';\nconst CHARACTER_NATIVE_TYPE = 'character';\n\nconst nanoidOptionsArgument = {\n kind: 'object',\n optional: true,\n properties: {\n size: {\n kind: 'number',\n optional: true,\n integer: true,\n minimum: 2,\n maximum: 255,\n },\n },\n} as const;\n\nexport const sqlFamilyAuthoringFieldPresets = {\n uuid: {\n kind: 'fieldPreset',\n output: {\n codecId: CHARACTER_CODEC_ID,\n nativeType: CHARACTER_NATIVE_TYPE,\n typeParams: {\n length: 36,\n },\n },\n },\n ulid: {\n kind: 'fieldPreset',\n output: {\n codecId: CHARACTER_CODEC_ID,\n nativeType: CHARACTER_NATIVE_TYPE,\n typeParams: {\n length: 26,\n },\n },\n },\n nanoid: {\n kind: 'fieldPreset',\n args: [nanoidOptionsArgument],\n output: {\n codecId: CHARACTER_CODEC_ID,\n nativeType: CHARACTER_NATIVE_TYPE,\n typeParams: {\n length: {\n kind: 'arg',\n index: 0,\n path: ['size'],\n default: 21,\n },\n },\n },\n },\n cuid2: {\n kind: 'fieldPreset',\n output: {\n codecId: CHARACTER_CODEC_ID,\n nativeType: CHARACTER_NATIVE_TYPE,\n typeParams: {\n length: 24,\n },\n },\n },\n ksuid: {\n kind: 'fieldPreset',\n output: {\n codecId: CHARACTER_CODEC_ID,\n nativeType: CHARACTER_NATIVE_TYPE,\n typeParams: {\n length: 27,\n },\n },\n },\n id: {\n uuidv4: {\n kind: 'fieldPreset',\n output: {\n codecId: CHARACTER_CODEC_ID,\n nativeType: CHARACTER_NATIVE_TYPE,\n typeParams: {\n length: 36,\n },\n executionDefaults: {\n onCreate: {\n kind: 'generator',\n id: 'uuidv4',\n },\n },\n id: true,\n },\n },\n uuidv7: {\n kind: 'fieldPreset',\n output: {\n codecId: CHARACTER_CODEC_ID,\n nativeType: CHARACTER_NATIVE_TYPE,\n typeParams: {\n length: 36,\n },\n executionDefaults: {\n onCreate: {\n kind: 'generator',\n id: 'uuidv7',\n },\n },\n id: true,\n },\n },\n ulid: {\n kind: 'fieldPreset',\n output: {\n codecId: CHARACTER_CODEC_ID,\n nativeType: CHARACTER_NATIVE_TYPE,\n typeParams: {\n length: 26,\n },\n executionDefaults: {\n onCreate: {\n kind: 'generator',\n id: 'ulid',\n },\n },\n id: true,\n },\n },\n nanoid: {\n kind: 'fieldPreset',\n args: [nanoidOptionsArgument],\n output: {\n codecId: CHARACTER_CODEC_ID,\n nativeType: CHARACTER_NATIVE_TYPE,\n typeParams: {\n length: {\n kind: 'arg',\n index: 0,\n path: ['size'],\n default: 21,\n },\n },\n executionDefaults: {\n onCreate: {\n kind: 'generator',\n id: 'nanoid',\n params: {\n size: {\n kind: 'arg',\n index: 0,\n path: ['size'],\n },\n },\n },\n },\n id: true,\n },\n },\n cuid2: {\n kind: 'fieldPreset',\n output: {\n codecId: CHARACTER_CODEC_ID,\n nativeType: CHARACTER_NATIVE_TYPE,\n typeParams: {\n length: 24,\n },\n executionDefaults: {\n onCreate: {\n kind: 'generator',\n id: 'cuid2',\n },\n },\n id: true,\n },\n },\n ksuid: {\n kind: 'fieldPreset',\n output: {\n codecId: CHARACTER_CODEC_ID,\n nativeType: CHARACTER_NATIVE_TYPE,\n typeParams: {\n length: 27,\n },\n executionDefaults: {\n onCreate: {\n kind: 'generator',\n id: 'ksuid',\n },\n },\n id: true,\n },\n },\n },\n} as const satisfies AuthoringFieldNamespace;\n","import type { AuthoringTypeNamespace } from '@prisma-next/framework-components/authoring';\n\nexport const sqlFamilyAuthoringTypes = {\n sql: {\n String: {\n kind: 'typeConstructor',\n args: [{ kind: 'number', name: 'length', integer: true, minimum: 1, maximum: 10485760 }],\n output: {\n codecId: 'sql/varchar@1',\n nativeType: 'character varying',\n typeParams: {\n length: { kind: 'arg', index: 0 },\n },\n },\n },\n },\n} as const satisfies AuthoringTypeNamespace;\n"],"mappings":";;;;;;;;;;;;;;;;AAkBA,MAAM,qBAAqB;AAC3B,MAAM,wBAAwB;AAE9B,MAAM,wBAAwB;CAC5B,MAAM;CACN,UAAU;CACV,YAAY,EACV,MAAM;EACJ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,SAAS;CACX,EACF;AACF;AAEA,MAAa,iCAAiC;CAC5C,MAAM;EACJ,MAAM;EACN,QAAQ;GACN,SAAS;GACT,YAAY;GACZ,YAAY,EACV,QAAQ,GACV;EACF;CACF;CACA,MAAM;EACJ,MAAM;EACN,QAAQ;GACN,SAAS;GACT,YAAY;GACZ,YAAY,EACV,QAAQ,GACV;EACF;CACF;CACA,QAAQ;EACN,MAAM;EACN,MAAM,CAAC,qBAAqB;EAC5B,QAAQ;GACN,SAAS;GACT,YAAY;GACZ,YAAY,EACV,QAAQ;IACN,MAAM;IACN,OAAO;IACP,MAAM,CAAC,MAAM;IACb,SAAS;GACX,EACF;EACF;CACF;CACA,OAAO;EACL,MAAM;EACN,QAAQ;GACN,SAAS;GACT,YAAY;GACZ,YAAY,EACV,QAAQ,GACV;EACF;CACF;CACA,OAAO;EACL,MAAM;EACN,QAAQ;GACN,SAAS;GACT,YAAY;GACZ,YAAY,EACV,QAAQ,GACV;EACF;CACF;CACA,IAAI;EACF,QAAQ;GACN,MAAM;GACN,QAAQ;IACN,SAAS;IACT,YAAY;IACZ,YAAY,EACV,QAAQ,GACV;IACA,mBAAmB,EACjB,UAAU;KACR,MAAM;KACN,IAAI;IACN,EACF;IACA,IAAI;GACN;EACF;EACA,QAAQ;GACN,MAAM;GACN,QAAQ;IACN,SAAS;IACT,YAAY;IACZ,YAAY,EACV,QAAQ,GACV;IACA,mBAAmB,EACjB,UAAU;KACR,MAAM;KACN,IAAI;IACN,EACF;IACA,IAAI;GACN;EACF;EACA,MAAM;GACJ,MAAM;GACN,QAAQ;IACN,SAAS;IACT,YAAY;IACZ,YAAY,EACV,QAAQ,GACV;IACA,mBAAmB,EACjB,UAAU;KACR,MAAM;KACN,IAAI;IACN,EACF;IACA,IAAI;GACN;EACF;EACA,QAAQ;GACN,MAAM;GACN,MAAM,CAAC,qBAAqB;GAC5B,QAAQ;IACN,SAAS;IACT,YAAY;IACZ,YAAY,EACV,QAAQ;KACN,MAAM;KACN,OAAO;KACP,MAAM,CAAC,MAAM;KACb,SAAS;IACX,EACF;IACA,mBAAmB,EACjB,UAAU;KACR,MAAM;KACN,IAAI;KACJ,QAAQ,EACN,MAAM;MACJ,MAAM;MACN,OAAO;MACP,MAAM,CAAC,MAAM;KACf,EACF;IACF,EACF;IACA,IAAI;GACN;EACF;EACA,OAAO;GACL,MAAM;GACN,QAAQ;IACN,SAAS;IACT,YAAY;IACZ,YAAY,EACV,QAAQ,GACV;IACA,mBAAmB,EACjB,UAAU;KACR,MAAM;KACN,IAAI;IACN,EACF;IACA,IAAI;GACN;EACF;EACA,OAAO;GACL,MAAM;GACN,QAAQ;IACN,SAAS;IACT,YAAY;IACZ,YAAY,EACV,QAAQ,GACV;IACA,mBAAmB,EACjB,UAAU;KACR,MAAM;KACN,IAAI;IACN,EACF;IACA,IAAI;GACN;EACF;CACF;AACF;;;AC/MA,MAAa,0BAA0B,EACrC,KAAK,EACH,QAAQ;CACN,MAAM;CACN,MAAM,CAAC;EAAE,MAAM;EAAU,MAAM;EAAU,SAAS;EAAM,SAAS;EAAG,SAAS;CAAS,CAAC;CACvF,QAAQ;EACN,SAAS;EACT,YAAY;EACZ,YAAY,EACV,QAAQ;GAAE,MAAM;GAAO,OAAO;EAAE,EAClC;CACF;AACF,EACF,EACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"control-adapter-CgIL9Vtx.d.mts","names":[],"sources":["../src/core/control-adapter.ts"],"mappings":";;;;;;;;;;AA8BA;;;;;UAAiB,OAAA;EACf,KAAA,CAAM,GAAA,EAAK,WAAA,GAAc,OAAA,EAAS,OAAA,EAAS,cAAA,YAA0B,gBAAA;AAAA;;;;;;;UAStD,iBAAA,0CACP,sBAAA,QAA8B,OAAA;EAV+B;;AAAgB;AASvF;;;;;;;;;;;;EAiBE,UAAA,CACE,MAAA,EAAQ,wBAAA,CAAyB,OAAA,GACjC,KAAA,WACC,OAAA,CAAQ,oBAAA;EAkBwB;;;;;;;EATnC,cAAA,CACE,MAAA,EAAQ,wBAAA,CAAyB,OAAA,IAChC,OAAA,CAAQ,WAAA,SAAoB,oBAAA;EAkCrB;;;;EA5BV,UAAA,CACE,MAAA,EAAQ,wBAAA,CAAyB,OAAA,GACjC,KAAA,YACC,OAAA,UAAiB,iBAAA;EA2De;;;;;;EAnDnC,YAAA,CACE,MAAA,EAAQ,wBAAA,CAAyB,OAAA,GACjC,KAAA,UACA,WAAA;IAAA,SACW,WAAA;IAAA,SACA,WAAA;IAAA,SACA,UAAA;EAAA,IAEV,OAAA;EA2GkB;;;;;;EAnGrB,UAAA,CACE,MAAA,EAAQ,wBAAA,CAAyB,OAAA,GACjC,KAAA,UACA,WAAA;IAAA,SACW,WAAA;IAAA,SACA,WAAA;IAAA,SACA,UAAA;EAAA,IAEV,OAAA;EAvE2B;;;;;;;EAgF9B,YAAA,CACE,MAAA,EAAQ,wBAAA,CAAyB,OAAA,GACjC,KAAA,UACA,YAAA,UACA,WAAA;IAAA,SACW,WAAA;IAAA,SACA,WAAA;IAAA,SACA,UAAA;EAAA,IAEV,OAAA;EA7DH;;;;;;EAqEA,gBAAA,CACE,MAAA,EAAQ,wBAAA,CAAyB,OAAA,GACjC,KAAA,UACA,KAAA;IAAA,SACW,MAAA;IAAA,SACA,IAAA;IAAA,SACA,EAAA;IAAA,SACA,aAAA;IAAA,SACA,aAAA;IAAA,SACA,UAAA;EAAA,IAEV,OAAA;EA7DH;;;;;;;;;;;;EA2EA,UAAA,CACE,MAAA,EAAQ,wBAAA,CAAyB,OAAA,GACjC,QAAA,YACA,MAAA,YACC,OAAA,CAAQ,WAAA;EA9DT;;;;;EAAA,SAqEO,gBAAA,GAAmB,iBAAA;EA9DzB;;;;;EAAA,SAqEM,mBAAA,GAAsB,oBAAA;EAzD7B;;;;;;;;EAAA,SAmEO,yBAAA,IACP,MAAA,EAAQ,WAAA,EACR,QAAA,EAAU,wBAAA,EACV,WAAA;EAvDA;;;;;;EAAA,SA+DO,oCAAA,IACP,QAAA,EAAU,QAAA,CAAS,UAAA,OAEnB,MAAA,EAAQ,WAAA,EACR,QAAA,EAAU,wBAAA,EACV,WAAA;EA5DW;;;;EAmEb,4BAAA,aAAyC,OAAA;EAlDN;;;;EAwDnC,0BAAA,aAAuC,OAAA;EArD5B;;;;;;;;;EAgEX,KAAA,CAAM,GAAA,EAAK,WAAA,GAAc,OAAA,EAAS,OAAA,EAAS,cAAA,YAA0B,gBAAA;AAAA;;;;;;;UAStD,2BAAA;EAlCb;;;;;;EAyCF,MAAA,CAAO,KAAA,EAAO,YAAA,QAAoB,OAAA,IAAW,iBAAA,CAAkB,OAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sql-contract-serializer-CY7qnms7.mjs","names":[],"sources":["../src/core/ir/sql-contract-serializer-base.ts","../src/core/ir/sql-contract-serializer.ts"],"sourcesContent":["import { ContractValidationError } from '@prisma-next/contract/contract-validation-error';\nimport type { Contract } from '@prisma-next/contract/types';\nimport type { ContractSerializer } from '@prisma-next/framework-components/control';\nimport {\n type Namespace,\n NamespaceBase,\n UNBOUND_NAMESPACE_ID,\n} from '@prisma-next/framework-components/ir';\nimport { sqlContractCanonicalizationHooks } from '@prisma-next/sql-contract/canonicalization-hooks';\nimport {\n buildSqlNamespace,\n type SqlNamespaceTablesInput,\n SqlStorage,\n type SqlStorageInput,\n type SqlStorageTypeEntry,\n SqlUnboundNamespace,\n StorageTable,\n type StorageTableInput,\n StorageValueSet,\n type StorageValueSetInput,\n} from '@prisma-next/sql-contract/types';\nimport {\n createSqlContractSchema,\n validateSqlContractFully,\n} from '@prisma-next/sql-contract/validators';\nimport { blindCast } from '@prisma-next/utils/casts';\nimport { ifDefined } from '@prisma-next/utils/defined';\nimport type { JsonObject } from '@prisma-next/utils/json';\nimport { type Type, type } from 'arktype';\n\nconst NamespaceRawSchema = type({\n id: 'string',\n 'kind?': 'string',\n entries: type({\n '+': 'ignore',\n }),\n});\n\nfunction isPlainRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nexport type SqlEntityHydrationFactory = (entry: unknown) => unknown;\n\n/**\n * SQL family `ContractSerializer` abstract base. Carries the SQL-shared\n * deserialization pipeline:\n *\n * 1. `parseSqlContractStructure` validates the on-disk JSON envelope\n * against the SQL contract arktype schema (`validateSqlContractFully`)\n * and returns the validated flat-data shape.\n * 2. `hydrateSqlStorage` walks the validated `storage` subtree and\n * constructs the family-shared SQL Contract IR class hierarchy\n * (`SqlStorage` -> `StorageTable` -> `StorageColumn` / `PrimaryKey`\n * / …). The rest of the contract envelope is JSON-clean primitive\n * data and passes through unchanged.\n * 3. `constructTargetContract` is the target-specific extension hook;\n * defaults to identity. Targets that need to attach target-only\n * fields (e.g. target-specific derived storage fields) override it.\n *\n * Default `serializeContract` is identity over the contract — concrete\n * SQL targets ship JSON-clean class instances, so the contract value\n * can be stringified directly. The non-enumerable family-level `kind`\n * discriminator on `SqlNode` instances stays out of the persisted\n * envelope automatically. Targets that need to canonicalize on the way\n * out (key ordering, dropping computed-only fields) override\n * `serializeContract` directly.\n */\nexport abstract class SqlContractSerializerBase<TContract extends Contract<SqlStorage>>\n implements ContractSerializer<TContract>\n{\n private readonly contractSchema: Type<unknown> | undefined;\n\n constructor(\n protected readonly entityTypeRegistry: ReadonlyMap<\n string,\n SqlEntityHydrationFactory\n > = new Map(),\n validatorFragments?: ReadonlyMap<string, Type<unknown>>,\n ) {\n // Only build a fragments-aware contract schema when pack contributions\n // exist. The cached module-level default in `validators.ts` covers the\n // no-contributions case and avoids per-instance schema compilation.\n this.contractSchema =\n validatorFragments !== undefined && validatorFragments.size > 0\n ? createSqlContractSchema(validatorFragments)\n : undefined;\n }\n\n deserializeContract<T extends TContract = TContract>(json: unknown): T {\n const validated = this.parseSqlContractStructure(json);\n const hydrated = this.hydrateSqlStorage(validated);\n return this.constructTargetContract(hydrated) as T;\n }\n\n serializeContract(contract: TContract): JsonObject {\n return contract as unknown as JsonObject;\n }\n\n shouldPreserveEmpty = sqlContractCanonicalizationHooks.shouldPreserveEmpty;\n\n sortStorage = sqlContractCanonicalizationHooks.sortStorage;\n\n protected parseSqlContractStructure(json: unknown): Contract<SqlStorage> {\n return validateSqlContractFully<Contract<SqlStorage>>(\n json,\n this.contractSchema !== undefined ? { contractSchema: this.contractSchema } : undefined,\n );\n }\n\n protected hydrateSqlStorage(validated: Contract<SqlStorage>): Contract<SqlStorage> {\n const types = validated.storage.types;\n const hydratedTypes =\n types !== undefined\n ? Object.fromEntries(\n Object.entries(types).map(([name, entry]) => [\n name,\n this.hydrateStorageTypeEntry(entry),\n ]),\n )\n : undefined;\n\n const rawNamespaces = validated.storage.namespaces;\n if (rawNamespaces === undefined) {\n throw new ContractValidationError(\n 'Contract storage.namespaces is required after structural validation',\n 'structural',\n );\n }\n const hydratedNamespaces = this.hydrateSqlNamespaceMap(rawNamespaces);\n // Compatibility shim: production code that addresses `__unbound__` for table\n // metadata lookups (collection-contract, query-plan-mutations, model-accessor,\n // query-plan-meta, where-binding) uses optional chaining and tolerates absence,\n // but runtime-qualification (TML-2605) has not yet landed cross-namespace table\n // routing. Injecting the empty singleton here keeps helpers that augment the\n // deserialized JSON (e.g. buildMixedPolyContract) working by providing a slot to\n // write into. Once runtime-qualification routes table lookups by namespace, this\n // shim should be removed.\n const unbound = hydratedNamespaces[UNBOUND_NAMESPACE_ID] ?? SqlUnboundNamespace.instance;\n\n return {\n ...validated,\n storage: new SqlStorage({\n storageHash: validated.storage.storageHash,\n ...ifDefined('types', hydratedTypes),\n // Cast narrows the result of hydrateSqlNamespaceMap from the wider\n // framework `Namespace` to the SQL-family `SqlNamespace`.\n namespaces: blindCast<\n SqlStorageInput['namespaces'],\n 'hydrated SQL namespaces are SqlNamespace instances (family hydration guarantees this)'\n >({ ...hydratedNamespaces, [UNBOUND_NAMESPACE_ID]: unbound }),\n }),\n };\n }\n\n protected hydrateSqlNamespaceMap(\n namespaces: Readonly<Record<string, Namespace | Record<string, unknown>>>,\n ): Readonly<Record<string, Namespace>> {\n return Object.fromEntries(\n Object.entries(namespaces).map(([nsId, namespaceEntryRaw]) => {\n // Raw entries passed structural validation; hydrate materialises family IR class instances.\n const namespaceHydrated = this.hydrateSqlNamespaceEntry(nsId, namespaceEntryRaw);\n const namespaceMaterialised =\n namespaceHydrated instanceof NamespaceBase\n ? namespaceHydrated\n : buildSqlNamespace(\n blindCast<\n SqlNamespaceTablesInput,\n 'hydrateSqlNamespaceEntry returns SqlNamespaceTablesInput when raw is not a NamespaceBase'\n >(namespaceHydrated),\n );\n return [nsId, namespaceMaterialised];\n }),\n );\n }\n\n protected hydrateSqlNamespaceEntry(\n nsId: string,\n raw: Namespace | Record<string, unknown>,\n ): Namespace | SqlNamespaceTablesInput {\n if (raw instanceof NamespaceBase) {\n return raw;\n }\n const rawRecord = isPlainRecord(raw) ? raw : {};\n if (\n Object.hasOwn(rawRecord, 'tables') ||\n Object.hasOwn(rawRecord, 'enum') ||\n Object.hasOwn(rawRecord, 'collections')\n ) {\n throw new ContractValidationError(\n 'Namespace envelope uses deprecated flat slot keys; expected `entries: { table? }`',\n 'structural',\n );\n }\n const id = typeof rawRecord['id'] === 'string' ? rawRecord['id'] : nsId;\n const parsed = NamespaceRawSchema({ ...rawRecord, id });\n if (parsed instanceof type.errors) {\n const messages = parsed.map((p: { message: string }) => p.message).join('; ');\n throw new ContractValidationError(`Namespace hydration failed: ${messages}`, 'structural');\n }\n // Default to empty table; overwritten below if raw entries carry a table slot.\n const entriesInput: {\n table: Record<string, StorageTable>;\n valueSet?: Record<string, StorageValueSet>;\n } = { table: {} };\n const entriesRaw = parsed.entries;\n if (entriesRaw !== undefined && typeof entriesRaw === 'object' && entriesRaw !== null) {\n const rawEntries = entriesRaw as Record<string, unknown>;\n const tableSlot = rawEntries['table'];\n if (tableSlot !== null && typeof tableSlot === 'object' && !Array.isArray(tableSlot)) {\n entriesInput.table = Object.fromEntries(\n Object.entries(tableSlot as Record<string, unknown>).map(([tableName, table]) => [\n tableName,\n table instanceof StorageTable ? table : new StorageTable(table as StorageTableInput),\n ]),\n );\n }\n const valueSetSlot = rawEntries['valueSet'];\n if (\n valueSetSlot !== null &&\n typeof valueSetSlot === 'object' &&\n !Array.isArray(valueSetSlot)\n ) {\n entriesInput.valueSet = Object.fromEntries(\n Object.entries(\n blindCast<\n Record<string, unknown>,\n 'valueSet slot is a plain record after object check'\n >(valueSetSlot),\n ).map(([vsName, vs]) => [\n vsName,\n vs instanceof StorageValueSet\n ? vs\n : new StorageValueSet(\n blindCast<\n StorageValueSetInput,\n 'non-instance valueSet entry is StorageValueSetInput'\n >(vs),\n ),\n ]),\n );\n }\n // Target-specific slots (e.g. postgres `type`) are left for target\n // overrides to extract from the original `raw` parameter.\n }\n\n return blindCast<SqlNamespaceTablesInput, 'hydrated namespace tables input'>({\n id,\n entries: entriesInput,\n });\n }\n\n protected hydrateStorageTypeEntry(entry: SqlStorageTypeEntry): SqlStorageTypeEntry {\n if (typeof entry !== 'object' || entry === null) {\n return entry;\n }\n const kind = (entry as { kind?: unknown }).kind;\n if (typeof kind !== 'string') {\n return entry;\n }\n const factory = this.entityTypeRegistry.get(kind);\n if (factory === undefined) {\n return entry;\n }\n return blindCast<\n SqlStorageTypeEntry,\n 'entity registry factory returns SqlStorageTypeEntry for storage.types entries'\n >(factory(entry));\n }\n\n protected constructTargetContract(hydrated: Contract<SqlStorage>): TContract {\n return hydrated as TContract;\n }\n}\n","import type { Contract } from '@prisma-next/contract/types';\nimport type { SqlStorage } from '@prisma-next/sql-contract/types';\nimport { SqlContractSerializerBase } from './sql-contract-serializer-base';\n\n/**\n * Default SQL family `ContractSerializer` concretion. Inherits the\n * full SQL-shared deserialization pipeline (structural validation +\n * IR-class hydration) without pack-registered `storage.types`\n * hydration factories — targets that emit polymorphic JSON outside the\n * codec-typed envelope wire a target-specific subclass with a populated\n * registry (see Postgres). Family-level call sites instantiate this\n * default directly when no target serializer is supplied.\n */\nexport class SqlContractSerializer extends SqlContractSerializerBase<Contract<SqlStorage>> {\n constructor() {\n super(new Map());\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-CbwQCzXY.d.mts","names":[],"sources":["../src/core/control-instance.ts","../src/core/migrations/types.ts"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify-sql-schema-DcMaT5Zj.d.mts","names":[],"sources":["../src/core/schema-verify/verify-sql-schema.ts"],"mappings":";;;;;;;;;;AAsDkB;KAHN,iBAAA,IACV,UAAA,UACA,UAAA,aACG,aAAa;;;;AAOoC;AAKtD;KALY,oBAAA,IAAwB,UAAkB;;;;UAKrC,sBAAA;EAQI;EAAA,SANV,QAAA,EAAU,QAAA,CAAS,UAAA;EAagB;EAAA,SAXnC,MAAA,EAAQ,WAAA;EAiBW;EAAA,SAfnB,MAAA;EAkCC;EAAA,SAhCD,OAAA,GAAU,gBAAA;EAiCiB;EAAA,SA/B3B,oBAAA,EAAsB,WAAA;IAAsB,UAAA;EAAA;EARzB;;;;EAAA,SAanB,mBAAA,EAAqB,aAAA,CAAc,8BAAA;EAPzB;;;;;EAAA,SAaV,gBAAA,GAAmB,iBAAA;EANgB;;;;;EAAA,SAYnC,mBAAA,GAAsB,oBAAA;EAarB;;;;;;AAEW;AAcvB;;;;EAhBY,SADD,yBAAA,IACP,MAAA,EAAQ,WAAA,EACR,QAAA,EAAU,wBAAA,EACV,WAAA;AAAA;;;AAcwF;;;;;;;;iBAA5E,eAAA,CAAgB,OAAA,EAAS,sBAAA,GAAyB,0BAA0B"}
|