@bjornpagen/bumbledb-log 1.2.1 → 1.3.1
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/README.md +152 -63
- package/dist/admin.d.ts +1 -1
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +13 -0
- package/dist/bin.js.map +1 -0
- package/dist/codes.d.ts +1 -1
- package/dist/codes.d.ts.map +1 -1
- package/dist/codes.js +1 -8
- package/dist/codes.js.map +1 -1
- package/dist/errors.d.ts +7 -21
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +11 -45
- package/dist/errors.js.map +1 -1
- package/dist/identity.d.ts +0 -8
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +0 -5
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/machine.d.ts +4 -28
- package/dist/machine.d.ts.map +1 -1
- package/dist/machine.js +183 -246
- package/dist/machine.js.map +1 -1
- package/dist/native.d.ts +59 -154
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js.map +1 -1
- package/dist/options.d.ts +2 -11
- package/dist/options.d.ts.map +1 -1
- package/dist/outcome.d.ts +1 -85
- package/dist/outcome.d.ts.map +1 -1
- package/dist/schema-files.d.ts +16 -0
- package/dist/schema-files.d.ts.map +1 -0
- package/dist/schema-files.js +77 -0
- package/dist/schema-files.js.map +1 -0
- package/dist/schema.d.ts +6 -9
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +8 -8
- package/dist/schema.js.map +1 -1
- package/dist/transition.d.ts +75 -0
- package/dist/transition.d.ts.map +1 -0
- package/dist/transition.js +3 -0
- package/dist/transition.js.map +1 -0
- package/pack-provenance.json +4 -4
- package/package.json +4 -8
- package/dist/migration-ops.d.ts +0 -20
- package/dist/migration-ops.d.ts.map +0 -1
- package/dist/migration-ops.js +0 -7
- package/dist/migration-ops.js.map +0 -1
- package/dist/migrations/bin.d.ts.map +0 -1
- package/dist/migrations/bin.js +0 -30
- package/dist/migrations/bin.js.map +0 -1
- package/dist/migrations/canonical.d.ts +0 -40
- package/dist/migrations/canonical.d.ts.map +0 -1
- package/dist/migrations/canonical.js +0 -156
- package/dist/migrations/canonical.js.map +0 -1
- package/dist/migrations/cli.d.ts +0 -29
- package/dist/migrations/cli.d.ts.map +0 -1
- package/dist/migrations/cli.js +0 -124
- package/dist/migrations/cli.js.map +0 -1
- package/dist/migrations/codec.d.ts +0 -74
- package/dist/migrations/codec.d.ts.map +0 -1
- package/dist/migrations/codec.js +0 -2
- package/dist/migrations/codec.js.map +0 -1
- package/dist/migrations/decode.d.ts +0 -16
- package/dist/migrations/decode.d.ts.map +0 -1
- package/dist/migrations/decode.js +0 -302
- package/dist/migrations/decode.js.map +0 -1
- package/dist/migrations/diff.d.ts +0 -39
- package/dist/migrations/diff.d.ts.map +0 -1
- package/dist/migrations/diff.js +0 -385
- package/dist/migrations/diff.js.map +0 -1
- package/dist/migrations/expr.d.ts +0 -22
- package/dist/migrations/expr.d.ts.map +0 -1
- package/dist/migrations/expr.js +0 -219
- package/dist/migrations/expr.js.map +0 -1
- package/dist/migrations/fail.d.ts +0 -22
- package/dist/migrations/fail.d.ts.map +0 -1
- package/dist/migrations/fail.js +0 -52
- package/dist/migrations/fail.js.map +0 -1
- package/dist/migrations/fsops.d.ts +0 -37
- package/dist/migrations/fsops.d.ts.map +0 -1
- package/dist/migrations/fsops.js +0 -222
- package/dist/migrations/fsops.js.map +0 -1
- package/dist/migrations/generate.d.ts +0 -11
- package/dist/migrations/generate.d.ts.map +0 -1
- package/dist/migrations/generate.js +0 -455
- package/dist/migrations/generate.js.map +0 -1
- package/dist/migrations/index.d.ts +0 -23
- package/dist/migrations/index.d.ts.map +0 -1
- package/dist/migrations/index.js +0 -6
- package/dist/migrations/index.js.map +0 -1
- package/dist/migrations/intent.d.ts +0 -86
- package/dist/migrations/intent.d.ts.map +0 -1
- package/dist/migrations/intent.js +0 -97
- package/dist/migrations/intent.js.map +0 -1
- package/dist/migrations/lock.d.ts +0 -27
- package/dist/migrations/lock.d.ts.map +0 -1
- package/dist/migrations/lock.js +0 -14
- package/dist/migrations/lock.js.map +0 -1
- package/dist/migrations/native.d.ts +0 -26
- package/dist/migrations/native.d.ts.map +0 -1
- package/dist/migrations/native.js +0 -124
- package/dist/migrations/native.js.map +0 -1
- package/dist/migrations/repo.d.ts +0 -38
- package/dist/migrations/repo.d.ts.map +0 -1
- package/dist/migrations/repo.js +0 -191
- package/dist/migrations/repo.js.map +0 -1
- package/dist/migrations/theory.d.ts +0 -21
- package/dist/migrations/theory.d.ts.map +0 -1
- package/dist/migrations/theory.js +0 -107
- package/dist/migrations/theory.js.map +0 -1
- package/dist/migrations/types.d.ts +0 -242
- package/dist/migrations/types.d.ts.map +0 -1
- package/dist/migrations/types.js +0 -2
- package/dist/migrations/types.js.map +0 -1
- package/dist/migrations/workflow.d.ts +0 -11
- package/dist/migrations/workflow.d.ts.map +0 -1
- package/dist/migrations/workflow.js +0 -14
- package/dist/migrations/workflow.js.map +0 -1
- /package/dist/{migrations/bin.d.ts → bin.d.ts} +0 -0
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bounded runtime decoding of untrusted generated data. The admin runner
|
|
3
|
-
* consumes the static index import — plain JSON data — and never trusts it:
|
|
4
|
-
* every plan and the manifest are structurally re-decoded here before
|
|
5
|
-
* anything crosses the bridge, and the native codec re-judges them again
|
|
6
|
-
* from canonical frames. A well-shaped object is still not a checked plan.
|
|
7
|
-
*/
|
|
8
|
-
import { Result, Schema } from "effect";
|
|
9
|
-
import { DatabaseId, DecisionDigest, IncarnationId, OperationId, PlanSetDigest, parseDatabaseIdentity, parseSchemaId } from "#identity.ts";
|
|
10
|
-
import { planExpressionOf, planValueOf } from "#migrations/expr.ts";
|
|
11
|
-
const MAX_OPERATIONS = 65536;
|
|
12
|
-
const MAX_ROWS = 1_000_000;
|
|
13
|
-
const ManifestModel = Schema.Struct({
|
|
14
|
-
manifestVersion: Schema.Literal(1),
|
|
15
|
-
planVersion: Schema.Literal(1),
|
|
16
|
-
baseSchemaId: Schema.String,
|
|
17
|
-
basePrefixDigest: Schema.String,
|
|
18
|
-
entries: Schema.Array(Schema.Struct({
|
|
19
|
-
sequence: Schema.String,
|
|
20
|
-
id: Schema.String,
|
|
21
|
-
fromSchemaId: Schema.String,
|
|
22
|
-
toSchemaId: Schema.String,
|
|
23
|
-
planDigest: Schema.String,
|
|
24
|
-
prefixDigest: Schema.String
|
|
25
|
-
}))
|
|
26
|
-
});
|
|
27
|
-
const decodeManifestModel = Schema.decodeUnknownOption(ManifestModel);
|
|
28
|
-
function bad(detail) {
|
|
29
|
-
return { ok: false, detail };
|
|
30
|
-
}
|
|
31
|
-
export function decodeManifestData(value) {
|
|
32
|
-
const decoded = decodeManifestModel(value);
|
|
33
|
-
if (decoded._tag === "None") {
|
|
34
|
-
return bad("manifest shape");
|
|
35
|
-
}
|
|
36
|
-
const entries = decoded.value.entries;
|
|
37
|
-
return { ok: true, value: { ...decoded.value, entries } };
|
|
38
|
-
}
|
|
39
|
-
function isRecord(value) {
|
|
40
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
41
|
-
}
|
|
42
|
-
function decodeOperation(value) {
|
|
43
|
-
if (!isRecord(value) || typeof value.kind !== "string") {
|
|
44
|
-
return "operation shape";
|
|
45
|
-
}
|
|
46
|
-
switch (value.kind) {
|
|
47
|
-
case "map-relation": {
|
|
48
|
-
if (typeof value.source !== "string" || typeof value.target !== "string" || !Array.isArray(value.fields)) {
|
|
49
|
-
return "map-relation shape";
|
|
50
|
-
}
|
|
51
|
-
const fields = [];
|
|
52
|
-
for (const field of value.fields) {
|
|
53
|
-
if (!isRecord(field) || typeof field.target !== "string") {
|
|
54
|
-
return "map-relation field shape";
|
|
55
|
-
}
|
|
56
|
-
const expression = planExpressionOf(field.expression);
|
|
57
|
-
if (!expression.ok) {
|
|
58
|
-
return expression.detail;
|
|
59
|
-
}
|
|
60
|
-
fields.push({ target: field.target, expression: expression.expression });
|
|
61
|
-
}
|
|
62
|
-
return { kind: "map-relation", source: value.source, target: value.target, fields };
|
|
63
|
-
}
|
|
64
|
-
case "empty-relation":
|
|
65
|
-
return typeof value.target === "string"
|
|
66
|
-
? { kind: "empty-relation", target: value.target }
|
|
67
|
-
: "empty-relation shape";
|
|
68
|
-
case "drop-relation":
|
|
69
|
-
return typeof value.source === "string" ? { kind: "drop-relation", source: value.source } : "drop-relation shape";
|
|
70
|
-
case "seed": {
|
|
71
|
-
if (typeof value.target !== "string" || !Array.isArray(value.rows) || value.rows.length > MAX_ROWS) {
|
|
72
|
-
return "seed shape";
|
|
73
|
-
}
|
|
74
|
-
const rows = [];
|
|
75
|
-
for (const row of value.rows) {
|
|
76
|
-
if (!Array.isArray(row)) {
|
|
77
|
-
return "seed row shape";
|
|
78
|
-
}
|
|
79
|
-
const cells = [];
|
|
80
|
-
for (const cell of row) {
|
|
81
|
-
const decoded = planValueOf(cell);
|
|
82
|
-
if (typeof decoded === "string") {
|
|
83
|
-
return decoded;
|
|
84
|
-
}
|
|
85
|
-
cells.push(decoded);
|
|
86
|
-
}
|
|
87
|
-
rows.push(cells);
|
|
88
|
-
}
|
|
89
|
-
return { kind: "seed", target: value.target, rows };
|
|
90
|
-
}
|
|
91
|
-
case "validate-schema":
|
|
92
|
-
return typeof value.schemaId === "string"
|
|
93
|
-
? { kind: "validate-schema", schemaId: value.schemaId }
|
|
94
|
-
: "validate-schema shape";
|
|
95
|
-
default:
|
|
96
|
-
return `unknown operation kind ${value.kind}`;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
export function decodePlanData(value) {
|
|
100
|
-
if (!isRecord(value)) {
|
|
101
|
-
return bad("plan shape");
|
|
102
|
-
}
|
|
103
|
-
if (value.planVersion !== 1) {
|
|
104
|
-
return bad("unsupported planVersion");
|
|
105
|
-
}
|
|
106
|
-
if (typeof value.sequence !== "string" ||
|
|
107
|
-
typeof value.id !== "string" ||
|
|
108
|
-
typeof value.fromSchemaId !== "string" ||
|
|
109
|
-
typeof value.toSchemaId !== "string" ||
|
|
110
|
-
!Array.isArray(value.operations) ||
|
|
111
|
-
value.operations.length > MAX_OPERATIONS) {
|
|
112
|
-
return bad("plan shape");
|
|
113
|
-
}
|
|
114
|
-
const operations = [];
|
|
115
|
-
for (const operation of value.operations) {
|
|
116
|
-
const decoded = decodeOperation(operation);
|
|
117
|
-
if (typeof decoded === "string") {
|
|
118
|
-
return bad(decoded);
|
|
119
|
-
}
|
|
120
|
-
operations.push(decoded);
|
|
121
|
-
}
|
|
122
|
-
const destructive = [];
|
|
123
|
-
if (value.destructive !== undefined) {
|
|
124
|
-
if (!Array.isArray(value.destructive)) {
|
|
125
|
-
return bad("destructive shape");
|
|
126
|
-
}
|
|
127
|
-
for (const loss of value.destructive) {
|
|
128
|
-
if (!isRecord(loss) || typeof loss.relation !== "string") {
|
|
129
|
-
return bad("destructive entry shape");
|
|
130
|
-
}
|
|
131
|
-
if (loss.field === undefined || loss.field === null) {
|
|
132
|
-
destructive.push({ relation: loss.relation });
|
|
133
|
-
}
|
|
134
|
-
else if (typeof loss.field === "string") {
|
|
135
|
-
destructive.push({ relation: loss.relation, field: loss.field });
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
return bad("destructive field shape");
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return {
|
|
143
|
-
ok: true,
|
|
144
|
-
value: {
|
|
145
|
-
planVersion: 1,
|
|
146
|
-
sequence: value.sequence,
|
|
147
|
-
id: value.id,
|
|
148
|
-
fromSchemaId: value.fromSchemaId,
|
|
149
|
-
toSchemaId: value.toSchemaId,
|
|
150
|
-
operations,
|
|
151
|
-
destructive
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
export function decodeGeneratedMigrations(value) {
|
|
156
|
-
if (!isRecord(value)) {
|
|
157
|
-
return bad("generated migrations shape");
|
|
158
|
-
}
|
|
159
|
-
const manifest = decodeManifestData(value.manifest);
|
|
160
|
-
if (!manifest.ok) {
|
|
161
|
-
return bad(manifest.detail);
|
|
162
|
-
}
|
|
163
|
-
if (!Array.isArray(value.plans)) {
|
|
164
|
-
return bad("plans shape");
|
|
165
|
-
}
|
|
166
|
-
if (value.plans.length !== manifest.value.entries.length) {
|
|
167
|
-
return bad("plan count does not match the manifest");
|
|
168
|
-
}
|
|
169
|
-
if (!Array.isArray(value.snapshots) || value.snapshots.length !== manifest.value.entries.length + 1) {
|
|
170
|
-
return bad("snapshots must be the empty-base schema plus one target per entry");
|
|
171
|
-
}
|
|
172
|
-
const snapshots = [];
|
|
173
|
-
for (const [index, raw] of value.snapshots.entries()) {
|
|
174
|
-
if (typeof raw !== "string" || raw.length === 0) {
|
|
175
|
-
return bad(`snapshot ${index} must be nonempty canonical schema-file text`);
|
|
176
|
-
}
|
|
177
|
-
snapshots.push(raw);
|
|
178
|
-
}
|
|
179
|
-
const plans = [];
|
|
180
|
-
for (const [index, raw] of value.plans.entries()) {
|
|
181
|
-
const plan = decodePlanData(raw);
|
|
182
|
-
if (!plan.ok) {
|
|
183
|
-
return bad(`plan ${index}: ${plan.detail}`);
|
|
184
|
-
}
|
|
185
|
-
const entry = manifest.value.entries[index];
|
|
186
|
-
if (entry === undefined ||
|
|
187
|
-
plan.value.sequence !== entry.sequence ||
|
|
188
|
-
plan.value.id !== entry.id ||
|
|
189
|
-
plan.value.fromSchemaId !== entry.fromSchemaId ||
|
|
190
|
-
plan.value.toSchemaId !== entry.toSchemaId) {
|
|
191
|
-
return bad(`plan ${index} disagrees with its manifest entry`);
|
|
192
|
-
}
|
|
193
|
-
plans.push(plan.value);
|
|
194
|
-
}
|
|
195
|
-
return { ok: true, value: { manifest: manifest.value, plans, snapshots } };
|
|
196
|
-
}
|
|
197
|
-
export function decodeRuntimeContract(value) {
|
|
198
|
-
if (!isRecord(value)) {
|
|
199
|
-
return bad("runtime contract shape");
|
|
200
|
-
}
|
|
201
|
-
if (value.contractVersion !== 1) {
|
|
202
|
-
return bad("unsupported contractVersion");
|
|
203
|
-
}
|
|
204
|
-
if (typeof value.schemaId !== "string" || typeof value.appliedPrefixDigest !== "string") {
|
|
205
|
-
return bad("runtime contract shape");
|
|
206
|
-
}
|
|
207
|
-
const steps = value.steps === undefined ? "0" : String(value.steps);
|
|
208
|
-
return {
|
|
209
|
-
ok: true,
|
|
210
|
-
value: {
|
|
211
|
-
contractVersion: 1,
|
|
212
|
-
schemaId: value.schemaId,
|
|
213
|
-
appliedPrefixDigest: value.appliedPrefixDigest,
|
|
214
|
-
steps
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
export function decodeActivationRef(value) {
|
|
219
|
-
if (!isRecord(value)) {
|
|
220
|
-
return bad("activation shape");
|
|
221
|
-
}
|
|
222
|
-
if (typeof value.operation !== "string") {
|
|
223
|
-
return bad("activation operation");
|
|
224
|
-
}
|
|
225
|
-
if (typeof value.planSetDigest !== "string") {
|
|
226
|
-
return bad("activation planSetDigest");
|
|
227
|
-
}
|
|
228
|
-
if (typeof value.targetGenesis !== "string") {
|
|
229
|
-
return bad("activation targetGenesis");
|
|
230
|
-
}
|
|
231
|
-
const operation = OperationId.parse(value.operation);
|
|
232
|
-
if (Result.isFailure(operation)) {
|
|
233
|
-
return bad("activation operation");
|
|
234
|
-
}
|
|
235
|
-
const planSetDigest = PlanSetDigest.fromHex(value.planSetDigest);
|
|
236
|
-
if (Result.isFailure(planSetDigest)) {
|
|
237
|
-
return bad("activation planSetDigest");
|
|
238
|
-
}
|
|
239
|
-
const targetGenesis = DecisionDigest.fromHex(value.targetGenesis);
|
|
240
|
-
if (Result.isFailure(targetGenesis)) {
|
|
241
|
-
return bad("activation targetGenesis");
|
|
242
|
-
}
|
|
243
|
-
if (typeof value.target === "string") {
|
|
244
|
-
const target = parseDatabaseIdentity(value.target);
|
|
245
|
-
if (Result.isFailure(target)) {
|
|
246
|
-
return bad("activation target");
|
|
247
|
-
}
|
|
248
|
-
return {
|
|
249
|
-
ok: true,
|
|
250
|
-
value: {
|
|
251
|
-
operation: operation.success,
|
|
252
|
-
planSetDigest: planSetDigest.success,
|
|
253
|
-
target: target.success,
|
|
254
|
-
targetGenesis: targetGenesis.success
|
|
255
|
-
}
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
if (!isRecord(value.target)) {
|
|
259
|
-
return bad("activation target");
|
|
260
|
-
}
|
|
261
|
-
if (typeof value.target.databaseId !== "string" ||
|
|
262
|
-
typeof value.target.incarnationId !== "string" ||
|
|
263
|
-
typeof value.target.schemaId !== "string") {
|
|
264
|
-
return bad("activation target");
|
|
265
|
-
}
|
|
266
|
-
const databaseId = DatabaseId.parse(value.target.databaseId);
|
|
267
|
-
if (Result.isFailure(databaseId)) {
|
|
268
|
-
return bad("activation target databaseId");
|
|
269
|
-
}
|
|
270
|
-
const incarnationId = IncarnationId.parse(value.target.incarnationId);
|
|
271
|
-
if (Result.isFailure(incarnationId)) {
|
|
272
|
-
return bad("activation target incarnationId");
|
|
273
|
-
}
|
|
274
|
-
const schemaId = parseSchemaId(value.target.schemaId);
|
|
275
|
-
if (Result.isFailure(schemaId)) {
|
|
276
|
-
return bad("activation target schemaId");
|
|
277
|
-
}
|
|
278
|
-
return {
|
|
279
|
-
ok: true,
|
|
280
|
-
value: {
|
|
281
|
-
operation: operation.success,
|
|
282
|
-
planSetDigest: planSetDigest.success,
|
|
283
|
-
target: {
|
|
284
|
-
databaseId: databaseId.success,
|
|
285
|
-
incarnationId: incarnationId.success,
|
|
286
|
-
schemaId: schemaId.success
|
|
287
|
-
},
|
|
288
|
-
targetGenesis: targetGenesis.success
|
|
289
|
-
}
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
|
-
/** Decode a persisted ready-to-switch migrate outcome's activation field. */
|
|
293
|
-
export function decodeReadyToSwitchActivation(value) {
|
|
294
|
-
if (!isRecord(value)) {
|
|
295
|
-
return bad("migrate outcome shape");
|
|
296
|
-
}
|
|
297
|
-
if (value.kind !== "completed" || !isRecord(value.value) || value.value.kind !== "ready-to-switch") {
|
|
298
|
-
return bad("migrate outcome is not ready-to-switch");
|
|
299
|
-
}
|
|
300
|
-
return decodeActivationRef(value.value.activation);
|
|
301
|
-
}
|
|
302
|
-
//# sourceMappingURL=decode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/migrations/decode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The pure schema diff: previous canonical snapshot versus current canonical
|
|
3
|
-
* snapshot, plus declared typed intent. Structural inference happens ONLY
|
|
4
|
-
* where one safe interpretation exists (unchanged relations/fields carried by
|
|
5
|
-
* identity projections, whole-relation additions, reorders); ambiguous
|
|
6
|
-
* rename-versus-drop, data destruction, required backfills and type changes
|
|
7
|
-
* REQUIRE typed intent or the diff returns the complete finite requirement
|
|
8
|
-
* list — generation never guesses from matching shapes and never fabricates
|
|
9
|
-
* a zero/null.
|
|
10
|
-
*
|
|
11
|
-
* Output is inert plan data with TOTAL ordinary-relation coverage:
|
|
12
|
-
* every ordinary source relation becomes exactly one `map-relation` or
|
|
13
|
-
* `drop-relation`; every ordinary target relation exactly one
|
|
14
|
-
* `map-relation`/`empty-relation`. A source field no expression references is
|
|
15
|
-
* data loss and appears in `destructive` exactly once. Closed relations are
|
|
16
|
-
* sealed schema axioms — unnameable by data operations and exempt from
|
|
17
|
-
* coverage; their evolution is the schema change itself.
|
|
18
|
-
*/
|
|
19
|
-
import type { IntentRequirement } from "./fail.js";
|
|
20
|
-
import type { MigrationIntentEntry } from "./intent.js";
|
|
21
|
-
import type { PlanLoss, PlanOperation, TheorySnapshot } from "./types.js";
|
|
22
|
-
export interface DiffResult {
|
|
23
|
-
/** Maps, empties and drops in canonical order (no seeds, no validate). */
|
|
24
|
-
readonly operations: readonly PlanOperation[];
|
|
25
|
-
readonly destructive: readonly PlanLoss[];
|
|
26
|
-
/** Ordinary target relations receiving declarative seed rows, target order. */
|
|
27
|
-
readonly seedRelations: readonly string[];
|
|
28
|
-
/** Deterministic tokens for the derived human label. */
|
|
29
|
-
readonly labelTokens: readonly string[];
|
|
30
|
-
/** Nonempty means: refuse generation with exactly these requirements. */
|
|
31
|
-
readonly requirements: readonly IntentRequirement[];
|
|
32
|
-
/**
|
|
33
|
-
* True only when every ordinary map is an identity projection.
|
|
34
|
-
* An explicit same-schema convert (units+1) is not identity.
|
|
35
|
-
*/
|
|
36
|
-
readonly identity: boolean;
|
|
37
|
-
}
|
|
38
|
-
export declare function diffSchemas(prev: TheorySnapshot, next: TheorySnapshot, entries: readonly MigrationIntentEntry[]): DiffResult;
|
|
39
|
-
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/migrations/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,KAAK,EAAgB,QAAQ,EAAE,aAAa,EAAkB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAEjH,MAAM,WAAW,UAAU;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAA;IAC7C,QAAQ,CAAC,WAAW,EAAE,SAAS,QAAQ,EAAE,CAAA;IACzC,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,wDAAwD;IACxD,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACnD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AAwBD,wBAAgB,WAAW,CAC1B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,SAAS,oBAAoB,EAAE,GACtC,UAAU,CA4fZ"}
|