@bjornpagen/bumbledb 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/db.d.ts CHANGED
@@ -2,18 +2,16 @@
2
2
  * `Db` — the living half of the SDK (PRD-07): open/create a store from a
3
3
  * `Schema`, write typed facts through delta transactions with race-free
4
4
  * final-state point reads, receive rejections as typed violation VALUES
5
- * keyed to statements, and read through scoped snapshots all typed by
6
- * the schema's relations record.
5
+ * keyed to statements, and read through a synchronous instance callback
6
+ * all typed by the schema's relations record.
7
7
  *
8
- * LIFETIMES ARE DISPOSABLES, never `close()` (ruled 2026-07-23, R12): no
9
- * value this module returns carries a close spelling release is
10
- * deterministic and scope-shaped in the language's own syntax. Snapshots
11
- * are scope-shaped both ways: `read(fn)` opens one before `fn` and closes
12
- * it after unconditionally (the {@link ReadScope} handed to `fn` is
13
- * invalidated the moment `fn` returns), and `using snap = db.read()` hands
14
- * the caller the lifetime, released by the scope's own `Symbol.dispose`
15
- * at scope exit. Prepared plans are plain values whose engine-side half
16
- * is reclaimed by a GC finalizer — reclamation only, never correctness.
8
+ * A store read is one callback: `db.read((instance, witness) => …)`. The
9
+ * instance is invalid the moment the callback returns; the witness is a
10
+ * cloneable token and may escape. There is no handle-shaped read and no
11
+ * `using snap = db.read()`. Builder, owned instance, and witness
12
+ * implement `Symbol.dispose`. Prepared plans are plain values whose
13
+ * engine-side half is reclaimed by a GC finalizer reclamation only,
14
+ * never correctness.
17
15
  *
18
16
  * PROCESS MODEL: one process, one exclusive-lock handle per store. The
19
17
  * `Db` value owns the LMDB environment's exclusive lock until process
@@ -24,12 +22,12 @@
24
22
  * policy.
25
23
  *
26
24
  * REJECTION IS DATA: a rejected commit is a domain outcome (it becomes the
27
- * LLM repair prompt downstream), returned as a {@link WriteResult} carrying
28
- * {@link Violation} values. Genuine failures I/O, used-after-scope,
29
- * marshal shape, a moved generation on {@link Db.writeFrom} throw
30
- * `@superbuilders/errors` wrapped errors instead.
25
+ * LLM repair prompt downstream), returned as a {@link WriteOutcome}
26
+ * carrying {@link Violation} values. A moved generation on
27
+ * {@link Db.writeFrom} is the `{ tag: "moved" }` arm, not an exception.
28
+ * Genuine failures — I/O, used-after-scope, spent handle, marshal shape —
29
+ * throw `@superbuilders/errors` wrapped errors instead.
31
30
  */
32
- import type { Exhumed } from "./exhume.js";
33
31
  import { type KeyFact } from "./marshal.js";
34
32
  import type { FactValue } from "./native.js";
35
33
  import type { Query } from "./query/lower.js";
@@ -51,6 +49,15 @@ interface MutationReport {
51
49
  readonly submitted: bigint;
52
50
  readonly changed: bigint;
53
51
  }
52
+ /**
53
+ * Column-major collection write: one array per declared field, every
54
+ * column the same length. The second transport of `load` / `insert` —
55
+ * objects and columns are two ways to spell the same batch.
56
+ */
57
+ type ColumnBatch<R extends AnyRelation> = {
58
+ readonly [K in keyof Fact<R> & string]: readonly Fact<R>[K][];
59
+ };
60
+ type CollectionWrite<R extends AnyRelation> = Iterable<Fact<R>> | ColumnBatch<R>;
54
61
  /**
55
62
  * Half-open fresh-id range from one `reserve`. Empty cannot yield a
56
63
  * minted id — `start` exists only on the nonempty arm.
@@ -169,32 +176,45 @@ type Violation<Rels extends SchemaRelations> = ImpliedKeyViolation<Rels> | Decla
169
176
  * a dead arm is never handled.
170
177
  */
171
178
  type AbandonedArm<R> = R extends Abandon<infer P> ? {
172
- readonly ok: false;
179
+ readonly tag: "abandoned";
173
180
  readonly abandoned: P;
174
181
  } : never;
182
+ /** A callback return that is not Promise-like. TypeScript `never` is not a runtime boundary. */
183
+ type SyncResult<R> = R extends PromiseLike<unknown> ? never : R;
184
+ interface Committed<T> {
185
+ readonly value: T;
186
+ readonly generation: bigint;
187
+ }
188
+ type Admission<Rels extends SchemaRelations, T> = {
189
+ readonly tag: "accepted";
190
+ readonly value: T;
191
+ } | {
192
+ readonly tag: "rejected";
193
+ readonly violations: readonly Violation<Rels>[];
194
+ };
175
195
  /**
176
- * A write's domain outcome, one sum for BOTH verbs (ruled 2026-07-23,
177
- * R10): the committed generation; the COMPLETE violation set (every
178
- * violated statement cited once, per direction for a containment, in
179
- * materialized statement order); or the callback's own abandon payload —
180
- * commit-vs-abandon is in the type, so a caller's explicit decline to
181
- * commit can never be silently discarded. Narrows on `.ok`, then (when the
182
- * callback can abandon) on `"violations" in result`.
196
+ * A write's domain outcome. One discriminant: narrow on `tag`. The
197
+ * abandoned arm is present exactly when the callback can abandon.
183
198
  */
184
- type WriteResult<Rels extends SchemaRelations, R = void> = {
185
- readonly ok: true;
186
- readonly generation: bigint;
199
+ type WriteOutcome<Rels extends SchemaRelations, R> = {
200
+ readonly tag: "accepted";
201
+ readonly value: Committed<Exclude<R, Abandon<unknown>>>;
187
202
  } | {
188
- readonly ok: false;
203
+ readonly tag: "rejected";
189
204
  readonly violations: readonly Violation<Rels>[];
190
205
  } | AbandonedArm<R>;
206
+ type WriteFromOutcome<Rels extends SchemaRelations, R> = WriteOutcome<Rels, R> | {
207
+ readonly tag: "moved";
208
+ readonly witnessed: bigint;
209
+ readonly current: bigint;
210
+ };
191
211
  /**
192
212
  * The delta-building callback of a write: runs synchronously against the
193
213
  * live transaction. Returning {@link abandon}`(payload)` rolls the
194
214
  * transaction back (R10) — the result type carries the payload arm exactly
195
215
  * then.
196
216
  */
197
- type DeltaBuild<Rels extends SchemaRelations, R = void> = (tx: Tx<Rels>) => R;
217
+ type DeltaBuild<Rels extends SchemaRelations, R = void> = (tx: WriteTx<Rels>) => R;
198
218
  /**
199
219
  * The runtime discriminant of {@link Abandon} values — a property probe is
200
220
  * how `write`/`writeFrom` distinguish "abort without committing" from an
@@ -205,7 +225,7 @@ declare const abandonMark: unique symbol;
205
225
  * The abandon sentinel {@link abandon} builds: returning one from a `write`
206
226
  * or `writeFrom` callback rolls the transaction back WITHOUT
207
227
  * committing (no empty commit is ever issued) and surfaces the payload as
208
- * `{ ok: false, abandoned: payload }` (ruled 2026-07-23, R10 — the
228
+ * `{ tag: "abandoned", abandoned: payload }` (ruled 2026-07-23, R10 — the
209
229
  * sentinel's contract is unconditional, whichever write verb received it).
210
230
  */
211
231
  interface Abandon<P> {
@@ -216,7 +236,7 @@ interface Abandon<P> {
216
236
  * Wraps a payload in the {@link Abandon} sentinel — the one way a write
217
237
  * callback declines to commit: `return abandon(payload)` aborts the delta
218
238
  * (nothing is committed, not even an empty commit) and the write resolves
219
- * to `{ ok: false, abandoned: payload }`, from `write` and `writeFrom`
239
+ * to `{ tag: "abandoned", abandoned: payload }`, from `write` and `writeFrom`
220
240
  * alike (R10).
221
241
  */
222
242
  declare function abandon<P>(payload: P): Abandon<P>;
@@ -227,14 +247,14 @@ declare function abandon<P>(payload: P): Abandon<P>;
227
247
  * Spent when its owning `write`/`writeFrom` call resolves the attempt;
228
248
  * any later use throws.
229
249
  */
230
- interface Tx<Rels extends SchemaRelations> {
250
+ interface WriteTx<Rels extends SchemaRelations> {
231
251
  /**
232
252
  * Records a collection of inserts. Singleton is `[fact]`. Empty is
233
253
  * lawful. Returns how many facts were consumed and how many changed
234
254
  * the in-memory final-state view. Every fact is complete — omitted
235
- * fresh cells are a type error; mint first with {@link Tx.reserve}.
255
+ * fresh cells are a type error; mint first with {@link WriteTx.reserve}.
236
256
  */
237
- insert<R extends MemberRelation<Rels>>(relation: R, facts: Iterable<Fact<R>>): MutationReport;
257
+ insert<R extends MemberRelation<Rels>>(relation: R, facts: CollectionWrite<R>): MutationReport;
238
258
  /**
239
259
  * Records a collection of deletes. Singleton is `[fact]`. Returns
240
260
  * how many facts were consumed and how many changed the view.
@@ -259,21 +279,24 @@ interface Tx<Rels extends SchemaRelations> {
259
279
  */
260
280
  get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
261
281
  }
282
+ type Tx<Rels extends SchemaRelations> = WriteTx<Rels>;
283
+ declare const witnessTypes: unique symbol;
284
+ /**
285
+ * Cloneable generation evidence from one store read. May cross `await`.
286
+ * Disposal is idempotent; later use throws {@link ErrSpentHandle}.
287
+ */
288
+ interface Witness<Rels extends SchemaRelations> extends Disposable {
289
+ readonly [witnessTypes]?: Rels;
290
+ }
262
291
  /**
263
- * The read view one `db.read(fn)` call scopes — or one `using snap =
264
- * db.read()` acquisition owns (ruled 2026-07-23, R12: lifetimes are
265
- * disposables, never `close()`). The callback form invalidates the value
266
- * when `fn` returns; the `using` form releases it at scope exit through
267
- * `Symbol.dispose` — either way the release is deterministic and
268
- * scope-shaped, every later verb call throws a typed used-after-scope
269
- * error, and the underlying snapshot (with its LMDB reader slot) is
270
- * already closed.
292
+ * The borrowed instance one `db.read((instance, witness) => …)` callback
293
+ * receives. Invalid the moment the callback returns. A stashed value
294
+ * throws {@link ErrUseAfterScope}. Not a handle: there is no `db.read()`.
271
295
  */
272
- interface ReadScope<Rels extends SchemaRelations> extends Disposable {
296
+ interface ReadInstance<Rels extends SchemaRelations> {
273
297
  /**
274
- * The committed generation this scope witnessed — carried by the
275
- * snapshot open itself (one crossing, inside the snapshot's own
276
- * transaction), so it is atomic with the snapshot by construction.
298
+ * The committed generation this instance witnessed — read inside the
299
+ * lease's own transaction.
277
300
  */
278
301
  readonly generation: bigint;
279
302
  /** Full-relation export in row-id order, decoded to bare structural facts. */
@@ -292,12 +315,13 @@ interface ReadScope<Rels extends SchemaRelations> extends Disposable {
292
315
  /** Committed-state membership of one complete fact. */
293
316
  contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
294
317
  /**
295
- * Executes a prepared query against this scope's snapshot with the
296
- * typed params object; returns the answer SET as plain rows with
297
- * bare structural values (no order — the host sorts). This is the ONE
318
+ * Executes a prepared query against this instance with the typed
319
+ * params object; returns the answer SET as plain rows with bare
320
+ * structural values (no order — the host sorts). This is the ONE
298
321
  * execution spelling ({@link Prepared} carries no `execute`).
299
322
  */
300
323
  execute<Row, Params extends ParamsRecord>(prepared: Prepared<Rels, Row, Params>, params: Params): Row[];
324
+ prepare<Row, Params extends ParamsRecord>(q: Query<Rels, Row, Params>): Prepared<Rels, Row, Params>;
301
325
  }
302
326
  /**
303
327
  * The module-private inference slot of {@link Prepared}: an optional symbol
@@ -312,7 +336,7 @@ declare const preparedTypes: unique symbol;
312
336
  * One prepared query as a plain VALUE: explicit visible compilation
313
337
  * (`db.prepare(q)` lowers, pins the plan, and surfaces every engine roster
314
338
  * refusal), no lifecycle. Execution happens ONLY through
315
- * `snap.execute(prepared, params)` / `db.execute(prepared, params)` — the
339
+ * `instance.execute(prepared, params)` / `db.execute(prepared, params)` — the
316
340
  * symmetry rule's one spelling. The engine-side plan is reclaimed by a GC
317
341
  * finalizer when this value becomes unreachable (reclamation only, never
318
342
  * correctness — an unreclaimed plan is idle memory, and process exit frees
@@ -336,49 +360,38 @@ interface Db<Rels extends SchemaRelations> {
336
360
  /** The theory this store was opened with (fingerprint-verified by the engine). */
337
361
  readonly schema: Schema<Rels>;
338
362
  /**
339
- * One scoped snapshot read: opens an MVCC snapshot, runs `fn`
340
- * SYNCHRONOUSLY against it, and closes the snapshot unconditionally
341
- * before returning `fn`'s result. The {@link ReadScope} is invalidated
342
- * when `fn` returns a used-after-scope call throws a typed error.
343
- */
344
- read<T>(fn: (snap: ReadScope<Rels>) => T): T;
345
- /**
346
- * The `using` acquisition (ruled 2026-07-23, R12): `using snap =
347
- * db.read()` — the caller owns the scope's lifetime, and the scope's
348
- * `Symbol.dispose` releases the snapshot deterministically at scope
349
- * exit, in the language's own syntax. Lifetimes are disposables, never
350
- * `close()`.
363
+ * One store read: runs `body` SYNCHRONOUSLY inside the engine lease
364
+ * and returns its result. The {@link ReadInstance} is invalidated
365
+ * when `body` returns a stashed use throws {@link ErrUseAfterScope}.
366
+ * The {@link Witness} is a clone and may escape. A thenable return
367
+ * throws {@link ErrAsyncCallback}.
351
368
  */
352
- read(): ReadScope<Rels>;
353
- /** `db.scan(r)` === `db.read(snap => snap.scan(r))` — the symmetry rule. */
369
+ read<R>(body: (instance: ReadInstance<Rels>, witness: Witness<Rels>) => SyncResult<R>): SyncResult<R>;
370
+ /** `db.scan(r)` === `db.read(instance => instance.scan(r))` — the symmetry rule. */
354
371
  scan<R extends MemberRelation<Rels>>(relation: R): Fact<R>[];
355
- /** `db.get(r, k)` === `db.read(snap => snap.get(r, k))` — the symmetry rule. */
372
+ /** `db.get(r, k)` === `db.read(instance => instance.get(r, k))` — the symmetry rule. */
356
373
  get<R extends MemberRelation<Rels>>(relation: R, key: KeyFact<R>): Fact<R> | undefined;
357
- /** `db.get(r, s, k)` === `db.read(snap => snap.get(r, s, k))` — the symmetry rule, keyed form. */
374
+ /** `db.get(r, s, k)` === `db.read(instance => instance.get(r, s, k))` — the symmetry rule, keyed form. */
358
375
  get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
359
- /** `db.contains(r, f)` === `db.read(snap => snap.contains(r, f))` — the symmetry rule. */
376
+ /** `db.contains(r, f)` === `db.read(instance => instance.contains(r, f))` — the symmetry rule. */
360
377
  contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
361
- /** `db.execute(p, params)` === `db.read(snap => snap.execute(p, params))` — the symmetry rule. */
378
+ /** `db.execute(p, params)` === `db.read(instance => instance.execute(p, params))` — the symmetry rule. */
362
379
  execute<Row, Params extends ParamsRecord>(prepared: Prepared<Rels, Row, Params>, params: Params): Row[];
363
380
  /**
364
381
  * One delta transaction: builds the delta synchronously through `fn`,
365
382
  * commits, and returns the domain outcome. A throw from `fn` aborts
366
383
  * the delta (LMDB untouched) and rethrows wrapped. `fn` may decline to
367
- * commit by returning {@link abandon}`(payload)` (ruled 2026-07-23,
368
- * R10): the transaction rolls back — nothing is committed, not even an
369
- * empty commit — and the outcome is `{ ok: false, abandoned: payload }`,
370
- * an arm the result type carries exactly when the callback can abandon.
384
+ * commit by returning {@link abandon}`(payload)`: the transaction rolls
385
+ * back — nothing is committed, not even an empty commit — and the
386
+ * outcome is `{ tag: "abandoned", abandoned: payload }`.
371
387
  */
372
- write<R = void>(fn: DeltaBuild<Rels, R>): WriteResult<Rels, R>;
388
+ write<R>(fn: (tx: WriteTx<Rels>) => SyncResult<R>): WriteOutcome<Rels, SyncResult<R>>;
373
389
  /**
374
- * One-shot witnessed write from a live read snapshot: begins a
375
- * transaction that commits only if no state-changing commit landed
376
- * since `snap` was taken. Must run inside the read callback that owns
377
- * `snap`. A moved generation is the typed {@link ErrGenerationMoved}
378
- * — retry is host policy; this method never loops. `fn` may decline to
379
- * commit by returning {@link abandon}`(payload)`.
390
+ * Witnessed write: commits only if no state-changing commit landed
391
+ * since `witness` was minted. A moved generation is
392
+ * `{ tag: "moved" }` retry is host policy; this method never loops.
380
393
  */
381
- writeFrom<R>(snap: ReadScope<Rels>, fn: DeltaBuild<Rels, R>): WriteResult<Rels, R>;
394
+ writeFrom<R>(witness: Witness<Rels>, fn: (tx: WriteTx<Rels>) => SyncResult<R>): WriteFromOutcome<Rels, SyncResult<R>>;
382
395
  /**
383
396
  * Prepares a query value built against THIS schema (identity is the
384
397
  * membership rule): lowers it to the engine IR, pins the plan, and
@@ -388,12 +401,11 @@ interface Db<Rels extends SchemaRelations> {
388
401
  */
389
402
  prepare<Row, Params extends ParamsRecord>(q: Query<Rels, Row, Params>): Prepared<Rels, Row, Params>;
390
403
  }
391
- /**
392
- * The typed generation-moved refusal `writeFrom` throws when a
393
- * state-changing commit landed since the witness snapshot: retry is host
394
- * policy. Match with `errors.is`.
395
- */
396
- declare const ErrGenerationMoved: Error;
404
+ declare const ErrAsyncCallback: Error;
405
+ declare const ErrSpentHandle: Error;
406
+ declare const ErrUseAfterScope: Error;
407
+ declare const ErrForeignPrepared: Error;
408
+ declare const ErrForeignWitness: Error;
397
409
  /**
398
410
  * The engine twin of the schema-level class wall, as a matchable value
399
411
  * (`errors.is`): the shared lowering rejected a spec whose statement pairs
@@ -405,42 +417,49 @@ declare const ErrGenerationMoved: Error;
405
417
  * what the types claim.
406
418
  */
407
419
  declare const ErrNewtypeMismatch: Error;
420
+ declare const ErrSchemaError: Error;
421
+ declare const ErrFingerprintMismatch: Error;
422
+ declare const ErrIrError: Error;
423
+ interface OwnedInstance<Rels extends SchemaRelations> extends Disposable {
424
+ prepare<Row, Params extends ParamsRecord>(q: Query<Rels, Row, Params>): Prepared<Rels, Row, Params>;
425
+ execute<Row, Params extends ParamsRecord>(prepared: Prepared<Rels, Row, Params>, params: Params): Row[];
426
+ scan<R extends MemberRelation<Rels>>(relation: R): Fact<R>[];
427
+ contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
428
+ get<R extends MemberRelation<Rels>>(relation: R, key: KeyFact<R>): Fact<R> | undefined;
429
+ get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
430
+ }
431
+ interface InstanceBuilder<Rels extends SchemaRelations> extends Disposable {
432
+ load<R extends MemberRelation<Rels>>(relation: R, facts: CollectionWrite<R>): MutationReport;
433
+ delete<R extends MemberRelation<Rels>>(relation: R, facts: Iterable<Fact<R>>): MutationReport;
434
+ reserve<R extends MemberRelation<Rels>>(relation: R, field: FreshKeys<R> & string, count: bigint): FreshRange;
435
+ contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
436
+ get<R extends MemberRelation<Rels>>(relation: R, key: KeyFact<R>): Fact<R> | undefined;
437
+ get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
438
+ admit(): Promise<Admission<Rels, OwnedInstance<Rels>>>;
439
+ }
440
+ declare const InstanceBuilder: Readonly<{
441
+ create<Rels extends SchemaRelations>(theory: Schema<Rels>): InstanceBuilder<Rels>;
442
+ }>;
408
443
  /**
409
444
  * The store lifecycle — `Db.create(path, schema)` / `Db.open(path, schema)`.
410
445
  * Create refuses an already-initialized directory; open verifies format
411
- * version, store kind, and the schema fingerprint. A second live handle
412
- * on the same path is the engine's `EnvironmentLocked`. There is no close
413
- * anywhere: the process owns the environment until GC/exit (durability is
414
- * the engine's per-commit fsync). One store kind exists: durable
415
- * resume = reopen in a fresh process, or hold the `Db` this process opened.
446
+ * version and the schema fingerprint. A second live handle on the same
447
+ * path is the engine's `EnvironmentLocked`. There is no close anywhere:
448
+ * the process owns the environment until GC/exit (durability is the
449
+ * engine's per-commit fsync). Resume = reopen in a fresh process, or
450
+ * hold the `Db` this process opened.
416
451
  */
417
452
  declare const Db: Readonly<{
418
453
  /** Creates a fresh durable store at `path` from the schema. */
419
- create<Rels extends SchemaRelations>(path: string, theory: Schema<Rels>): Promise<Db<Rels>>;
454
+ create<Rels extends SchemaRelations>(storePath: string, theory: Schema<Rels>): Promise<Admission<Rels, Db<Rels>>>;
420
455
  /**
421
456
  * Opens an existing durable store at `path` with the same theory.
422
- * A fingerprint-matching open also BACK-FILLS the store's persisted
423
- * schema descriptor when it is absent (self-describing stores, engine
424
- * 50-storage.md § the `_meta` block), so a legacy store becomes
425
- * exhumable after one ordinary open — adoption is automatic, never a
426
- * separate verb. A second open of a still-live path is
427
- * `EnvironmentLocked`.
428
- */
429
- open<Rels extends SchemaRelations>(path: string, theory: Schema<Rels>): Promise<Db<Rels>>;
430
- /**
431
- * Opens a store READ-ONLY from its own persisted descriptor — the SDK's
432
- * one schema-independent read path (no theory, no fingerprint check; the
433
- * store rebirth tool's entry). Lives beside `open`/`create` so the path
434
- * law stays in one place: the same `node:path.resolve` canonicalization,
435
- * applied here. The value is NOT cached and is a DISPOSABLE lifetime
436
- * (R12) — `using exhumed = await Db.exhume(path)` releases the engine
437
- * handle and the store's exclusive lock at scope exit, so a same-path
438
- * reopen never waits on GC. A store not yet adopted rejects with the
439
- * typed `ErrExhumeNoDescriptor` (the remedy: one fingerprint-matching
440
- * `Db.open` under the creating schema back-fills the descriptor).
457
+ * Format 8 open never back-fills a descriptor. A second open of a
458
+ * still-live path is `EnvironmentLocked`.
441
459
  */
442
- exhume(storePath: string): Promise<Exhumed>;
460
+ open<Rels extends SchemaRelations>(storePath: string, theory: Schema<Rels>): Promise<Db<Rels>>;
461
+ fromInstance<Rels extends SchemaRelations>(storePath: string, instance: OwnedInstance<Rels>): Promise<Db<Rels>>;
443
462
  }>;
444
- export type { Abandon, AbandonedArm, CapacityViolation, ContainmentViolation, DeclaredKeyFact, DeclaredKeyViolation, DeltaBuild, FreshRange, ImpliedKeyViolation, MemberRelation, MirrorViolation, MutationReport, OffendingFact, Prepared, ReadScope, Tx, Violation, WriteResult };
445
- export { abandon, Db, ErrGenerationMoved, ErrNewtypeMismatch };
463
+ export type { Abandon, AbandonedArm, Admission, CapacityViolation, ColumnBatch, Committed, ContainmentViolation, DeclaredKeyFact, DeclaredKeyViolation, DeltaBuild, FreshRange, ImpliedKeyViolation, MemberRelation, MirrorViolation, MutationReport, OffendingFact, OwnedInstance, Prepared, ReadInstance, SyncResult, Tx, Violation, Witness, WriteFromOutcome, WriteOutcome, WriteTx };
464
+ export { abandon, Db, ErrAsyncCallback, ErrForeignPrepared, ErrForeignWitness, ErrFingerprintMismatch, ErrIrError, ErrNewtypeMismatch, ErrSchemaError, ErrSpentHandle, ErrUseAfterScope, InstanceBuilder };
446
465
  //# sourceMappingURL=db.d.ts.map
package/dist/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}