@prisma-next/family-sql 0.12.0-dev.30 → 0.12.0-dev.32
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-adapter-CKCfVhTd.d.mts → control-adapter-uYnmu04p.d.mts} +49 -1
- package/dist/control-adapter-uYnmu04p.d.mts.map +1 -0
- package/dist/control-adapter.d.mts +1 -1
- package/dist/control.d.mts +1 -1
- package/dist/control.mjs +14 -14
- package/dist/control.mjs.map +1 -1
- package/dist/migration.d.mts +1 -1
- package/dist/runtime.d.mts +1 -1
- package/dist/{types-B084B5kI.d.mts → types-DxNgxFkF.d.mts} +47 -3
- package/dist/types-DxNgxFkF.d.mts.map +1 -0
- package/package.json +21 -21
- package/src/core/control-adapter.ts +69 -0
- package/src/core/control-instance.ts +102 -14
- package/src/core/migrations/types.ts +1 -0
- package/dist/control-adapter-CKCfVhTd.d.mts.map +0 -1
- package/dist/types-B084B5kI.d.mts.map +0 -1
package/dist/migration.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { T as SqlPlanTargetDetails, p as SqlMigrationPlanOperation } from "./types-
|
|
1
|
+
import { T as SqlPlanTargetDetails, p as SqlMigrationPlanOperation } from "./types-DxNgxFkF.mjs";
|
|
2
2
|
import { Migration } from "@prisma-next/migration-tools/migration";
|
|
3
3
|
|
|
4
4
|
//#region src/core/sql-migration.d.ts
|
package/dist/runtime.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { RuntimeMutationDefaultGenerator } from "@prisma-next/sql-runtime";
|
|
2
1
|
import { ResolvedDomainModel, UNBOUND_DOMAIN_NAMESPACE_ID, resolveDomainModel } from "@prisma-next/contract/types";
|
|
3
2
|
import { ResolvedStorageTable, resolveStorageTable } from "@prisma-next/sql-contract/resolve-storage-table";
|
|
4
3
|
import { RuntimeFamilyDescriptor, RuntimeFamilyInstance } from "@prisma-next/framework-components/execution";
|
|
4
|
+
import { RuntimeMutationDefaultGenerator } from "@prisma-next/sql-runtime";
|
|
5
5
|
|
|
6
6
|
//#region src/core/runtime-instance.d.ts
|
|
7
7
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as SqlControlAdapter } from "./control-adapter-
|
|
1
|
+
import { t as SqlControlAdapter } from "./control-adapter-uYnmu04p.mjs";
|
|
2
2
|
import { ContractSerializer, ContractSpace, ControlAdapterDescriptor, ControlDriverInstance, ControlExtensionDescriptor, ControlFamilyInstance, ControlStack, MigratableTargetDescriptor, MigrationOperationPolicy, MigrationPlan, MigrationPlanOperation, MigrationPlannerConflict, MigrationPlannerFailureResult, MigrationPlannerSuccessResult, MigrationRunnerExecutionChecks, MigrationRunnerFailure, MigrationRunnerPerSpaceSuccessValue, MigrationRunnerResult, OpFactoryCall, OperationContext, OperationPreview, OperationPreviewCapable, PslContractInferCapable, SchemaIssue, SchemaVerifier, SchemaViewCapable, SignDatabaseResult, VerifyDatabaseResult, VerifyDatabaseSchemaResult } from "@prisma-next/framework-components/control";
|
|
3
3
|
import { SqlStorage, StorageColumn, StorageTable, StorageTypeInstance } from "@prisma-next/sql-contract/types";
|
|
4
4
|
import { PslDocumentAst } from "@prisma-next/framework-components/psl-ast";
|
|
@@ -69,6 +69,50 @@ interface SqlControlFamilyInstance extends ControlFamilyInstance<'sql', SqlSchem
|
|
|
69
69
|
}): Promise<SqlSchemaIR>;
|
|
70
70
|
inferPslContract(schemaIR: SqlSchemaIR): PslDocumentAst;
|
|
71
71
|
lowerAst(ast: AnyQueryAst | DdlNode, context: LowererContext<unknown>): LoweredStatement;
|
|
72
|
+
/**
|
|
73
|
+
* Inserts the initial marker row for `space` (upsert on `space`).
|
|
74
|
+
* Delegates to the target control adapter's write SPI; see
|
|
75
|
+
* `SqlControlAdapter.initMarker`.
|
|
76
|
+
*/
|
|
77
|
+
initMarker(options: {
|
|
78
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
79
|
+
readonly space: string;
|
|
80
|
+
readonly destination: {
|
|
81
|
+
readonly storageHash: string;
|
|
82
|
+
readonly profileHash: string;
|
|
83
|
+
readonly invariants?: readonly string[];
|
|
84
|
+
};
|
|
85
|
+
}): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Compare-and-swap advance of the marker row for `space`. Returns `true`
|
|
88
|
+
* when the swap matched a row; see `SqlControlAdapter.updateMarker`.
|
|
89
|
+
*/
|
|
90
|
+
updateMarker(options: {
|
|
91
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
92
|
+
readonly space: string;
|
|
93
|
+
readonly expectedFrom: string;
|
|
94
|
+
readonly destination: {
|
|
95
|
+
readonly storageHash: string;
|
|
96
|
+
readonly profileHash: string;
|
|
97
|
+
readonly invariants?: readonly string[];
|
|
98
|
+
};
|
|
99
|
+
}): Promise<boolean>;
|
|
100
|
+
/**
|
|
101
|
+
* Appends a ledger entry for `space`; see
|
|
102
|
+
* `SqlControlAdapter.writeLedgerEntry`.
|
|
103
|
+
*/
|
|
104
|
+
writeLedgerEntry(options: {
|
|
105
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
106
|
+
readonly space: string;
|
|
107
|
+
readonly entry: {
|
|
108
|
+
readonly edgeId: string;
|
|
109
|
+
readonly from: string;
|
|
110
|
+
readonly to: string;
|
|
111
|
+
readonly migrationName: string;
|
|
112
|
+
readonly migrationHash: string;
|
|
113
|
+
readonly operations: readonly unknown[];
|
|
114
|
+
};
|
|
115
|
+
}): Promise<void>;
|
|
72
116
|
bootstrapControlTableQueries(): readonly DdlNode[];
|
|
73
117
|
bootstrapSignMarkerQueries(): readonly DdlNode[];
|
|
74
118
|
toOperationPreview(operations: readonly MigrationPlanOperation[]): OperationPreview;
|
|
@@ -398,7 +442,7 @@ interface SqlMigrationRunnerExecuteOptions<TTargetDetails> {
|
|
|
398
442
|
*/
|
|
399
443
|
readonly migrationEdges: readonly AggregateMigrationEdgeRef[];
|
|
400
444
|
}
|
|
401
|
-
type SqlMigrationRunnerErrorCode = 'DESTINATION_CONTRACT_MISMATCH' | 'LEGACY_MARKER_SHAPE' | 'MARKER_ORIGIN_MISMATCH' | 'POLICY_VIOLATION' | 'PRECHECK_FAILED' | 'POSTCHECK_FAILED' | 'SCHEMA_VERIFY_FAILED' | 'FOREIGN_KEY_VIOLATION' | 'EXECUTION_FAILED';
|
|
445
|
+
type SqlMigrationRunnerErrorCode = 'DESTINATION_CONTRACT_MISMATCH' | 'LEGACY_MARKER_SHAPE' | 'MARKER_ORIGIN_MISMATCH' | 'MARKER_CAS_FAILURE' | 'POLICY_VIOLATION' | 'PRECHECK_FAILED' | 'POSTCHECK_FAILED' | 'SCHEMA_VERIFY_FAILED' | 'FOREIGN_KEY_VIOLATION' | 'EXECUTION_FAILED';
|
|
402
446
|
interface SqlMigrationRunnerFailure extends MigrationRunnerFailure {
|
|
403
447
|
readonly code: SqlMigrationRunnerErrorCode;
|
|
404
448
|
readonly meta?: AnyRecord;
|
|
@@ -473,4 +517,4 @@ interface CreateSqlMigrationPlanOptions<TTargetDetails> {
|
|
|
473
517
|
}
|
|
474
518
|
//#endregion
|
|
475
519
|
export { SqlPlannerResult as A, SqlMigrationRunnerResult as C, SqlPlannerConflictKind as D, SqlPlannerConflict as E, StorageTypePlanResult as M, SqlControlFamilyInstance as N, SqlPlannerConflictLocation as O, SqlMigrationRunnerFailure as S, SqlPlanTargetDetails as T, SqlMigrationPlannerPlanOptions as _, FieldEvent as a, SqlMigrationRunnerExecuteCallbacks as b, SqlControlAdapterDescriptor as c, SqlMigrationPlan as d, SqlMigrationPlanContractInfo as f, SqlMigrationPlanner as g, SqlMigrationPlanOperationTarget as h, ExpandNativeTypeInput as i, SqlPlannerSuccessResult as j, SqlPlannerFailureResult as k, SqlControlExtensionDescriptor as l, SqlMigrationPlanOperationStep as m, CodecControlHooks as n, FieldEventContext as o, SqlMigrationPlanOperation as p, CreateSqlMigrationPlanOptions as r, ResolveIdentityValueInput as s, AnyRecord as t, SqlControlTargetDescriptor as u, SqlMigrationRunner as v, SqlMigrationRunnerSuccessValue as w, SqlMigrationRunnerExecuteOptions as x, SqlMigrationRunnerErrorCode as y };
|
|
476
|
-
//# sourceMappingURL=types-
|
|
520
|
+
//# sourceMappingURL=types-DxNgxFkF.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-DxNgxFkF.d.mts","names":[],"sources":["../src/core/control-instance.ts","../src/core/migrations/types.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma-next/family-sql",
|
|
3
|
-
"version": "0.12.0-dev.
|
|
3
|
+
"version": "0.12.0-dev.32",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"description": "SQL family descriptor for Prisma Next",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@prisma-next/contract": "0.12.0-dev.
|
|
10
|
-
"@prisma-next/emitter": "0.12.0-dev.
|
|
11
|
-
"@prisma-next/framework-components": "0.12.0-dev.
|
|
12
|
-
"@prisma-next/migration-tools": "0.12.0-dev.
|
|
13
|
-
"@prisma-next/operations": "0.12.0-dev.
|
|
14
|
-
"@prisma-next/sql-contract": "0.12.0-dev.
|
|
15
|
-
"@prisma-next/sql-contract-emitter": "0.12.0-dev.
|
|
16
|
-
"@prisma-next/sql-contract-ts": "0.12.0-dev.
|
|
17
|
-
"@prisma-next/sql-operations": "0.12.0-dev.
|
|
18
|
-
"@prisma-next/sql-relational-core": "0.12.0-dev.
|
|
19
|
-
"@prisma-next/sql-runtime": "0.12.0-dev.
|
|
20
|
-
"@prisma-next/sql-schema-ir": "0.12.0-dev.
|
|
21
|
-
"@prisma-next/utils": "0.12.0-dev.
|
|
9
|
+
"@prisma-next/contract": "0.12.0-dev.32",
|
|
10
|
+
"@prisma-next/emitter": "0.12.0-dev.32",
|
|
11
|
+
"@prisma-next/framework-components": "0.12.0-dev.32",
|
|
12
|
+
"@prisma-next/migration-tools": "0.12.0-dev.32",
|
|
13
|
+
"@prisma-next/operations": "0.12.0-dev.32",
|
|
14
|
+
"@prisma-next/sql-contract": "0.12.0-dev.32",
|
|
15
|
+
"@prisma-next/sql-contract-emitter": "0.12.0-dev.32",
|
|
16
|
+
"@prisma-next/sql-contract-ts": "0.12.0-dev.32",
|
|
17
|
+
"@prisma-next/sql-operations": "0.12.0-dev.32",
|
|
18
|
+
"@prisma-next/sql-relational-core": "0.12.0-dev.32",
|
|
19
|
+
"@prisma-next/sql-runtime": "0.12.0-dev.32",
|
|
20
|
+
"@prisma-next/sql-schema-ir": "0.12.0-dev.32",
|
|
21
|
+
"@prisma-next/utils": "0.12.0-dev.32",
|
|
22
22
|
"arktype": "^2.2.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@prisma-next/driver-postgres": "0.12.0-dev.
|
|
26
|
-
"@prisma-next/psl-parser": "0.12.0-dev.
|
|
27
|
-
"@prisma-next/psl-printer": "0.12.0-dev.
|
|
28
|
-
"@prisma-next/sql-contract-psl": "0.12.0-dev.
|
|
29
|
-
"@prisma-next/test-utils": "0.12.0-dev.
|
|
30
|
-
"@prisma-next/tsconfig": "0.12.0-dev.
|
|
31
|
-
"@prisma-next/tsdown": "0.12.0-dev.
|
|
25
|
+
"@prisma-next/driver-postgres": "0.12.0-dev.32",
|
|
26
|
+
"@prisma-next/psl-parser": "0.12.0-dev.32",
|
|
27
|
+
"@prisma-next/psl-printer": "0.12.0-dev.32",
|
|
28
|
+
"@prisma-next/sql-contract-psl": "0.12.0-dev.32",
|
|
29
|
+
"@prisma-next/test-utils": "0.12.0-dev.32",
|
|
30
|
+
"@prisma-next/tsconfig": "0.12.0-dev.32",
|
|
31
|
+
"@prisma-next/tsdown": "0.12.0-dev.32",
|
|
32
32
|
"tsdown": "0.22.0",
|
|
33
33
|
"typescript": "5.9.3",
|
|
34
34
|
"vitest": "4.1.6"
|
|
@@ -70,6 +70,75 @@ export interface SqlControlAdapter<TTarget extends string = string>
|
|
|
70
70
|
space?: string,
|
|
71
71
|
): Promise<readonly LedgerEntryRecord[]>;
|
|
72
72
|
|
|
73
|
+
/**
|
|
74
|
+
* Inserts the initial marker row for `space` (`INSERT` only). Fails when a
|
|
75
|
+
* row for that space already exists. Used by `sign()` so concurrent first-time
|
|
76
|
+
* stamps cannot silently overwrite each other. `updated_at` is DB-side
|
|
77
|
+
* (`now()` / `datetime('now')`). Mirrors `MongoControlAdapter.initMarker`.
|
|
78
|
+
*/
|
|
79
|
+
insertMarker(
|
|
80
|
+
driver: ControlDriverInstance<'sql', TTarget>,
|
|
81
|
+
space: string,
|
|
82
|
+
destination: {
|
|
83
|
+
readonly storageHash: string;
|
|
84
|
+
readonly profileHash: string;
|
|
85
|
+
readonly invariants?: readonly string[];
|
|
86
|
+
},
|
|
87
|
+
): Promise<void>;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Writes the initial marker row for `space` as an upsert (`INSERT … ON
|
|
91
|
+
* CONFLICT (space) DO UPDATE SET …`), so re-stamping a space overwrites the
|
|
92
|
+
* existing row rather than failing. `updated_at` is stamped with a DB-side
|
|
93
|
+
* time expression (`now()` / `datetime('now')`), never an app-side clock.
|
|
94
|
+
*/
|
|
95
|
+
initMarker(
|
|
96
|
+
driver: ControlDriverInstance<'sql', TTarget>,
|
|
97
|
+
space: string,
|
|
98
|
+
destination: {
|
|
99
|
+
readonly storageHash: string;
|
|
100
|
+
readonly profileHash: string;
|
|
101
|
+
readonly invariants?: readonly string[];
|
|
102
|
+
},
|
|
103
|
+
): Promise<void>;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Atomically advances the marker row for `space` (compare-and-swap on
|
|
107
|
+
* `core_hash = expectedFrom`). Returns `true` when the swap matched a row,
|
|
108
|
+
* `false` when another process advanced the marker first. `destination.invariants`
|
|
109
|
+
* is written verbatim when supplied (the union/dedupe policy lives upstream)
|
|
110
|
+
* and left untouched when omitted. Mirrors `MongoControlAdapter.updateMarker`.
|
|
111
|
+
*/
|
|
112
|
+
updateMarker(
|
|
113
|
+
driver: ControlDriverInstance<'sql', TTarget>,
|
|
114
|
+
space: string,
|
|
115
|
+
expectedFrom: string,
|
|
116
|
+
destination: {
|
|
117
|
+
readonly storageHash: string;
|
|
118
|
+
readonly profileHash: string;
|
|
119
|
+
readonly invariants?: readonly string[];
|
|
120
|
+
},
|
|
121
|
+
): Promise<boolean>;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Appends a ledger entry for `space`. Mirrors `MongoControlAdapter.writeLedgerEntry`.
|
|
125
|
+
* The SQL ledger table keys rows by an autoincrement id and partitions reads
|
|
126
|
+
* by `space`, so `entry.edgeId` carries no dedicated column; `from` / `to`
|
|
127
|
+
* land in `origin_core_hash` / `destination_core_hash`.
|
|
128
|
+
*/
|
|
129
|
+
writeLedgerEntry(
|
|
130
|
+
driver: ControlDriverInstance<'sql', TTarget>,
|
|
131
|
+
space: string,
|
|
132
|
+
entry: {
|
|
133
|
+
readonly edgeId: string;
|
|
134
|
+
readonly from: string;
|
|
135
|
+
readonly to: string;
|
|
136
|
+
readonly migrationName: string;
|
|
137
|
+
readonly migrationHash: string;
|
|
138
|
+
readonly operations: readonly unknown[];
|
|
139
|
+
},
|
|
140
|
+
): Promise<void>;
|
|
141
|
+
|
|
73
142
|
/**
|
|
74
143
|
* Introspects a database schema and returns a raw SqlSchemaIR.
|
|
75
144
|
*
|
|
@@ -39,7 +39,6 @@ import type {
|
|
|
39
39
|
LoweredStatement,
|
|
40
40
|
LowererContext,
|
|
41
41
|
} from '@prisma-next/sql-relational-core/ast';
|
|
42
|
-
import { writeContractMarker } from '@prisma-next/sql-runtime';
|
|
43
42
|
import { defaultIndexName } from '@prisma-next/sql-schema-ir/naming';
|
|
44
43
|
import type { SqlSchemaIR, SqlTableIR } from '@prisma-next/sql-schema-ir/types';
|
|
45
44
|
import { ifDefined } from '@prisma-next/utils/defined';
|
|
@@ -244,6 +243,53 @@ export interface SqlControlFamilyInstance
|
|
|
244
243
|
|
|
245
244
|
lowerAst(ast: AnyQueryAst | DdlNode, context: LowererContext<unknown>): LoweredStatement;
|
|
246
245
|
|
|
246
|
+
/**
|
|
247
|
+
* Inserts the initial marker row for `space` (upsert on `space`).
|
|
248
|
+
* Delegates to the target control adapter's write SPI; see
|
|
249
|
+
* `SqlControlAdapter.initMarker`.
|
|
250
|
+
*/
|
|
251
|
+
initMarker(options: {
|
|
252
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
253
|
+
readonly space: string;
|
|
254
|
+
readonly destination: {
|
|
255
|
+
readonly storageHash: string;
|
|
256
|
+
readonly profileHash: string;
|
|
257
|
+
readonly invariants?: readonly string[];
|
|
258
|
+
};
|
|
259
|
+
}): Promise<void>;
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Compare-and-swap advance of the marker row for `space`. Returns `true`
|
|
263
|
+
* when the swap matched a row; see `SqlControlAdapter.updateMarker`.
|
|
264
|
+
*/
|
|
265
|
+
updateMarker(options: {
|
|
266
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
267
|
+
readonly space: string;
|
|
268
|
+
readonly expectedFrom: string;
|
|
269
|
+
readonly destination: {
|
|
270
|
+
readonly storageHash: string;
|
|
271
|
+
readonly profileHash: string;
|
|
272
|
+
readonly invariants?: readonly string[];
|
|
273
|
+
};
|
|
274
|
+
}): Promise<boolean>;
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Appends a ledger entry for `space`; see
|
|
278
|
+
* `SqlControlAdapter.writeLedgerEntry`.
|
|
279
|
+
*/
|
|
280
|
+
writeLedgerEntry(options: {
|
|
281
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
282
|
+
readonly space: string;
|
|
283
|
+
readonly entry: {
|
|
284
|
+
readonly edgeId: string;
|
|
285
|
+
readonly from: string;
|
|
286
|
+
readonly to: string;
|
|
287
|
+
readonly migrationName: string;
|
|
288
|
+
readonly migrationHash: string;
|
|
289
|
+
readonly operations: readonly unknown[];
|
|
290
|
+
};
|
|
291
|
+
}): Promise<void>;
|
|
292
|
+
|
|
247
293
|
bootstrapControlTableQueries(): readonly DdlNode[];
|
|
248
294
|
|
|
249
295
|
bootstrapSignMarkerQueries(): readonly DdlNode[];
|
|
@@ -556,14 +602,10 @@ export function createSqlFamilyInstance<TTargetId extends string>(
|
|
|
556
602
|
let previousHashes: { storageHash?: string; profileHash?: string } | undefined;
|
|
557
603
|
|
|
558
604
|
if (!existingMarker) {
|
|
559
|
-
|
|
560
|
-
space: APP_SPACE_ID,
|
|
605
|
+
await controlAdapter.insertMarker(driver, APP_SPACE_ID, {
|
|
561
606
|
storageHash: contractStorageHash,
|
|
562
607
|
profileHash: contractProfileHash,
|
|
563
|
-
contractJson: contractInput,
|
|
564
|
-
canonicalVersion: 1,
|
|
565
608
|
});
|
|
566
|
-
await driver.query(write.insert.sql, write.insert.params);
|
|
567
609
|
markerCreated = true;
|
|
568
610
|
} else {
|
|
569
611
|
const existingStorageHash = existingMarker.storageHash;
|
|
@@ -577,14 +619,18 @@ export function createSqlFamilyInstance<TTargetId extends string>(
|
|
|
577
619
|
storageHash: existingStorageHash,
|
|
578
620
|
profileHash: existingProfileHash,
|
|
579
621
|
};
|
|
580
|
-
const
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
622
|
+
const updated = await controlAdapter.updateMarker(
|
|
623
|
+
driver,
|
|
624
|
+
APP_SPACE_ID,
|
|
625
|
+
existingStorageHash,
|
|
626
|
+
{
|
|
627
|
+
storageHash: contractStorageHash,
|
|
628
|
+
profileHash: contractProfileHash,
|
|
629
|
+
},
|
|
630
|
+
);
|
|
631
|
+
if (!updated) {
|
|
632
|
+
throw new Error('CAS conflict: marker was modified by another process during sign');
|
|
633
|
+
}
|
|
588
634
|
markerUpdated = true;
|
|
589
635
|
}
|
|
590
636
|
}
|
|
@@ -642,6 +688,48 @@ export function createSqlFamilyInstance<TTargetId extends string>(
|
|
|
642
688
|
}): Promise<readonly LedgerEntryRecord[]> {
|
|
643
689
|
return getControlAdapter().readLedger(options.driver, options.space);
|
|
644
690
|
},
|
|
691
|
+
async initMarker(options: {
|
|
692
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
693
|
+
readonly space: string;
|
|
694
|
+
readonly destination: {
|
|
695
|
+
readonly storageHash: string;
|
|
696
|
+
readonly profileHash: string;
|
|
697
|
+
readonly invariants?: readonly string[];
|
|
698
|
+
};
|
|
699
|
+
}): Promise<void> {
|
|
700
|
+
return getControlAdapter().initMarker(options.driver, options.space, options.destination);
|
|
701
|
+
},
|
|
702
|
+
async updateMarker(options: {
|
|
703
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
704
|
+
readonly space: string;
|
|
705
|
+
readonly expectedFrom: string;
|
|
706
|
+
readonly destination: {
|
|
707
|
+
readonly storageHash: string;
|
|
708
|
+
readonly profileHash: string;
|
|
709
|
+
readonly invariants?: readonly string[];
|
|
710
|
+
};
|
|
711
|
+
}): Promise<boolean> {
|
|
712
|
+
return getControlAdapter().updateMarker(
|
|
713
|
+
options.driver,
|
|
714
|
+
options.space,
|
|
715
|
+
options.expectedFrom,
|
|
716
|
+
options.destination,
|
|
717
|
+
);
|
|
718
|
+
},
|
|
719
|
+
async writeLedgerEntry(options: {
|
|
720
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
721
|
+
readonly space: string;
|
|
722
|
+
readonly entry: {
|
|
723
|
+
readonly edgeId: string;
|
|
724
|
+
readonly from: string;
|
|
725
|
+
readonly to: string;
|
|
726
|
+
readonly migrationName: string;
|
|
727
|
+
readonly migrationHash: string;
|
|
728
|
+
readonly operations: readonly unknown[];
|
|
729
|
+
};
|
|
730
|
+
}): Promise<void> {
|
|
731
|
+
return getControlAdapter().writeLedgerEntry(options.driver, options.space, options.entry);
|
|
732
|
+
},
|
|
645
733
|
async introspect(options: {
|
|
646
734
|
readonly driver: ControlDriverInstance<'sql', string>;
|
|
647
735
|
readonly contract?: unknown;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"control-adapter-CKCfVhTd.d.mts","names":[],"sources":["../src/core/control-adapter.ts"],"mappings":";;;;;;;;;;AA8BA;;;;UAAiB,iBAAA,0CACP,sBAAA,QAA8B,OAAA;EAiB5B;;;;;;;;;;;;;;;EADV,UAAA,CACE,MAAA,EAAQ,qBAAA,QAA6B,OAAA,GACrC,KAAA,WACC,OAAA,CAAQ,oBAAA;EA6CiB;;;;;;;EApC5B,cAAA,CACE,MAAA,EAAQ,qBAAA,QAA6B,OAAA,IACpC,OAAA,CAAQ,WAAA,SAAoB,oBAAA;EA4EnB;;;;EAtEZ,UAAA,CACE,MAAA,EAAQ,qBAAA,QAA6B,OAAA,GACrC,KAAA,YACC,OAAA,UAAiB,iBAAA;EA4FuB;;;;;;;;;;;;EA9E3C,UAAA,CACE,MAAA,EAAQ,qBAAA,QAA6B,OAAA,GACrC,QAAA,YACA,MAAA,YACC,OAAA,CAAQ,WAAA;EAtCR;;;;;EAAA,SA6CM,gBAAA,GAAmB,iBAAA;EAlCzB;;;;;EAAA,SAyCM,mBAAA,GAAsB,oBAAA;EAlC7B;;;;;;;;EAAA,SA4CO,iBAAA,GAAoB,iBAAA;EAzB3B;;;;;;;;EAAA,SAmCO,yBAAA,IACP,MAAA,EAAQ,WAAA,EACR,QAAA,EAAU,wBAAA,EACV,WAAA;EAHO;;;;;;EAAA,SAWA,oCAAA,IACP,QAAA,EAAU,QAAA,CAAS,UAAA,OAEnB,MAAA,EAAQ,WAAA,EACR,QAAA,EAAU,wBAAA,EACV,WAAA;EAJU;;;;EAWZ,4BAAA,aAAyC,OAAA;EAR7B;;;;EAcZ,0BAAA,aAAuC,OAAA;EAAvC;;;;;;;;;EAWA,KAAA,CAAM,GAAA,EAAK,WAAA,GAAc,OAAA,EAAS,OAAA,EAAS,cAAA,YAA0B,gBAAA;AAAA;AASvE;;;;;;AAAA,UAAiB,2BAAA;EAO+C;;;;;;EAA9D,MAAA,CAAO,KAAA,EAAO,YAAA,QAAoB,OAAA,IAAW,iBAAA,CAAkB,OAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-B084B5kI.d.mts","names":[],"sources":["../src/core/control-instance.ts","../src/core/migrations/types.ts"],"mappings":"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"}
|