@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.
Files changed (122) hide show
  1. package/README.md +152 -63
  2. package/dist/admin.d.ts +1 -1
  3. package/dist/bin.d.ts.map +1 -0
  4. package/dist/bin.js +13 -0
  5. package/dist/bin.js.map +1 -0
  6. package/dist/codes.d.ts +1 -1
  7. package/dist/codes.d.ts.map +1 -1
  8. package/dist/codes.js +1 -8
  9. package/dist/codes.js.map +1 -1
  10. package/dist/errors.d.ts +7 -21
  11. package/dist/errors.d.ts.map +1 -1
  12. package/dist/errors.js +11 -45
  13. package/dist/errors.js.map +1 -1
  14. package/dist/identity.d.ts +0 -8
  15. package/dist/identity.d.ts.map +1 -1
  16. package/dist/identity.js +0 -5
  17. package/dist/identity.js.map +1 -1
  18. package/dist/index.d.ts +5 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/machine.d.ts +4 -28
  23. package/dist/machine.d.ts.map +1 -1
  24. package/dist/machine.js +183 -246
  25. package/dist/machine.js.map +1 -1
  26. package/dist/native.d.ts +59 -154
  27. package/dist/native.d.ts.map +1 -1
  28. package/dist/native.js.map +1 -1
  29. package/dist/options.d.ts +2 -11
  30. package/dist/options.d.ts.map +1 -1
  31. package/dist/outcome.d.ts +1 -85
  32. package/dist/outcome.d.ts.map +1 -1
  33. package/dist/schema-files.d.ts +16 -0
  34. package/dist/schema-files.d.ts.map +1 -0
  35. package/dist/schema-files.js +77 -0
  36. package/dist/schema-files.js.map +1 -0
  37. package/dist/schema.d.ts +6 -9
  38. package/dist/schema.d.ts.map +1 -1
  39. package/dist/schema.js +8 -8
  40. package/dist/schema.js.map +1 -1
  41. package/dist/transition.d.ts +75 -0
  42. package/dist/transition.d.ts.map +1 -0
  43. package/dist/transition.js +3 -0
  44. package/dist/transition.js.map +1 -0
  45. package/pack-provenance.json +4 -4
  46. package/package.json +4 -8
  47. package/dist/migration-ops.d.ts +0 -20
  48. package/dist/migration-ops.d.ts.map +0 -1
  49. package/dist/migration-ops.js +0 -7
  50. package/dist/migration-ops.js.map +0 -1
  51. package/dist/migrations/bin.d.ts.map +0 -1
  52. package/dist/migrations/bin.js +0 -30
  53. package/dist/migrations/bin.js.map +0 -1
  54. package/dist/migrations/canonical.d.ts +0 -40
  55. package/dist/migrations/canonical.d.ts.map +0 -1
  56. package/dist/migrations/canonical.js +0 -156
  57. package/dist/migrations/canonical.js.map +0 -1
  58. package/dist/migrations/cli.d.ts +0 -29
  59. package/dist/migrations/cli.d.ts.map +0 -1
  60. package/dist/migrations/cli.js +0 -124
  61. package/dist/migrations/cli.js.map +0 -1
  62. package/dist/migrations/codec.d.ts +0 -74
  63. package/dist/migrations/codec.d.ts.map +0 -1
  64. package/dist/migrations/codec.js +0 -2
  65. package/dist/migrations/codec.js.map +0 -1
  66. package/dist/migrations/decode.d.ts +0 -16
  67. package/dist/migrations/decode.d.ts.map +0 -1
  68. package/dist/migrations/decode.js +0 -302
  69. package/dist/migrations/decode.js.map +0 -1
  70. package/dist/migrations/diff.d.ts +0 -39
  71. package/dist/migrations/diff.d.ts.map +0 -1
  72. package/dist/migrations/diff.js +0 -385
  73. package/dist/migrations/diff.js.map +0 -1
  74. package/dist/migrations/expr.d.ts +0 -22
  75. package/dist/migrations/expr.d.ts.map +0 -1
  76. package/dist/migrations/expr.js +0 -219
  77. package/dist/migrations/expr.js.map +0 -1
  78. package/dist/migrations/fail.d.ts +0 -22
  79. package/dist/migrations/fail.d.ts.map +0 -1
  80. package/dist/migrations/fail.js +0 -52
  81. package/dist/migrations/fail.js.map +0 -1
  82. package/dist/migrations/fsops.d.ts +0 -37
  83. package/dist/migrations/fsops.d.ts.map +0 -1
  84. package/dist/migrations/fsops.js +0 -222
  85. package/dist/migrations/fsops.js.map +0 -1
  86. package/dist/migrations/generate.d.ts +0 -11
  87. package/dist/migrations/generate.d.ts.map +0 -1
  88. package/dist/migrations/generate.js +0 -455
  89. package/dist/migrations/generate.js.map +0 -1
  90. package/dist/migrations/index.d.ts +0 -23
  91. package/dist/migrations/index.d.ts.map +0 -1
  92. package/dist/migrations/index.js +0 -6
  93. package/dist/migrations/index.js.map +0 -1
  94. package/dist/migrations/intent.d.ts +0 -86
  95. package/dist/migrations/intent.d.ts.map +0 -1
  96. package/dist/migrations/intent.js +0 -97
  97. package/dist/migrations/intent.js.map +0 -1
  98. package/dist/migrations/lock.d.ts +0 -27
  99. package/dist/migrations/lock.d.ts.map +0 -1
  100. package/dist/migrations/lock.js +0 -14
  101. package/dist/migrations/lock.js.map +0 -1
  102. package/dist/migrations/native.d.ts +0 -26
  103. package/dist/migrations/native.d.ts.map +0 -1
  104. package/dist/migrations/native.js +0 -124
  105. package/dist/migrations/native.js.map +0 -1
  106. package/dist/migrations/repo.d.ts +0 -38
  107. package/dist/migrations/repo.d.ts.map +0 -1
  108. package/dist/migrations/repo.js +0 -191
  109. package/dist/migrations/repo.js.map +0 -1
  110. package/dist/migrations/theory.d.ts +0 -21
  111. package/dist/migrations/theory.d.ts.map +0 -1
  112. package/dist/migrations/theory.js +0 -107
  113. package/dist/migrations/theory.js.map +0 -1
  114. package/dist/migrations/types.d.ts +0 -242
  115. package/dist/migrations/types.d.ts.map +0 -1
  116. package/dist/migrations/types.js +0 -2
  117. package/dist/migrations/types.js.map +0 -1
  118. package/dist/migrations/workflow.d.ts +0 -11
  119. package/dist/migrations/workflow.d.ts.map +0 -1
  120. package/dist/migrations/workflow.js +0 -14
  121. package/dist/migrations/workflow.js.map +0 -1
  122. /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, OperationId, OperationRef, PlanSetDigest, ReceiptEpoch, RootId, StateStamp } from "./identity.js";
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
@@ -1 +1 @@
1
- {"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../src/outcome.ts"],"names":[],"mappings":"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"}
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":"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"}
package/dist/schema.d.ts CHANGED
@@ -1,10 +1,7 @@
1
- /**
2
- * `@bjornpagen/bumbledb-log/schema` ONLY pure schema-evolution intent
3
- * constructors. These build inert typed metadata over the core's
4
- * own schema/`ScalarExpr` values; generation, filesystem work, hashing and
5
- * execution live in `@bjornpagen/bumbledb-log/migrations` and the native
6
- * codec. Importing this module performs no native work.
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
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,EACN,QAAQ,EACR,OAAO,EACP,SAAS,EACT,YAAY,EACZ,eAAe,EACf,WAAW,EACX,cAAc,EACd,IAAI,EACJ,MAAM,uBAAuB,CAAA"}
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
- * `@bjornpagen/bumbledb-log/schema` ONLY pure schema-evolution intent
3
- * constructors. These build inert typed metadata over the core's
4
- * own schema/`ScalarExpr` values; generation, filesystem work, hashing and
5
- * execution live in `@bjornpagen/bumbledb-log/migrations` and the native
6
- * codec. Importing this module performs no native work.
7
- */
8
- export { backfill, convert, dropField, dropRelation, migrationIntent, renameField, renameRelation, seed } from "#migrations/intent.ts";
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
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACN,QAAQ,EACR,OAAO,EACP,SAAS,EACT,YAAY,EACZ,eAAe,EACf,WAAW,EACX,cAAc,EACd,IAAI,EACJ,MAAM,uBAAuB,CAAA"}
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,3 @@
1
+ import { log } from "#production.ts";
2
+ export const Transition = log.Transition;
3
+ //# sourceMappingURL=transition.js.map
@@ -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"}
@@ -1,7 +1,7 @@
1
1
  {
2
- "candidateSourceDigest": "ca9592096bd15b3f2a56e586a074505ae6695befdad7ed4df816af59a0ae1bf5",
3
- "specificationRevision": "87e9a83ee21d1f843c73ac6e7057b2b740db75aae70a553b8053b4f38e87bd2d",
4
- "stagedAt": "2026-09-11T13:37:06.952Z",
2
+ "candidateSourceDigest": "7109ef17978c17a195301260c8b4cd2736ce785646c46c61d61bf7850c4299da",
3
+ "specificationRevision": "91f64ebf5ccf285a072aeff41ca364d1e837259e4273f9be12a0a5959c38a45e",
4
+ "stagedAt": "2026-09-12T00:04:05.017Z",
5
5
  "package": "@bjornpagen/bumbledb-log",
6
- "version": "1.2.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.2.1",
4
- "description": "Durable named application commands over bumbledb: LocalHistory, HostedHistory, sealed commands with retained refs, published snapshots, one native TenantCache, and explicit maintenance/migration operations (Effect-only)",
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/migrations/bin.js"
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.2.1",
48
+ "@bjornpagen/bumbledb": "1.3.1",
53
49
  "effect": "4.0.0-rc.112"
54
50
  },
55
51
  "engines": {
@@ -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"}
@@ -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":""}
@@ -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"}