@prisma-next/family-sql 0.14.0-dev.43 → 0.14.0-dev.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/control.d.mts +208 -6
- package/dist/control.d.mts.map +1 -1
- package/dist/control.mjs +5 -1
- package/dist/control.mjs.map +1 -1
- package/dist/diff.d.mts +1 -1
- package/dist/migration.d.mts +1 -1
- package/dist/psl-infer.d.mts +23 -2
- package/dist/psl-infer.d.mts.map +1 -1
- package/dist/psl-infer.mjs +9 -1
- package/dist/psl-infer.mjs.map +1 -1
- package/dist/{types-CkOIJXxU.d.mts → types-DBxrwN1d.d.mts} +4 -185
- package/dist/types-DBxrwN1d.d.mts.map +1 -0
- package/package.json +21 -21
- package/src/core/control-instance.ts +18 -2
- package/src/core/control-target-descriptor.ts +83 -0
- package/src/core/migrations/types.ts +0 -53
- package/src/core/psl-contract-infer/printer-config.ts +12 -0
- package/src/core/psl-contract-infer/relation-inference.ts +9 -1
- package/src/exports/control.ts +4 -1
- package/src/exports/psl-infer.ts +4 -1
- package/dist/types-CkOIJXxU.d.mts.map +0 -1
package/dist/control.d.mts
CHANGED
|
@@ -1,12 +1,121 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { r as SqlControlAdapter } from "./control-adapter-DHYFuOBy.mjs";
|
|
2
|
+
import { A as SqlPlannerSuccessResult, C as SqlMigrationRunnerSuccessValue, D as SqlPlannerConflictLocation, E as SqlPlannerConflictKind, O as SqlPlannerFailureResult, S as SqlMigrationRunnerResult, T as SqlPlannerConflict, _ as SqlMigrationRunner, a as FieldEvent, b as SqlMigrationRunnerExecuteOptions, c as SqlControlAdapterDescriptor, d as SqlMigrationPlanContractInfo, f as SqlMigrationPlanOperation, g as SqlMigrationPlannerPlanOptions, h as SqlMigrationPlanner, i as ExpandNativeTypeInput, j as StorageTypePlanResult, k as SqlPlannerResult, l as SqlControlExtensionDescriptor, m as SqlMigrationPlanOperationTarget, n as CodecControlHooks, o as FieldEventContext, p as SqlMigrationPlanOperationStep, r as CreateSqlMigrationPlanOptions, s as ResolveIdentityValueInput, t as AnyRecord, u as SqlMigrationPlan, v as SqlMigrationRunnerErrorCode, w as SqlPlanTargetDetails, x as SqlMigrationRunnerFailure, y as SqlMigrationRunnerExecuteCallbacks } from "./types-DBxrwN1d.mjs";
|
|
2
3
|
import { ColumnDefault, Contract, ControlPolicy } from "@prisma-next/contract/types";
|
|
3
|
-
import { ControlFamilyDescriptor, ControlStack, MigrationOperationClass, MigrationOperationPolicy, MigrationOperationPolicy as MigrationOperationPolicy$1, MigrationPlan, MigrationPlanOperation, MigrationPlanner, MigrationPlannerConflict, MigrationPlannerConflict as MigrationPlannerConflict$1, MigrationPlannerResult, MutationDefaultGeneratorDescriptor, OpFactoryCall, TargetMigrationsCapability, assembleAuthoringContributions } from "@prisma-next/framework-components/control";
|
|
4
|
-
import { SqlStorage, StorageColumn } from "@prisma-next/sql-contract/types";
|
|
4
|
+
import { ContractSerializer, ControlFamilyDescriptor, ControlFamilyInstance, ControlStack, MigratableTargetDescriptor, MigrationOperationClass, MigrationOperationPolicy, MigrationOperationPolicy as MigrationOperationPolicy$1, MigrationPlan, MigrationPlanOperation, MigrationPlanOperation as MigrationPlanOperation$1, MigrationPlanner, MigrationPlannerConflict, MigrationPlannerConflict as MigrationPlannerConflict$1, MigrationPlannerResult, MutationDefaultGeneratorDescriptor, OpFactoryCall, OperationPreview, OperationPreviewCapable, PslContractInferCapable, SchemaDiffer, SchemaVerifier, SchemaViewCapable, SignDatabaseResult, TargetMigrationsCapability, VerifyDatabaseResult, VerifyDatabaseSchemaResult, assembleAuthoringContributions } from "@prisma-next/framework-components/control";
|
|
5
|
+
import { SqlControlDriverInstance, SqlStorage, StorageColumn } from "@prisma-next/sql-contract/types";
|
|
5
6
|
import { NotOk, Ok } from "@prisma-next/utils/result";
|
|
6
|
-
import {
|
|
7
|
+
import { AnyQueryAst, DdlNode, LowererContext, SqlExecuteRequest } from "@prisma-next/sql-relational-core/ast";
|
|
8
|
+
import { SqlSchemaIR, SqlSchemaIRNode } from "@prisma-next/sql-schema-ir/types";
|
|
7
9
|
import { TargetBoundComponentDescriptor } from "@prisma-next/framework-components/components";
|
|
8
|
-
import { EmissionSpi } from "@prisma-next/framework-components/emission";
|
|
10
|
+
import { EmissionSpi, TypesImportSpec } from "@prisma-next/framework-components/emission";
|
|
11
|
+
import { PslDocumentAst } from "@prisma-next/framework-components/psl-ast";
|
|
12
|
+
import { SqlOperationDescriptors } from "@prisma-next/sql-operations";
|
|
9
13
|
|
|
14
|
+
//#region src/core/control-instance.d.ts
|
|
15
|
+
interface SqlTypeMetadata {
|
|
16
|
+
readonly typeId: string;
|
|
17
|
+
readonly familyId: 'sql';
|
|
18
|
+
readonly targetId: string;
|
|
19
|
+
readonly nativeType?: string;
|
|
20
|
+
}
|
|
21
|
+
type SqlTypeMetadataRegistry = Map<string, SqlTypeMetadata>;
|
|
22
|
+
interface SqlFamilyInstanceState {
|
|
23
|
+
readonly codecTypeImports: ReadonlyArray<TypesImportSpec>;
|
|
24
|
+
readonly extensionIds: ReadonlyArray<string>;
|
|
25
|
+
readonly typeMetadataRegistry: SqlTypeMetadataRegistry;
|
|
26
|
+
}
|
|
27
|
+
interface SqlControlFamilyInstance extends ControlFamilyInstance<'sql', SqlSchemaIRNode>, SchemaViewCapable<SqlSchemaIRNode>, PslContractInferCapable<SqlSchemaIRNode>, OperationPreviewCapable, SqlFamilyInstanceState {
|
|
28
|
+
/**
|
|
29
|
+
* The family seam-of-record for on-disk contract reads. Structurally
|
|
30
|
+
* validates the JSON envelope, then hydrates IR-class instances via
|
|
31
|
+
* the per-target ContractSerializer. The single named entry point
|
|
32
|
+
* every CLI on-disk read crosses (TML-2536) — `as Contract` casts
|
|
33
|
+
* in production package sources are a serializer-bypass smell guarded
|
|
34
|
+
* by `pnpm lint:no-contract-cast`.
|
|
35
|
+
*/
|
|
36
|
+
deserializeContract(contractJson: unknown): Contract;
|
|
37
|
+
verify(options: {
|
|
38
|
+
readonly driver: SqlControlDriverInstance<string>;
|
|
39
|
+
readonly contract: unknown;
|
|
40
|
+
readonly expectedTargetId: string;
|
|
41
|
+
readonly contractPath: string;
|
|
42
|
+
readonly configPath?: string;
|
|
43
|
+
}): Promise<VerifyDatabaseResult>;
|
|
44
|
+
/**
|
|
45
|
+
* Verify a contract against an already-introspected schema.
|
|
46
|
+
*
|
|
47
|
+
* Callers that need to verify against the live database compose
|
|
48
|
+
* `introspect({ driver })` + `verifySchema({ contract, schema, ... })`.
|
|
49
|
+
* The aggregate verifier hands in the full introspected schema and scopes
|
|
50
|
+
* the returned result to each member's contract space afterwards — so
|
|
51
|
+
* sibling-space tables never survive as `extras`.
|
|
52
|
+
*/
|
|
53
|
+
verifySchema(options: {
|
|
54
|
+
readonly contract: unknown;
|
|
55
|
+
readonly schema: SqlSchemaIRNode;
|
|
56
|
+
readonly strict: boolean;
|
|
57
|
+
readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
|
|
58
|
+
}): VerifyDatabaseSchemaResult;
|
|
59
|
+
sign(options: {
|
|
60
|
+
readonly driver: SqlControlDriverInstance<string>;
|
|
61
|
+
readonly contract: unknown;
|
|
62
|
+
readonly contractPath: string;
|
|
63
|
+
readonly configPath?: string;
|
|
64
|
+
}): Promise<SignDatabaseResult>;
|
|
65
|
+
introspect(options: {
|
|
66
|
+
readonly driver: SqlControlDriverInstance<string>;
|
|
67
|
+
readonly contract?: unknown;
|
|
68
|
+
}): Promise<SqlSchemaIRNode>;
|
|
69
|
+
inferPslContract(schemaIR: SqlSchemaIRNode): PslDocumentAst;
|
|
70
|
+
lowerAst(ast: AnyQueryAst | DdlNode, context: LowererContext<unknown>): Promise<SqlExecuteRequest>;
|
|
71
|
+
/**
|
|
72
|
+
* Inserts the initial marker row for `space` (upsert on `space`).
|
|
73
|
+
* Delegates to the target control adapter's write SPI; see
|
|
74
|
+
* `SqlControlAdapter.initMarker`.
|
|
75
|
+
*/
|
|
76
|
+
initMarker(options: {
|
|
77
|
+
readonly driver: SqlControlDriverInstance<string>;
|
|
78
|
+
readonly space: string;
|
|
79
|
+
readonly destination: {
|
|
80
|
+
readonly storageHash: string;
|
|
81
|
+
readonly profileHash: string;
|
|
82
|
+
readonly invariants?: readonly string[];
|
|
83
|
+
};
|
|
84
|
+
}): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Compare-and-swap advance of the marker row for `space`. Returns `true`
|
|
87
|
+
* when the swap matched a row; see `SqlControlAdapter.updateMarker`.
|
|
88
|
+
*/
|
|
89
|
+
updateMarker(options: {
|
|
90
|
+
readonly driver: SqlControlDriverInstance<string>;
|
|
91
|
+
readonly space: string;
|
|
92
|
+
readonly expectedFrom: string;
|
|
93
|
+
readonly destination: {
|
|
94
|
+
readonly storageHash: string;
|
|
95
|
+
readonly profileHash: string;
|
|
96
|
+
readonly invariants?: readonly string[];
|
|
97
|
+
};
|
|
98
|
+
}): Promise<boolean>;
|
|
99
|
+
/**
|
|
100
|
+
* Appends a ledger entry for `space`; see
|
|
101
|
+
* `SqlControlAdapter.writeLedgerEntry`.
|
|
102
|
+
*/
|
|
103
|
+
writeLedgerEntry(options: {
|
|
104
|
+
readonly driver: SqlControlDriverInstance<string>;
|
|
105
|
+
readonly space: string;
|
|
106
|
+
readonly entry: {
|
|
107
|
+
readonly edgeId: string;
|
|
108
|
+
readonly from: string;
|
|
109
|
+
readonly to: string;
|
|
110
|
+
readonly migrationName: string;
|
|
111
|
+
readonly migrationHash: string;
|
|
112
|
+
readonly operations: readonly unknown[];
|
|
113
|
+
};
|
|
114
|
+
}): Promise<void>;
|
|
115
|
+
bootstrapControlTableQueries(): readonly DdlNode[];
|
|
116
|
+
toOperationPreview(operations: readonly MigrationPlanOperation$1[]): OperationPreview;
|
|
117
|
+
}
|
|
118
|
+
//#endregion
|
|
10
119
|
//#region src/core/control-descriptor.d.ts
|
|
11
120
|
declare class SqlFamilyDescriptor implements ControlFamilyDescriptor<'sql', SqlControlFamilyInstance> {
|
|
12
121
|
readonly kind: "family";
|
|
@@ -258,6 +367,99 @@ declare class SqlFamilyDescriptor implements ControlFamilyDescriptor<'sql', SqlC
|
|
|
258
367
|
//#region src/core/assembly.d.ts
|
|
259
368
|
declare function extractCodecControlHooks(descriptors: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>): Map<string, CodecControlHooks>;
|
|
260
369
|
//#endregion
|
|
370
|
+
//#region src/core/migrations/schema-differ.d.ts
|
|
371
|
+
/**
|
|
372
|
+
* Inputs to a SQL target's schema-differ (`diffDatabaseSchema` /
|
|
373
|
+
* `verifyDatabaseSchema` on the descriptor): the contract (the expected side
|
|
374
|
+
* derives from it), the introspected actual schema node, and the resolution
|
|
375
|
+
* context the relational diff needs.
|
|
376
|
+
*/
|
|
377
|
+
interface DiffDatabaseSchemaInput {
|
|
378
|
+
readonly contract: Contract<SqlStorage>;
|
|
379
|
+
readonly schema: SqlSchemaIRNode;
|
|
380
|
+
readonly strict: boolean;
|
|
381
|
+
readonly typeMetadataRegistry: ReadonlyMap<string, {
|
|
382
|
+
readonly nativeType?: string;
|
|
383
|
+
}>;
|
|
384
|
+
readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* The `SchemaDiffer` a SQL target implements: the black-box comparison of the
|
|
388
|
+
* contract's expected schema against the introspected actual schema, projected
|
|
389
|
+
* to the two issue lists. How it computes them is private to the target.
|
|
390
|
+
*/
|
|
391
|
+
type SqlDiffDatabaseSchema = SchemaDiffer<DiffDatabaseSchemaInput>['diff'];
|
|
392
|
+
/**
|
|
393
|
+
* The same combined comparison as {@link SqlDiffDatabaseSchema}, wrapped in the
|
|
394
|
+
* verify envelope (`ok`/`summary`/`code`/`target`/`timings`) plus the
|
|
395
|
+
* pass/warn/fail tree the CLI renders. Verify calls this instead of the diff so
|
|
396
|
+
* the relational walk that produces the tree runs once per verify, not once for
|
|
397
|
+
* the diff and again for the tree.
|
|
398
|
+
*/
|
|
399
|
+
type SqlVerifyDatabaseSchema = (input: DiffDatabaseSchemaInput) => VerifyDatabaseSchemaResult;
|
|
400
|
+
//#endregion
|
|
401
|
+
//#region src/core/control-target-descriptor.d.ts
|
|
402
|
+
/**
|
|
403
|
+
* One stack extension pack's already-assembled contract, paired with the
|
|
404
|
+
* `spaceId` its extension descriptor was registered under. `contract infer`
|
|
405
|
+
* needs both: the contract to know which elements the pack describes and to
|
|
406
|
+
* resolve the domain model a cross-space foreign key targets, the `spaceId`
|
|
407
|
+
* to qualify the emitted relation type (`<spaceId>:<namespace>.<Model>`).
|
|
408
|
+
* Neither the contract JSON nor the framework's `ContractSpace` wrapper
|
|
409
|
+
* self-declares its owning space id — it is only known from the extension
|
|
410
|
+
* descriptor that carries the `ContractSpace`.
|
|
411
|
+
*/
|
|
412
|
+
interface SqlDescribedContractSpace {
|
|
413
|
+
readonly spaceId: string;
|
|
414
|
+
readonly contract: Contract<SqlStorage>;
|
|
415
|
+
}
|
|
416
|
+
interface SqlControlTargetDescriptor<TTargetId extends string, TTargetDetails, TContract extends Contract<SqlStorage> = Contract<SqlStorage>> extends MigratableTargetDescriptor<'sql', TTargetId, SqlControlFamilyInstance> {
|
|
417
|
+
readonly queryOperations?: () => SqlOperationDescriptors;
|
|
418
|
+
/**
|
|
419
|
+
* JSON ⇄ class boundary for the SQL target's contract. The descriptor
|
|
420
|
+
* composes a concrete `SqlContractSerializerBase` subclass; the rest
|
|
421
|
+
* of the control stack reaches `descriptor.contractSerializer` rather
|
|
422
|
+
* than importing a per-target deserialization function.
|
|
423
|
+
*/
|
|
424
|
+
readonly contractSerializer: ContractSerializer<TContract>;
|
|
425
|
+
/**
|
|
426
|
+
* Per-target schema verifier walking the contract against
|
|
427
|
+
* `SqlSchemaIR`. The descriptor composes a concrete
|
|
428
|
+
* `SqlSchemaVerifierBase` subclass; the family-shared walk lives on
|
|
429
|
+
* the base, the target-specific dispatch on the subclass.
|
|
430
|
+
*/
|
|
431
|
+
readonly schemaVerifier: SchemaVerifier<TContract, SqlSchemaIR>;
|
|
432
|
+
/**
|
|
433
|
+
* Database→PSL inference for `contract infer`. Target logic (owns the dialect
|
|
434
|
+
* maps), so it lives on the descriptor. Optional: targets without `contract
|
|
435
|
+
* infer` (Mongo) omit it, and the family instance throws when it is absent.
|
|
436
|
+
* `describedContracts` carries the stack's extension packs' already-assembled
|
|
437
|
+
* contracts (each paired with its `spaceId`) so the inferrer can omit elements
|
|
438
|
+
* they already describe, and can qualify a cross-space relation with the
|
|
439
|
+
* owning pack's space id.
|
|
440
|
+
*/
|
|
441
|
+
readonly inferPslContract?: (schema: SqlSchemaIRNode, describedContracts?: readonly SqlDescribedContractSpace[]) => PslDocumentAst;
|
|
442
|
+
/**
|
|
443
|
+
* The single combined database-schema diff of two derived representations —
|
|
444
|
+
* the target's black-box comparison. Every SQL target provides it (Postgres
|
|
445
|
+
* returns relational + policy issues; SQLite returns relational only). It is
|
|
446
|
+
* schema logic on the target, not database I/O, so it lives here rather than
|
|
447
|
+
* on the control adapter. How it computes the two issue sets is private.
|
|
448
|
+
* See {@link SqlDiffDatabaseSchema} / {@link SqlVerifyDatabaseSchema}.
|
|
449
|
+
*/
|
|
450
|
+
readonly diffDatabaseSchema: SqlDiffDatabaseSchema;
|
|
451
|
+
/**
|
|
452
|
+
* The same combined comparison as {@link diffDatabaseSchema}, wrapped in the
|
|
453
|
+
* verify envelope (`ok`/`summary`/`code`/`target`/`timings`) plus the
|
|
454
|
+
* pass/warn/fail tree the CLI renders. Verify calls this instead of
|
|
455
|
+
* `diffDatabaseSchema` so the relational walk that produces the tree runs
|
|
456
|
+
* once per verify, not once for the diff and again for the tree.
|
|
457
|
+
*/
|
|
458
|
+
readonly verifyDatabaseSchema: SqlVerifyDatabaseSchema;
|
|
459
|
+
createPlanner(adapter: SqlControlAdapter<TTargetId>): SqlMigrationPlanner<TTargetDetails>;
|
|
460
|
+
createRunner(family: SqlControlFamilyInstance): SqlMigrationRunner<TTargetDetails>;
|
|
461
|
+
}
|
|
462
|
+
//#endregion
|
|
261
463
|
//#region src/core/migrations/contract-to-schema-ir.d.ts
|
|
262
464
|
/**
|
|
263
465
|
* Target-specific callback that expands a column's base `nativeType` and optional
|
|
@@ -579,5 +781,5 @@ declare function temporalAuthoringPresets<const CodecId extends string, const Na
|
|
|
579
781
|
//#region src/exports/control.d.ts
|
|
580
782
|
declare const _default: SqlFamilyDescriptor;
|
|
581
783
|
//#endregion
|
|
582
|
-
export { type CodecControlHooks, type ContractToSchemaIROptions, type ControlPolicySubject, type CreateSqlMigrationPlanOptions, type DefaultRenderer, type EnumNamespaceSchemaResolver, type ExpandNativeTypeInput, type FieldEvent, type FieldEventContext, INIT_ADDITIVE_POLICY, type MigrationOperationClass, type MigrationOperationPolicy, type MigrationPlan, type MigrationPlanOperation, type MigrationPlanner, type MigrationPlannerConflict, type MigrationPlannerResult, type NativeTypeExpander, type PlanFieldEventOperationsOptions, type ResolveIdentityValueInput, type SqlControlAdapterDescriptor, type SqlControlExtensionDescriptor, type SqlControlFamilyInstance, 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 SqlPlanTargetDetails, type SqlPlannerConflict, type SqlPlannerConflictKind, type SqlPlannerConflictLocation, type SqlPlannerFailureResult, type SqlPlannerResult, type SqlPlannerSuccessResult, type StorageTypePlanResult, type TargetMigrationsCapability, assembleAuthoringContributions, contractNamespaceToSchemaIR, contractToSchemaIR, controlPolicyForCall, createMigrationPlan, _default as default, detectDestructiveChanges, extractCodecControlHooks, partitionCallsByControlPolicy, partitionIssuesByControlPolicy, planFieldEventOperations, plannerFailure, plannerSuccess, resolveValueSetValues, runnerFailure, runnerSuccess, temporalAuthoringPresets, timestampNowControlDescriptor };
|
|
784
|
+
export { type CodecControlHooks, type ContractToSchemaIROptions, type ControlPolicySubject, type CreateSqlMigrationPlanOptions, type DefaultRenderer, type EnumNamespaceSchemaResolver, type ExpandNativeTypeInput, type FieldEvent, type FieldEventContext, INIT_ADDITIVE_POLICY, type MigrationOperationClass, type MigrationOperationPolicy, type MigrationPlan, type MigrationPlanOperation, type MigrationPlanner, type MigrationPlannerConflict, type MigrationPlannerResult, type NativeTypeExpander, type PlanFieldEventOperationsOptions, type ResolveIdentityValueInput, type SqlControlAdapterDescriptor, type SqlControlExtensionDescriptor, type SqlControlFamilyInstance, type SqlControlTargetDescriptor, type SqlDescribedContractSpace, 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 SqlPlanTargetDetails, type SqlPlannerConflict, type SqlPlannerConflictKind, type SqlPlannerConflictLocation, type SqlPlannerFailureResult, type SqlPlannerResult, type SqlPlannerSuccessResult, type StorageTypePlanResult, type TargetMigrationsCapability, assembleAuthoringContributions, contractNamespaceToSchemaIR, contractToSchemaIR, controlPolicyForCall, createMigrationPlan, _default as default, detectDestructiveChanges, extractCodecControlHooks, partitionCallsByControlPolicy, partitionIssuesByControlPolicy, planFieldEventOperations, plannerFailure, plannerSuccess, resolveValueSetValues, runnerFailure, runnerSuccess, temporalAuthoringPresets, timestampNowControlDescriptor };
|
|
583
785
|
//# sourceMappingURL=control.d.mts.map
|
package/dist/control.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.d.mts","names":[],"sources":["../src/core/control-descriptor.ts","../src/core/assembly.ts","../src/core/migrations/contract-to-schema-ir.ts","../src/core/migrations/control-policy.ts","../src/core/migrations/field-event-planner.ts","../src/core/migrations/plan-helpers.ts","../src/core/migrations/policies.ts","../src/core/timestamp-now-generator.ts","../src/exports/control.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"control.d.mts","names":[],"sources":["../src/core/control-instance.ts","../src/core/control-descriptor.ts","../src/core/assembly.ts","../src/core/migrations/schema-differ.ts","../src/core/control-target-descriptor.ts","../src/core/migrations/contract-to-schema-ir.ts","../src/core/migrations/control-policy.ts","../src/core/migrations/field-event-planner.ts","../src/core/migrations/plan-helpers.ts","../src/core/migrations/policies.ts","../src/core/timestamp-now-generator.ts","../src/exports/control.ts"],"mappings":"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"}
|
package/dist/control.mjs
CHANGED
|
@@ -210,6 +210,10 @@ function createSqlFamilyInstance(stack) {
|
|
|
210
210
|
const getControlAdapter = () => controlAdapter ??= adapter.create(stack);
|
|
211
211
|
const targetSerializer = target.contractSerializer;
|
|
212
212
|
const targetInferPslContract = blindCast(target).inferPslContract;
|
|
213
|
+
const describedContracts = extensions.flatMap((extension) => extension.contractSpace ? [{
|
|
214
|
+
spaceId: extension.id,
|
|
215
|
+
contract: extension.contractSpace.contractJson
|
|
216
|
+
}] : []);
|
|
213
217
|
const verifyDatabaseSchema = blindCast(target).verifyDatabaseSchema;
|
|
214
218
|
if (!verifyDatabaseSchema) throw new Error(`SQL target "${target.targetId}" is missing the required verifyDatabaseSchema descriptor operation`);
|
|
215
219
|
const deserializeWithTargetSerializer = (contractOrJson) => {
|
|
@@ -442,7 +446,7 @@ function createSqlFamilyInstance(stack) {
|
|
|
442
446
|
},
|
|
443
447
|
inferPslContract(schemaIR) {
|
|
444
448
|
if (!targetInferPslContract) throw new Error(`Target "${target.targetId}" does not support contract infer (no inferPslContract on its descriptor).`);
|
|
445
|
-
return targetInferPslContract(schemaIR);
|
|
449
|
+
return targetInferPslContract(schemaIR, describedContracts);
|
|
446
450
|
},
|
|
447
451
|
lowerAst(ast, context) {
|
|
448
452
|
return getControlAdapter().lowerToExecuteRequest(ast, context);
|