@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
package/dist/outcome.d.ts
CHANGED
|
@@ -10,8 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { StorageInspection, Violation } from "@bjornpagen/bumbledb";
|
|
12
12
|
import type { LogError } from "./errors.js";
|
|
13
|
-
import type { CommandRef, DatabaseIdentity, DecisionStamp,
|
|
14
|
-
import type { ActivationRef, GeneratedMigrations } from "./migrations/types.js";
|
|
13
|
+
import type { CommandRef, DatabaseIdentity, DecisionStamp, OperationRef, ReceiptEpoch, RootId, StateStamp } from "./identity.js";
|
|
15
14
|
import type { HistoryBinding } from "./options.js";
|
|
16
15
|
/** Bounded caller-declared scalar result metadata (core canonical scalars). */
|
|
17
16
|
export type CommandScalar = bigint | number | string | boolean | Uint8Array;
|
|
@@ -41,8 +40,6 @@ export interface TerminalReceipt {
|
|
|
41
40
|
readonly stateAt: StateStamp;
|
|
42
41
|
readonly outcome: TerminalOutcome;
|
|
43
42
|
}
|
|
44
|
-
/** Where an authoritative operation is in its publication lifecycle. */
|
|
45
|
-
export type PublicationPhase = "prepared" | "dispatchedUnresolved" | "confirmed" | "provedNonpublication";
|
|
46
43
|
/**
|
|
47
44
|
* This invocation's materialization, not durable receipt content. A
|
|
48
45
|
* resolved receipt does not prove the local cache reached that decision.
|
|
@@ -58,17 +55,14 @@ export type SubmitOutcome = {
|
|
|
58
55
|
readonly kind: "decided";
|
|
59
56
|
readonly receipt: TerminalReceipt;
|
|
60
57
|
readonly localHealth: LocalMaterializationHealth;
|
|
61
|
-
readonly phase: PublicationPhase;
|
|
62
58
|
} | {
|
|
63
59
|
readonly kind: "not-submitted";
|
|
64
60
|
readonly command: CommandRef;
|
|
65
61
|
readonly error: LogError;
|
|
66
|
-
readonly phase: PublicationPhase;
|
|
67
62
|
} | {
|
|
68
63
|
readonly kind: "outcome-unknown";
|
|
69
64
|
readonly command: CommandRef;
|
|
70
65
|
readonly error: LogError;
|
|
71
|
-
readonly phase: PublicationPhase;
|
|
72
66
|
};
|
|
73
67
|
export type ResolveOutcome = {
|
|
74
68
|
readonly kind: "found";
|
|
@@ -138,17 +132,14 @@ export type AdminOutcome<Value> = {
|
|
|
138
132
|
readonly kind: "completed";
|
|
139
133
|
readonly ref: OperationRef;
|
|
140
134
|
readonly value: Value;
|
|
141
|
-
readonly phase: PublicationPhase;
|
|
142
135
|
} | {
|
|
143
136
|
readonly kind: "not-started";
|
|
144
137
|
readonly ref: OperationRef;
|
|
145
138
|
readonly error: LogError;
|
|
146
|
-
readonly phase: PublicationPhase;
|
|
147
139
|
} | {
|
|
148
140
|
readonly kind: "outcome-unknown";
|
|
149
141
|
readonly ref: OperationRef;
|
|
150
142
|
readonly error: LogError;
|
|
151
|
-
readonly phase: PublicationPhase;
|
|
152
143
|
};
|
|
153
144
|
export interface CheckpointReport {
|
|
154
145
|
readonly at: DecisionStamp;
|
|
@@ -206,79 +197,4 @@ export interface ErasureReport {
|
|
|
206
197
|
/** Residual copies reported honestly, never a secure-erase claim. */
|
|
207
198
|
readonly residual: readonly ResidualCopy[];
|
|
208
199
|
}
|
|
209
|
-
export type { ActivationRef, GeneratedMigrations };
|
|
210
|
-
/** Binds abort to the exact operation, plan set and planned target. */
|
|
211
|
-
export interface MigrationRef {
|
|
212
|
-
readonly operation: OperationRef;
|
|
213
|
-
readonly planSetDigest: PlanSetDigest;
|
|
214
|
-
readonly target: DatabaseIdentity;
|
|
215
|
-
}
|
|
216
|
-
export interface SourceAccessReport {
|
|
217
|
-
readonly access: AccessMode;
|
|
218
|
-
readonly operation: OperationId | null;
|
|
219
|
-
}
|
|
220
|
-
export type MigrateValue = {
|
|
221
|
-
readonly kind: "up-to-date";
|
|
222
|
-
readonly binding: HistoryBinding;
|
|
223
|
-
} | {
|
|
224
|
-
readonly kind: "ready-to-switch";
|
|
225
|
-
readonly deploymentBinding: HistoryBinding;
|
|
226
|
-
readonly activation: ActivationRef;
|
|
227
|
-
} | {
|
|
228
|
-
readonly kind: "paused";
|
|
229
|
-
readonly error: LogError;
|
|
230
|
-
readonly sourceState: SourceAccessReport;
|
|
231
|
-
};
|
|
232
|
-
export interface InitializeValue {
|
|
233
|
-
readonly binding: HistoryBinding;
|
|
234
|
-
readonly genesis: string;
|
|
235
|
-
}
|
|
236
|
-
export interface ActivationReport {
|
|
237
|
-
readonly target: DatabaseIdentity;
|
|
238
|
-
readonly accessMode: AccessMode;
|
|
239
|
-
readonly operation: OperationId;
|
|
240
|
-
/** True when this invocation performed the one-time transition. */
|
|
241
|
-
readonly activatedNow: boolean;
|
|
242
|
-
}
|
|
243
|
-
export interface AbortReport {
|
|
244
|
-
readonly target: DatabaseIdentity;
|
|
245
|
-
readonly targetFenced: boolean;
|
|
246
|
-
readonly sourceAccess: AccessMode;
|
|
247
|
-
}
|
|
248
|
-
export type MigrationStatus = {
|
|
249
|
-
readonly kind: "up-to-date";
|
|
250
|
-
readonly appliedPrefixDigest: string;
|
|
251
|
-
} | {
|
|
252
|
-
readonly kind: "pending";
|
|
253
|
-
readonly pending: readonly string[];
|
|
254
|
-
} | {
|
|
255
|
-
readonly kind: "in-progress";
|
|
256
|
-
readonly operation: OperationRef;
|
|
257
|
-
} | {
|
|
258
|
-
readonly kind: "paused";
|
|
259
|
-
readonly operation: OperationRef;
|
|
260
|
-
readonly error: LogError;
|
|
261
|
-
readonly sourceState: SourceAccessReport;
|
|
262
|
-
} | {
|
|
263
|
-
readonly kind: "ready-to-switch";
|
|
264
|
-
readonly operation: OperationRef;
|
|
265
|
-
readonly activation: ActivationRef;
|
|
266
|
-
} | {
|
|
267
|
-
readonly kind: "activated";
|
|
268
|
-
readonly operation: OperationRef;
|
|
269
|
-
readonly target: DatabaseIdentity;
|
|
270
|
-
} | {
|
|
271
|
-
readonly kind: "aborted";
|
|
272
|
-
readonly operation: OperationRef;
|
|
273
|
-
} | {
|
|
274
|
-
readonly kind: "outcome-unknown";
|
|
275
|
-
readonly operation: OperationRef;
|
|
276
|
-
readonly error: LogError;
|
|
277
|
-
} | {
|
|
278
|
-
readonly kind: "drift";
|
|
279
|
-
readonly detail: string;
|
|
280
|
-
} | {
|
|
281
|
-
readonly kind: "database-ahead";
|
|
282
|
-
readonly detail: string;
|
|
283
|
-
};
|
|
284
200
|
//# sourceMappingURL=outcome.d.ts.map
|
package/dist/outcome.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../src/outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EACX,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../src/outcome.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
export declare const usage = "bumbledb-log snapshot --schema <module.ts> --out <snapshot.json> [--export <name>]\nbumbledb-log bindings --snapshot <snapshot.json> --out <bindings.ts>";
|
|
3
|
+
export type SchemaFileArguments = {
|
|
4
|
+
readonly command: "snapshot";
|
|
5
|
+
readonly input: string;
|
|
6
|
+
readonly output: string;
|
|
7
|
+
readonly exportName: string;
|
|
8
|
+
} | {
|
|
9
|
+
readonly command: "bindings";
|
|
10
|
+
readonly input: string;
|
|
11
|
+
readonly output: string;
|
|
12
|
+
};
|
|
13
|
+
export declare function parseArguments(args: readonly string[]): SchemaFileArguments | undefined;
|
|
14
|
+
/** The output is replaced only after native admission and emission succeed. */
|
|
15
|
+
export declare const writeSchemaFile: (args: SchemaFileArguments) => Effect.Effect<void, unknown, import("@bjornpagen/bumbledb").NativeRuntime>;
|
|
16
|
+
//# sourceMappingURL=schema-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-files.d.ts","sourceRoot":"","sources":["../src/schema-files.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAO,MAAM,KAAK,6JACyI,CAAA;AAE3J,MAAM,MAAM,mBAAmB,GAC5B;IAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9G;IAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpF,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,mBAAmB,GAAG,SAAS,CAsBvF;AAeD,+EAA+E;AAC/E,eAAO,MAAM,eAAe,2GA2B1B,CAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
9
|
+
import * as fs from "node:fs/promises";
|
|
10
|
+
import * as path from "node:path";
|
|
11
|
+
import { pathToFileURL } from "node:url";
|
|
12
|
+
import { Effect } from "effect";
|
|
13
|
+
import { schemaBindings, schemaSnapshot } from "#schema.ts";
|
|
14
|
+
export const usage = "bumbledb-log snapshot --schema <module.ts> --out <snapshot.json> [--export <name>]\nbumbledb-log bindings --snapshot <snapshot.json> --out <bindings.ts>";
|
|
15
|
+
export function parseArguments(args) {
|
|
16
|
+
const command = args[0];
|
|
17
|
+
if (command !== "snapshot" && command !== "bindings")
|
|
18
|
+
return undefined;
|
|
19
|
+
const flags = new Map();
|
|
20
|
+
for (let i = 1; i < args.length; i += 2) {
|
|
21
|
+
const flag = args[i];
|
|
22
|
+
const value = args[i + 1];
|
|
23
|
+
if (flag === undefined || value === undefined || flags.has(flag))
|
|
24
|
+
return undefined;
|
|
25
|
+
if (flag !== "--out" &&
|
|
26
|
+
flag !== (command === "snapshot" ? "--schema" : "--snapshot") &&
|
|
27
|
+
!(command === "snapshot" && flag === "--export"))
|
|
28
|
+
return undefined;
|
|
29
|
+
flags.set(flag, value);
|
|
30
|
+
}
|
|
31
|
+
const input = flags.get(command === "snapshot" ? "--schema" : "--snapshot");
|
|
32
|
+
const output = flags.get("--out");
|
|
33
|
+
if (!input || !output || path.resolve(input) === path.resolve(output))
|
|
34
|
+
return undefined;
|
|
35
|
+
return command === "snapshot"
|
|
36
|
+
? { command, input, output, exportName: flags.get("--export") ?? "schema" }
|
|
37
|
+
: { command, input, output };
|
|
38
|
+
}
|
|
39
|
+
function isSchema(input) {
|
|
40
|
+
return (typeof input === "object" &&
|
|
41
|
+
input !== null &&
|
|
42
|
+
"relations" in input &&
|
|
43
|
+
"statements" in input &&
|
|
44
|
+
"classes" in input &&
|
|
45
|
+
"name" in input);
|
|
46
|
+
}
|
|
47
|
+
const io = (operation) => Effect.tryPromise({ try: operation, catch: (cause) => cause });
|
|
48
|
+
/** The output is replaced only after native admission and emission succeed. */
|
|
49
|
+
export const writeSchemaFile = Effect.fn("bumbledb-log.writeSchemaFile")(function* (args) {
|
|
50
|
+
const source = yield* Effect.gen(function* () {
|
|
51
|
+
if (args.command === "bindings") {
|
|
52
|
+
return yield* schemaBindings(yield* io(() => fs.readFile(args.input, "utf8")));
|
|
53
|
+
}
|
|
54
|
+
const loaded = yield* io(() => import(__rewriteRelativeImportExtension(pathToFileURL(path.resolve(args.input)).href)));
|
|
55
|
+
if (typeof loaded !== "object" || loaded === null || !Object.hasOwn(loaded, args.exportName)) {
|
|
56
|
+
return yield* Effect.fail(new Error(`missing schema export ${args.exportName}`));
|
|
57
|
+
}
|
|
58
|
+
const candidate = Reflect.get(loaded, args.exportName);
|
|
59
|
+
if (!isSchema(candidate))
|
|
60
|
+
return yield* Effect.fail(new Error(`export ${args.exportName} is not a schema`));
|
|
61
|
+
return yield* schemaSnapshot(candidate);
|
|
62
|
+
});
|
|
63
|
+
// Mask interruption over the short replace/cleanup sequence. Releasing
|
|
64
|
+
// a temporary path before an outstanding write settles would race it.
|
|
65
|
+
yield* Effect.uninterruptible(io(async () => {
|
|
66
|
+
const directory = await fs.mkdtemp(path.join(path.dirname(path.resolve(args.output)), ".bumbledb-schema-"));
|
|
67
|
+
try {
|
|
68
|
+
const temporary = path.join(directory, "output");
|
|
69
|
+
await fs.writeFile(temporary, source, { flag: "wx" });
|
|
70
|
+
await fs.rename(temporary, args.output);
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
await fs.rm(directory, { recursive: true, force: true });
|
|
74
|
+
}
|
|
75
|
+
}));
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=schema-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-files.js","sourceRoot":"","sources":["../src/schema-files.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3D,MAAM,CAAC,MAAM,KAAK,GACjB,0JAA0J,CAAA;AAM3J,MAAM,UAAU,cAAc,CAAC,IAAuB;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACvB,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,SAAS,CAAA;IACtE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACzB,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAA;QAClF,IACC,IAAI,KAAK,OAAO;YAChB,IAAI,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;YAC7D,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,IAAI,KAAK,UAAU,CAAC;YAEhD,OAAO,SAAS,CAAA;QACjB,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAA;IACvF,OAAO,OAAO,KAAK,UAAU;QAC5B,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,QAAQ,EAAE;QAC3E,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAC9B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK;QACpB,YAAY,IAAI,KAAK;QACrB,SAAS,IAAI,KAAK;QAClB,MAAM,IAAI,KAAK,CACf,CAAA;AACF,CAAC;AAED,MAAM,EAAE,GAAG,CAAI,SAA2B,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;AAE7G,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAyB;IAC5G,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;QAC/E,CAAC;QACD,MAAM,MAAM,GAAY,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,kCAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,CAAA;QAC7F,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9F,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QACjF,CAAC;QACD,MAAM,SAAS,GAAY,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,UAAU,kBAAkB,CAAC,CAAC,CAAA;QAC3G,OAAO,KAAK,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IACF,uEAAuE;IACvE,sEAAsE;IACtE,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAC5B,EAAE,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAA;QAC3G,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YAChD,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YACrD,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACxC,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,CAAC;IACF,CAAC,CAAC,CACF,CAAA;AACF,CAAC,CAAC,CAAA"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
export type { MigrationIntent, MigrationIntentEntry } from "./migrations/intent.js";
|
|
9
|
-
export { backfill, convert, dropField, dropRelation, migrationIntent, renameField, renameRelation, seed } from "./migrations/intent.js";
|
|
1
|
+
import type { AnySchema } from "@bjornpagen/bumbledb";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
/** Admit an authored schema and render its canonical native snapshot. */
|
|
4
|
+
export declare const schemaSnapshot: (schema: AnySchema) => Effect.Effect<string, import("@bjornpagen/bumbledb").DbError, import("@bjornpagen/bumbledb").NativeRuntime>;
|
|
5
|
+
/** Emit ordinary, typed SDK declarations from one independently retained snapshot. */
|
|
6
|
+
export declare const schemaBindings: (snapshot: string) => Effect.Effect<string, import("@bjornpagen/bumbledb").DbError, import("@bjornpagen/bumbledb").NativeRuntime>;
|
|
10
7
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,yEAAyE;AACzE,eAAO,MAAM,cAAc,oIAEzB,CAAA;AAEF,sFAAsF;AACtF,eAAO,MAAM,cAAc,mIAAyB,CAAA"}
|
package/dist/schema.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
export
|
|
1
|
+
import { internalSchemaBindings, internalSchemaSnapshot, lower } from "@bjornpagen/bumbledb/internal/log";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
/** Admit an authored schema and render its canonical native snapshot. */
|
|
4
|
+
export const schemaSnapshot = Effect.fn("bumbledb-log.schemaSnapshot")(function* (schema) {
|
|
5
|
+
return yield* internalSchemaSnapshot(lower(schema));
|
|
6
|
+
});
|
|
7
|
+
/** Emit ordinary, typed SDK declarations from one independently retained snapshot. */
|
|
8
|
+
export const schemaBindings = internalSchemaBindings;
|
|
9
9
|
//# sourceMappingURL=schema.js.map
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,yEAAyE;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAiB;IAClG,OAAO,KAAK,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;AACpD,CAAC,CAAC,CAAA;AAEF,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { AnySchema, ChangeSet, CloseReport } from "@bjornpagen/bumbledb";
|
|
2
|
+
import type { Effect, Scope } from "effect";
|
|
3
|
+
import type { LogError } from "./errors.js";
|
|
4
|
+
import type { DatabaseIdentity, DecisionDigest, DecisionStamp, OperationId, StateStamp } from "./identity.js";
|
|
5
|
+
import type { LocalBinding } from "./options.js";
|
|
6
|
+
import type { History, HistoryBorrow, PublishedSnapshot } from "./surface.js";
|
|
7
|
+
/** Retain before dispatch. The commitment identifies application intent; it
|
|
8
|
+
* does not prove which TypeScript ran or whether data was preserved. */
|
|
9
|
+
export interface TransitionContract {
|
|
10
|
+
readonly operation: OperationId;
|
|
11
|
+
readonly source: DatabaseIdentity;
|
|
12
|
+
readonly target: DatabaseIdentity;
|
|
13
|
+
readonly commitment: string;
|
|
14
|
+
}
|
|
15
|
+
export interface TransitionCapture {
|
|
16
|
+
readonly contract: TransitionContract;
|
|
17
|
+
readonly decision: DecisionStamp;
|
|
18
|
+
readonly state: StateStamp;
|
|
19
|
+
}
|
|
20
|
+
/** Native evidence of the one admitted target. Keep bytes for retries;
|
|
21
|
+
* activation validates them rather than trusting the decoded display fields. */
|
|
22
|
+
export interface InstalledTransition {
|
|
23
|
+
readonly captured: TransitionCapture;
|
|
24
|
+
readonly applicationDigest: string;
|
|
25
|
+
readonly bytes: Uint8Array;
|
|
26
|
+
}
|
|
27
|
+
export interface Population<S extends AnySchema> {
|
|
28
|
+
readonly schema: S;
|
|
29
|
+
/** Sequential native batches, with complete law judgment at finish. */
|
|
30
|
+
apply(changes: ChangeSet<S>): Effect.Effect<void, LogError>;
|
|
31
|
+
/** Consumes all writer aliases. Resolve the contract after an uncertain failure. */
|
|
32
|
+
finish(): Effect.Effect<ReadyTransition, LogError>;
|
|
33
|
+
/** Releases the attempt; durable abort/thaw is always explicit. */
|
|
34
|
+
close(): Effect.Effect<CloseReport>;
|
|
35
|
+
}
|
|
36
|
+
export interface ReadyTransition {
|
|
37
|
+
readonly kind: "ready";
|
|
38
|
+
readonly installed: InstalledTransition;
|
|
39
|
+
readonly binding: LocalBinding;
|
|
40
|
+
}
|
|
41
|
+
export interface ActivatedTransition {
|
|
42
|
+
readonly kind: "activated";
|
|
43
|
+
readonly contract: TransitionContract;
|
|
44
|
+
readonly genesis: DecisionDigest;
|
|
45
|
+
readonly binding: LocalBinding;
|
|
46
|
+
}
|
|
47
|
+
export type TransitionResolution = ReadyTransition | ActivatedTransition | {
|
|
48
|
+
readonly kind: "uninstalled";
|
|
49
|
+
} | {
|
|
50
|
+
readonly kind: "aborted";
|
|
51
|
+
};
|
|
52
|
+
export type TransitionStart<S extends AnySchema, T extends AnySchema> = {
|
|
53
|
+
readonly kind: "populating";
|
|
54
|
+
readonly captured: TransitionCapture;
|
|
55
|
+
readonly source: PublishedSnapshot<S>;
|
|
56
|
+
readonly population: Population<T>;
|
|
57
|
+
readonly binding: LocalBinding;
|
|
58
|
+
} | (ReadyTransition & {
|
|
59
|
+
readonly source: PublishedSnapshot<S>;
|
|
60
|
+
}) | ActivatedTransition | {
|
|
61
|
+
readonly kind: "aborted";
|
|
62
|
+
};
|
|
63
|
+
type Source<S extends AnySchema> = History<S> | HistoryBorrow<S>;
|
|
64
|
+
export interface TransitionOperations {
|
|
65
|
+
begin<S extends AnySchema, T extends AnySchema>(source: Source<S>, target: T, contract: TransitionContract): Effect.Effect<TransitionStart<S, T>, LogError, Scope.Scope>;
|
|
66
|
+
resolve<S extends AnySchema, T extends AnySchema>(source: Source<S>, target: T, contract: TransitionContract): Effect.Effect<TransitionResolution, LogError>;
|
|
67
|
+
/** Open the ready binding using the ordinary LocalHistory API, inspect in
|
|
68
|
+
* a nested scope, and release that scope before activating. */
|
|
69
|
+
inspect<T extends AnySchema>(target: Source<T>, installed: InstalledTransition): Effect.Effect<PublishedSnapshot<T>, LogError, Scope.Scope>;
|
|
70
|
+
activate<S extends AnySchema, T extends AnySchema>(source: Source<S>, target: T, installed: InstalledTransition): Effect.Effect<ActivatedTransition, LogError>;
|
|
71
|
+
abort<S extends AnySchema, T extends AnySchema>(source: Source<S>, target: T, contract: TransitionContract): Effect.Effect<void, LogError>;
|
|
72
|
+
}
|
|
73
|
+
export declare const Transition: TransitionOperations;
|
|
74
|
+
export {};
|
|
75
|
+
//# sourceMappingURL=transition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition.d.ts","sourceRoot":"","sources":["../src/transition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition.js","sourceRoot":"","sources":["../src/transition.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAwFpC,MAAM,CAAC,MAAM,UAAU,GAAyB,GAAG,CAAC,UAAU,CAAA"}
|
package/pack-provenance.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"candidateSourceDigest": "
|
|
3
|
-
"specificationRevision": "
|
|
4
|
-
"stagedAt": "2026-09-
|
|
2
|
+
"candidateSourceDigest": "7109ef17978c17a195301260c8b4cd2736ce785646c46c61d61bf7850c4299da",
|
|
3
|
+
"specificationRevision": "91f64ebf5ccf285a072aeff41ca364d1e837259e4273f9be12a0a5959c38a45e",
|
|
4
|
+
"stagedAt": "2026-09-12T00:04:05.017Z",
|
|
5
5
|
"package": "@bjornpagen/bumbledb-log",
|
|
6
|
-
"version": "1.
|
|
6
|
+
"version": "1.3.1"
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bjornpagen/bumbledb-log",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Durable
|
|
3
|
+
"version": "1.3.1",
|
|
4
|
+
"description": "Durable application commands, coherent readers, native schema transitions and generated schema bindings for BumbleDB (Effect-only)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
@@ -11,14 +11,10 @@
|
|
|
11
11
|
"./schema": {
|
|
12
12
|
"types": "./dist/schema.d.ts",
|
|
13
13
|
"default": "./dist/schema.js"
|
|
14
|
-
},
|
|
15
|
-
"./migrations": {
|
|
16
|
-
"types": "./dist/migrations/index.d.ts",
|
|
17
|
-
"default": "./dist/migrations/index.js"
|
|
18
14
|
}
|
|
19
15
|
},
|
|
20
16
|
"bin": {
|
|
21
|
-
"bumbledb-log": "./dist/
|
|
17
|
+
"bumbledb-log": "./dist/bin.js"
|
|
22
18
|
},
|
|
23
19
|
"imports": {
|
|
24
20
|
"#test/*.ts": "./test/*.ts",
|
|
@@ -49,7 +45,7 @@
|
|
|
49
45
|
},
|
|
50
46
|
"homepage": "https://github.com/bjornpagen/bumbledb#readme",
|
|
51
47
|
"peerDependencies": {
|
|
52
|
-
"@bjornpagen/bumbledb": "1.
|
|
48
|
+
"@bjornpagen/bumbledb": "1.3.1",
|
|
53
49
|
"effect": "4.0.0-rc.112"
|
|
54
50
|
},
|
|
55
51
|
"engines": {
|
package/dist/migration-ops.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The migration workflow operations: read-only
|
|
3
|
-
* `migrationStatus` with typed E, and mutating `initialize` / `migrate` /
|
|
4
|
-
* `activateMigration` / `abortMigration` returning `AdminOutcome` certainty
|
|
5
|
-
* with a stable operation reference supplied before dispatch. The
|
|
6
|
-
* `@bjornpagen/bumbledb-log/migrations` module re-exports these wrappers
|
|
7
|
-
* next to its generator; the native executor owns freeze, one-final-
|
|
8
|
-
* target plan execution, validation, genesis publication, activation and
|
|
9
|
-
* the abort fence. `completed` means the reported transition is KNOWN —
|
|
10
|
-
* `migrate` may complete as `paused` with the source still frozen; that is
|
|
11
|
-
* not permission to cut over, and no timer ever thaws a frozen source.
|
|
12
|
-
*/
|
|
13
|
-
import type { MigrationOperations } from "./machine.js";
|
|
14
|
-
export declare const migrationStatus: MigrationOperations["migrationStatus"];
|
|
15
|
-
export declare const initialize: MigrationOperations["initialize"];
|
|
16
|
-
export declare const migrate: MigrationOperations["migrate"];
|
|
17
|
-
export declare const activateMigration: MigrationOperations["activateMigration"];
|
|
18
|
-
export declare const abortMigration: MigrationOperations["abortMigration"];
|
|
19
|
-
export type { MigrationOperations, MigrationPlansInput, MigrationTargetOptions } from "./machine.js";
|
|
20
|
-
//# sourceMappingURL=migration-ops.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migration-ops.d.ts","sourceRoot":"","sources":["../src/migration-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGtD,eAAO,MAAM,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAAkC,CAAA;AACrG,eAAO,MAAM,UAAU,EAAE,mBAAmB,CAAC,YAAY,CAA6B,CAAA;AACtF,eAAO,MAAM,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAA0B,CAAA;AAC7E,eAAO,MAAM,iBAAiB,EAAE,mBAAmB,CAAC,mBAAmB,CAAoC,CAAA;AAC3G,eAAO,MAAM,cAAc,EAAE,mBAAmB,CAAC,gBAAgB,CAAiC,CAAA;AAElG,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/migration-ops.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { log } from "#production.ts";
|
|
2
|
-
export const migrationStatus = log.migrations.migrationStatus;
|
|
3
|
-
export const initialize = log.migrations.initialize;
|
|
4
|
-
export const migrate = log.migrations.migrate;
|
|
5
|
-
export const activateMigration = log.migrations.activateMigration;
|
|
6
|
-
export const abortMigration = log.migrations.abortMigration;
|
|
7
|
-
//# sourceMappingURL=migration-ops.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migration-ops.js","sourceRoot":"","sources":["../src/migration-ops.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,MAAM,CAAC,MAAM,eAAe,GAA2C,GAAG,CAAC,UAAU,CAAC,eAAe,CAAA;AACrG,MAAM,CAAC,MAAM,UAAU,GAAsC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAA;AACtF,MAAM,CAAC,MAAM,OAAO,GAAmC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAA;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAA6C,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAA;AAC3G,MAAM,CAAC,MAAM,cAAc,GAA0C,GAAG,CAAC,UAAU,CAAC,cAAc,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/migrations/bin.ts"],"names":[],"mappings":""}
|
package/dist/migrations/bin.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/** The `bumbledb-log` executable: the one process boundary over the Effect CLI. */
|
|
3
|
-
import { NativeRuntime } from "@bjornpagen/bumbledb";
|
|
4
|
-
import * as NodeRuntime from "@effect/platform-node/NodeRuntime";
|
|
5
|
-
import { Effect, Exit } from "effect";
|
|
6
|
-
import { cliProgram, loadAuthoring, parseCliArguments } from "#migrations/cli.ts";
|
|
7
|
-
const main = Effect.gen(function* () {
|
|
8
|
-
const parsed = parseCliArguments(process.argv.slice(2));
|
|
9
|
-
if (typeof parsed === "string") {
|
|
10
|
-
process.stderr.write(`${parsed}\n`);
|
|
11
|
-
return 2;
|
|
12
|
-
}
|
|
13
|
-
const program = loadAuthoring(parsed).pipe(Effect.flatMap((authored) => cliProgram(parsed, authored)));
|
|
14
|
-
const exit = yield* Effect.exit(program.pipe(Effect.provide(NativeRuntime.layer())));
|
|
15
|
-
if (Exit.isSuccess(exit)) {
|
|
16
|
-
process.stdout.write(`${JSON.stringify(exit.value.report, null, 2)}\n`);
|
|
17
|
-
return exit.value.code;
|
|
18
|
-
}
|
|
19
|
-
const failure = Exit.findErrorOption(exit);
|
|
20
|
-
if (failure._tag === "Some" && typeof failure.value === "string") {
|
|
21
|
-
process.stderr.write(`${failure.value}\n`);
|
|
22
|
-
return 2;
|
|
23
|
-
}
|
|
24
|
-
process.stderr.write(`${JSON.stringify(exit.cause, null, 2)}\n`);
|
|
25
|
-
return 1;
|
|
26
|
-
});
|
|
27
|
-
NodeRuntime.runMain(main, {
|
|
28
|
-
teardown: (exit, onExit) => onExit(Exit.isSuccess(exit) && typeof exit.value === "number" ? exit.value : 1)
|
|
29
|
-
});
|
|
30
|
-
//# sourceMappingURL=bin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/migrations/bin.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEjF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAChC,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAA;QACnC,OAAO,CAAC,CAAA;IACT,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACtG,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;IACpF,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACvE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACvB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAA;QAC1C,OAAO,CAAC,CAAA;IACT,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IAChE,OAAO,CAAC,CAAA;AACT,CAAC,CAAC,CAAA;AAEF,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3G,CAAC,CAAA"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Canonical value spelling and deterministic generated-text helpers.
|
|
3
|
-
*
|
|
4
|
-
* The native codec is the rendering and digest authority for plan,
|
|
5
|
-
* manifest and schema-snapshot FILES: those bytes come back from the native
|
|
6
|
-
* entrypoints (`schema_file::render`, `migration::plan::render_plan`,
|
|
7
|
-
* `migration::manifest::render_manifest`) and are written verbatim, so JSON
|
|
8
|
-
* formatting can never diverge between languages and no digest is computed
|
|
9
|
-
* twice. This module spells only (a) the canonical VALUE arms
|
|
10
|
-
* (`migration::json` grammar) used to hand plan data across the bridge,
|
|
11
|
-
* (b) the small TS-owned derived files (generated `index.ts`, the runtime
|
|
12
|
-
* contract) and (c) deterministic JSON text for requests/reports.
|
|
13
|
-
*
|
|
14
|
-
* Float cells use the canonical bit image — canonical quiet NaN
|
|
15
|
-
* (`7ff8000000000000`), canonical +0 — exactly the core F64 quotient; the
|
|
16
|
-
* native codec re-judges every value.
|
|
17
|
-
*/
|
|
18
|
-
import type { ManifestEntry, MigrationPlan, PlanValue, RuntimeContract } from "./types.js";
|
|
19
|
-
/** Canonical binary64 bit image: quiet NaN, +0 for both zeros. */
|
|
20
|
-
export declare function f64Bits(value: number): string;
|
|
21
|
-
export declare function bytesHex(bytes: Uint8Array): string;
|
|
22
|
-
export type JsonValue = null | boolean | number | string | readonly JsonValue[] | {
|
|
23
|
-
readonly [key: string]: JsonValue;
|
|
24
|
-
};
|
|
25
|
-
export declare function renderJson(value: JsonValue): string;
|
|
26
|
-
/** Compact single-line spelling for request bodies. */
|
|
27
|
-
export declare function compactJson(value: JsonValue): string;
|
|
28
|
-
export declare function valueJson(value: PlanValue): JsonValue;
|
|
29
|
-
export declare function planJson(plan: MigrationPlan): JsonValue;
|
|
30
|
-
export declare function renderContract(contract: RuntimeContract): string;
|
|
31
|
-
/**
|
|
32
|
-
* The generated static index: data imports only, no I/O, no logic. The app's
|
|
33
|
-
* admin runner imports this module's default export as `GeneratedMigrations`.
|
|
34
|
-
* Snapshots are the exact render texts (base first) imported from the
|
|
35
|
-
* derived sidecar — never reformatted by this module.
|
|
36
|
-
*/
|
|
37
|
-
export declare function renderIndex(entries: readonly ManifestEntry[]): string;
|
|
38
|
-
/** Derived sidecar: exact snapshot texts, empty-base first. */
|
|
39
|
-
export declare function renderSnapshots(texts: readonly string[]): string;
|
|
40
|
-
//# sourceMappingURL=canonical.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../src/migrations/canonical.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EACX,aAAa,EACb,aAAa,EAGb,SAAS,EACT,eAAe,EACf,MAAM,sBAAsB,CAAA;AAS7B,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM7C;AAID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAOlD;AAQD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,SAAS,EAAE,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAEvH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEnD;AAED,uDAAuD;AACvD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEpD;AAQD,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CA6BrD;AAiDD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAavD;AAMD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAOhE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,CAYrE;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAEhE"}
|