@bjornpagen/bumbledb 0.20.2 → 1.0.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.
Files changed (192) hide show
  1. package/COOKBOOK.md +283 -1611
  2. package/README.md +156 -118
  3. package/dist/capacity.d.ts +16 -12
  4. package/dist/capacity.d.ts.map +1 -1
  5. package/dist/capacity.js +16 -48
  6. package/dist/capacity.js.map +1 -1
  7. package/dist/changes.d.ts +54 -0
  8. package/dist/changes.d.ts.map +1 -0
  9. package/dist/changes.js +245 -0
  10. package/dist/changes.js.map +1 -0
  11. package/dist/close.d.ts +24 -0
  12. package/dist/close.d.ts.map +1 -0
  13. package/dist/close.js +34 -0
  14. package/dist/close.js.map +1 -0
  15. package/dist/closed.d.ts +1 -3
  16. package/dist/closed.d.ts.map +1 -1
  17. package/dist/closed.js +24 -12
  18. package/dist/closed.js.map +1 -1
  19. package/dist/codec.d.ts +56 -0
  20. package/dist/codec.d.ts.map +1 -0
  21. package/dist/codec.js +289 -0
  22. package/dist/codec.js.map +1 -0
  23. package/dist/compile.d.ts +68 -0
  24. package/dist/compile.d.ts.map +1 -0
  25. package/dist/compile.js +75 -0
  26. package/dist/compile.js.map +1 -0
  27. package/dist/db-native.d.ts +170 -0
  28. package/dist/db-native.d.ts.map +1 -0
  29. package/dist/db-native.js +5 -0
  30. package/dist/db-native.js.map +1 -0
  31. package/dist/db.d.ts +101 -233
  32. package/dist/db.d.ts.map +1 -1
  33. package/dist/db.js +232 -1084
  34. package/dist/db.js.map +1 -1
  35. package/dist/errors.d.ts +57 -0
  36. package/dist/errors.d.ts.map +1 -0
  37. package/dist/errors.js +32 -0
  38. package/dist/errors.js.map +1 -0
  39. package/dist/face.d.ts.map +1 -1
  40. package/dist/face.js +2 -2
  41. package/dist/face.js.map +1 -1
  42. package/dist/fields.d.ts +65 -24
  43. package/dist/fields.d.ts.map +1 -1
  44. package/dist/fields.js +94 -24
  45. package/dist/fields.js.map +1 -1
  46. package/dist/index.d.ts +37 -32
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +17 -21
  49. package/dist/index.js.map +1 -1
  50. package/dist/internal/log.d.ts +24 -0
  51. package/dist/internal/log.d.ts.map +1 -0
  52. package/dist/internal/log.js +10 -0
  53. package/dist/internal/log.js.map +1 -0
  54. package/dist/law.d.ts +8 -13
  55. package/dist/law.d.ts.map +1 -1
  56. package/dist/law.js +6 -59
  57. package/dist/law.js.map +1 -1
  58. package/dist/lower.d.ts +0 -13
  59. package/dist/lower.d.ts.map +1 -1
  60. package/dist/lower.js +9 -17
  61. package/dist/lower.js.map +1 -1
  62. package/dist/migration.d.ts +33 -0
  63. package/dist/migration.d.ts.map +1 -0
  64. package/dist/migration.js +48 -0
  65. package/dist/migration.js.map +1 -0
  66. package/dist/native.d.ts +256 -301
  67. package/dist/native.d.ts.map +1 -1
  68. package/dist/native.js +65 -108
  69. package/dist/native.js.map +1 -1
  70. package/dist/query/atom.d.ts +24 -13
  71. package/dist/query/atom.d.ts.map +1 -1
  72. package/dist/query/atom.js +7 -3
  73. package/dist/query/atom.js.map +1 -1
  74. package/dist/query/compute.d.ts +68 -0
  75. package/dist/query/compute.d.ts.map +1 -0
  76. package/dist/query/compute.js +141 -0
  77. package/dist/query/compute.js.map +1 -0
  78. package/dist/query/find.d.ts +15 -8
  79. package/dist/query/find.d.ts.map +1 -1
  80. package/dist/query/find.js +6 -2
  81. package/dist/query/find.js.map +1 -1
  82. package/dist/query/lower.d.ts +23 -2
  83. package/dist/query/lower.d.ts.map +1 -1
  84. package/dist/query/lower.js +433 -80
  85. package/dist/query/lower.js.map +1 -1
  86. package/dist/query/parse-ir.d.ts.map +1 -1
  87. package/dist/query/parse-ir.js +17 -8
  88. package/dist/query/parse-ir.js.map +1 -1
  89. package/dist/query/run.d.ts +12 -2
  90. package/dist/query/run.d.ts.map +1 -1
  91. package/dist/query/run.js +26 -9
  92. package/dist/query/run.js.map +1 -1
  93. package/dist/query/scope.d.ts +47 -3
  94. package/dist/query/scope.d.ts.map +1 -1
  95. package/dist/query/scope.js +83 -19
  96. package/dist/query/scope.js.map +1 -1
  97. package/dist/relation.d.ts +3 -8
  98. package/dist/relation.d.ts.map +1 -1
  99. package/dist/relation.js +16 -10
  100. package/dist/relation.js.map +1 -1
  101. package/dist/result.d.ts +47 -0
  102. package/dist/result.d.ts.map +1 -0
  103. package/dist/result.js +50 -0
  104. package/dist/result.js.map +1 -0
  105. package/dist/rows.d.ts +69 -0
  106. package/dist/rows.d.ts.map +1 -0
  107. package/dist/rows.js +328 -0
  108. package/dist/rows.js.map +1 -0
  109. package/dist/runtime-codes.d.ts +2 -0
  110. package/dist/runtime-codes.d.ts.map +1 -0
  111. package/dist/runtime-codes.js +19 -0
  112. package/dist/runtime-codes.js.map +1 -0
  113. package/dist/runtime-errors.d.ts +106 -0
  114. package/dist/runtime-errors.d.ts.map +1 -0
  115. package/dist/runtime-errors.js +62 -0
  116. package/dist/runtime-errors.js.map +1 -0
  117. package/dist/runtime-native.d.ts +171 -0
  118. package/dist/runtime-native.d.ts.map +1 -0
  119. package/dist/runtime-native.js +5 -0
  120. package/dist/runtime-native.js.map +1 -0
  121. package/dist/runtime.d.ts +73 -0
  122. package/dist/runtime.d.ts.map +1 -0
  123. package/dist/runtime.js +293 -0
  124. package/dist/runtime.js.map +1 -0
  125. package/dist/scalar.d.ts +165 -0
  126. package/dist/scalar.d.ts.map +1 -0
  127. package/dist/scalar.js +344 -0
  128. package/dist/scalar.js.map +1 -0
  129. package/dist/schema.d.ts +1 -1
  130. package/dist/schema.d.ts.map +1 -1
  131. package/dist/schema.js +34 -37
  132. package/dist/schema.js.map +1 -1
  133. package/dist/shape.d.ts +28 -0
  134. package/dist/shape.d.ts.map +1 -0
  135. package/dist/shape.js +2 -0
  136. package/dist/shape.js.map +1 -0
  137. package/dist/spec.d.ts +27 -3
  138. package/dist/spec.d.ts.map +1 -1
  139. package/dist/spec.js +22 -1
  140. package/dist/spec.js.map +1 -1
  141. package/dist/statements.d.ts +16 -3
  142. package/dist/statements.d.ts.map +1 -1
  143. package/dist/statements.js +54 -28
  144. package/dist/statements.js.map +1 -1
  145. package/dist/uuid.d.ts +23 -0
  146. package/dist/uuid.d.ts.map +1 -0
  147. package/dist/uuid.js +54 -0
  148. package/dist/uuid.js.map +1 -0
  149. package/pack-provenance.json +7 -0
  150. package/package.json +12 -16
  151. package/src/capacity.ts +34 -54
  152. package/src/changes.ts +361 -0
  153. package/src/close.ts +53 -0
  154. package/src/closed.ts +25 -19
  155. package/src/codec.ts +379 -0
  156. package/src/compile.ts +149 -0
  157. package/src/db-native.ts +247 -0
  158. package/src/db.ts +461 -1632
  159. package/src/errors.ts +50 -0
  160. package/src/face.ts +2 -2
  161. package/src/fields.ts +182 -55
  162. package/src/index.ts +62 -126
  163. package/src/internal/log.ts +51 -0
  164. package/src/law.ts +13 -28
  165. package/src/lower.ts +9 -4
  166. package/src/migration.ts +69 -0
  167. package/src/native.ts +326 -487
  168. package/src/query/atom.ts +61 -25
  169. package/src/query/compute.ts +237 -0
  170. package/src/query/find.ts +31 -12
  171. package/src/query/lower.ts +531 -143
  172. package/src/query/parse-ir.ts +18 -13
  173. package/src/query/run.ts +32 -16
  174. package/src/query/scope.ts +140 -8
  175. package/src/relation.ts +17 -21
  176. package/src/result.ts +130 -0
  177. package/src/rows.ts +404 -0
  178. package/src/runtime-codes.ts +18 -0
  179. package/src/runtime-errors.ts +69 -0
  180. package/src/runtime-native.ts +242 -0
  181. package/src/runtime.ts +440 -0
  182. package/src/scalar.ts +560 -0
  183. package/src/schema.ts +35 -37
  184. package/src/shape.ts +31 -0
  185. package/src/spec.ts +33 -3
  186. package/src/statements.ts +75 -68
  187. package/src/uuid.ts +69 -0
  188. package/dist/marshal.d.ts +0 -44
  189. package/dist/marshal.d.ts.map +0 -1
  190. package/dist/marshal.js +0 -165
  191. package/dist/marshal.js.map +0 -1
  192. package/src/marshal.ts +0 -200
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-native.js","sourceRoot":"","sources":["../src/db-native.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAkOnC,0EAA0E;AAC1E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAkC,CAAA"}
package/dist/db.d.ts CHANGED
@@ -1,256 +1,124 @@
1
+ import type { Scope } from "effect";
2
+ import { Effect, Option } from "effect";
3
+ import type { ChangeSet } from "./changes.js";
4
+ import type { SchemaId } from "./compile.js";
5
+ import type { Violation } from "./native.js";
6
+ import type { ParamsRecord } from "./query/scope.js";
7
+ import type { Fact } from "./relation.js";
8
+ import type { CompleteResult } from "./result.js";
9
+ import type { ExecutionPolicy, NativeRuntime } from "./runtime.js";
10
+ import type { CloseReport } from "./runtime-errors.js";
11
+ import { DbError } from "./runtime-errors.js";
12
+ import type { AnySchema } from "./schema.js";
13
+ import type { Key, QueryTemplate, Rel } from "./shape.js";
1
14
  /**
2
- * `Db` the living half of the SDK (PRD-07): open/create a store from a
3
- * `Schema`, write typed facts through delta transactions with race-free
4
- * final-state point reads, receive rejections as typed violation VALUES
5
- * keyed to statements, and read through a synchronous instance callback —
6
- * all typed by the schema's relations record.
7
- *
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.
15
+ * The chapter 35 core surface: `Db.create`/`Db.open`, scoped coherent
16
+ * `Snapshot`s, reusable `ExecutionSession`s, the shared `QueryReader`
17
+ * capability, one immutable final-state `apply`, bounded `inspect` and
18
+ * honest `close`. Effect-only: every method constructs a lazy effect; all
19
+ * native work runs on the ONE bounded runtime executor under an explicit
20
+ * `ExecutionPolicy`; resources are scoped with `CloseFailure`-defect
21
+ * finalizers. There is no Promise/sync/disposal twin, no transaction
22
+ * callback, no per-row fiber and no Proxy row anywhere.
15
23
  *
16
- * PROCESS MODEL: one process, one exclusive-lock handle per store. The
17
- * `Db` value owns the LMDB environment's exclusive lock until process
18
- * exit (or until GC reclaims the native handle); a second engine-level
19
- * open of the same store is refused by the engine (`EnvironmentLocked`),
20
- * matching Rust. Resume = reopen in a fresh process, or hold the one `Db`
21
- * this process already opened. The host owns composition; retry is host
22
- * policy.
23
- *
24
- * REJECTION IS DATA: a rejected commit is a domain outcome (it becomes the
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.
24
+ * Database open is the managed two-step handshake: acquire the kernel-held
25
+ * directory owner and register its finalizer before the interruptible
26
+ * child-open step. `Db.open` NEVER creates on missing/error; `Db.create`
27
+ * refuses existing authority. Published log snapshots use this same
28
+ * `QueryReader` literally no second reader or adapter.
30
29
  */
31
- import { type KeyFact } from "./marshal.js";
32
- import type { FactValue } from "./native.js";
33
- import type { Query } from "./query/lower.js";
34
- import type { ParamsRecord } from "./query/scope.js";
35
- import type { AnyRelation, Fact, FreshKeys } from "./relation.js";
36
- import type { Schema, SchemaRelations } from "./schema.js";
37
- import { type KeyStatement, type Statement } from "./statements.js";
38
- type MemberRelation<Rels extends SchemaRelations> = Extract<Rels[keyof Rels], AnyRelation>;
39
- interface MutationReport {
40
- readonly submitted: bigint;
41
- readonly changed: bigint;
30
+ /** The core-local witness: catalog/store identity plus generation — never a log StateStamp. */
31
+ interface CoreWitness {
32
+ readonly store: string;
33
+ readonly generation: bigint;
42
34
  }
43
- type CollectionWrite<R extends AnyRelation> = Iterable<Fact<R>>;
44
- type FreshRange = {
45
- readonly empty: true;
46
- readonly count: 0n;
47
- at(index: bigint): undefined;
48
- [Symbol.iterator](): IterableIterator<bigint>;
35
+ type ApplyExpected = {
36
+ readonly kind: "any";
49
37
  } | {
50
- readonly empty: false;
51
- readonly start: bigint;
52
- readonly endExclusive: bigint;
53
- readonly count: bigint;
54
- at(index: bigint): bigint | undefined;
55
- [Symbol.iterator](): IterableIterator<bigint>;
56
- };
57
- type DeclaredKeyFact<R extends AnyRelation, Projection extends readonly string[]> = {
58
- readonly [K in Projection[number] & keyof Fact<R>]: Fact<R>[K];
59
- };
60
- interface OffendingFact<Rels extends SchemaRelations> {
61
- readonly relation: keyof Rels & string;
62
- readonly fact: Readonly<Record<string, FactValue>>;
63
- }
64
- type ViolationBody<Rels extends SchemaRelations> = {
65
- readonly canonical: string;
66
- readonly facts: readonly OffendingFact<Rels>[];
67
- };
68
- type ImpliedKeyViolation<Rels extends SchemaRelations> = ViolationBody<Rels> & {
69
- readonly kind: "functionality";
70
- readonly statement: undefined;
71
- };
72
- type DeclaredKeyViolation<Rels extends SchemaRelations> = ViolationBody<Rels> & {
73
- readonly kind: "functionality";
74
- readonly statement: Statement;
75
- };
76
- type ContainmentViolation<Rels extends SchemaRelations> = ViolationBody<Rels> & {
77
- readonly kind: "containment";
78
- readonly statement: Statement;
79
- readonly direction: "sourceUnsatisfied" | "targetRequired";
38
+ readonly kind: "exact";
39
+ readonly at: CoreWitness;
80
40
  };
81
- type MirrorViolation<Rels extends SchemaRelations> = ViolationBody<Rels> & {
82
- readonly kind: "containment";
83
- readonly statement: Statement;
84
- readonly direction: "sourceUnsatisfied" | "targetRequired";
85
- readonly orientation: "written" | "mirrored";
41
+ /** Core work policy plus the expected-state intent (chapter 35). */
42
+ type ApplyOptions = ExecutionPolicy & {
43
+ readonly expected: ApplyExpected;
86
44
  };
87
- type CapacityViolation<Rels extends SchemaRelations> = ViolationBody<Rels> & {
88
- readonly kind: "capacity";
89
- readonly statement: Statement;
90
- readonly measure: bigint;
91
- };
92
- type Violation<Rels extends SchemaRelations> = ImpliedKeyViolation<Rels> | DeclaredKeyViolation<Rels> | ContainmentViolation<Rels> | MirrorViolation<Rels> | CapacityViolation<Rels>;
93
- /**
94
- * The abandoned arm of a write result (ruled 2026-07-23, R10): present in
95
- * the type EXACTLY when the callback can abandon — the conditional
96
- * distributes over `R`, so a callback with no `Abandon` arm contributes
97
- * `never` and the arm vanishes from the sum. The outcome is in the type;
98
- * a dead arm is never handled.
99
- */
100
- type AbandonedArm<R> = R extends Abandon<infer P> ? {
101
- readonly tag: "abandoned";
102
- readonly abandoned: P;
103
- } : never;
104
- type SyncResult<R> = R extends PromiseLike<unknown> ? never : R;
105
- interface Committed<T> {
106
- readonly value: T;
107
- readonly generation: bigint;
108
- }
109
- type Admission<Rels extends SchemaRelations, T> = {
110
- readonly tag: "accepted";
111
- readonly value: T;
45
+ type ApplyOutcome = {
46
+ readonly kind: "accepted";
47
+ readonly witness: CoreWitness;
112
48
  } | {
113
- readonly tag: "rejected";
114
- readonly violations: readonly Violation<Rels>[];
115
- };
116
- type WriteOutcome<Rels extends SchemaRelations, R> = {
117
- readonly tag: "accepted";
118
- readonly value: Committed<Exclude<R, Abandon<unknown>>>;
49
+ readonly kind: "no-change";
50
+ readonly witness: CoreWitness;
51
+ } | {
52
+ readonly kind: "invariant-rejected";
53
+ readonly violations: readonly Violation[];
119
54
  } | {
120
- readonly tag: "rejected";
121
- readonly violations: readonly Violation<Rels>[];
122
- } | AbandonedArm<R>;
123
- type WriteFromOutcome<Rels extends SchemaRelations, R> = WriteOutcome<Rels, R> | {
124
- readonly tag: "moved";
125
- readonly witnessed: bigint;
126
- readonly current: bigint;
55
+ readonly kind: "moved";
56
+ readonly witnessed: CoreWitness;
57
+ readonly current: CoreWitness;
127
58
  };
128
- type DeltaBuild<Rels extends SchemaRelations, R = void> = (tx: WriteTx<Rels>) => R;
129
- declare const abandonMark: unique symbol;
130
- /**
131
- * The abandon sentinel {@link abandon} builds: returning one from a `write`
132
- * or `writeFrom` callback rolls the transaction back WITHOUT
133
- * committing (no empty commit is ever issued) and surfaces the payload as
134
- * `{ tag: "abandoned", abandoned: payload }` (ruled 2026-07-23, R10 — the
135
- * sentinel's contract is unconditional, whichever write verb received it).
136
- */
137
- interface Abandon<P> {
138
- readonly [abandonMark]: true;
139
- readonly payload: P;
140
- }
141
- declare function abandon<P>(payload: P): Abandon<P>;
142
- interface WriteTx<Rels extends SchemaRelations> {
143
- insert<R extends MemberRelation<Rels>>(relation: R, facts: CollectionWrite<R>): MutationReport;
144
- delete<R extends MemberRelation<Rels>>(relation: R, facts: Iterable<Fact<R>>): MutationReport;
145
- reserve<R extends MemberRelation<Rels>>(relation: R, field: FreshKeys<R> & string, count: bigint): FreshRange;
146
- contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
147
- get<R extends MemberRelation<Rels>>(relation: R, key: KeyFact<R>): Fact<R> | undefined;
148
- get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
149
- }
150
- declare const witnessTypes: unique symbol;
151
- interface Witness<Rels extends SchemaRelations> extends Disposable {
152
- readonly [witnessTypes]?: Rels;
153
- }
154
- interface ReadInstance<Rels extends SchemaRelations> {
59
+ /** Bounded database diagnostics: measurements, never retained rows. */
60
+ interface DbInspection {
61
+ readonly schemaId: SchemaId;
155
62
  readonly generation: bigint;
156
- scan<R extends MemberRelation<Rels>>(relation: R): Fact<R>[];
157
- count<R extends MemberRelation<Rels>>(relation: R): bigint;
158
- get<R extends MemberRelation<Rels>>(relation: R, key: KeyFact<R>): Fact<R> | undefined;
159
- get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
160
- contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
161
- execute<Row, Params extends ParamsRecord>(prepared: Prepared<Rels, Row, Params>, params: Params): Row[];
162
- prepare<Row, Params extends ParamsRecord>(q: Query<Rels, Row, Params>): Prepared<Rels, Row, Params>;
63
+ readonly mapBytes: bigint;
64
+ readonly populatedBytes: bigint;
65
+ readonly diskBytes: bigint;
66
+ readonly residentEstimateBytes: bigint;
67
+ readonly retainedOperations: bigint;
163
68
  }
164
- declare const preparedTypes: unique symbol;
165
69
  /**
166
- * One prepared query as a plain VALUE: explicit visible compilation
167
- * (`db.prepare(q)` lowers, pins the plan, and surfaces every engine roster
168
- * refusal), no lifecycle. Execution happens ONLY through
169
- * `instance.execute(prepared, params)`. The engine-side plan is reclaimed by a GC
170
- * finalizer when this value becomes unreachable (reclamation only, never
171
- * correctness — an unreclaimed plan is idle memory, and process exit frees
172
- * everything).
70
+ * The one shared read capability (chapter 30): the same typed `get` and
71
+ * `execute` on a core snapshot and on a log published snapshot, so a
72
+ * cross-package read helper takes this interface with no adapter. Missing
73
+ * key is `Option.none`, never a fake I/O error or nullable row. It carries
74
+ * no writable authority never a `Db`, an `apply`, or a raw transaction.
173
75
  */
174
- interface Prepared<Rels extends SchemaRelations, Row, Params extends ParamsRecord> {
175
- readonly [preparedTypes]?: {
176
- readonly rels: Rels;
177
- readonly row: Row;
178
- readonly params: Params;
179
- };
76
+ interface QueryReader<S extends AnySchema> {
77
+ get<R extends Rel<S>>(relation: R, key: Key<R>, work: ExecutionPolicy): Effect.Effect<Option.Option<Fact<R>>, DbError>;
78
+ execute<P extends ParamsRecord, A>(query: QueryTemplate<S, P, A>, params: P, work: ExecutionPolicy): Effect.Effect<CompleteResult<A>, DbError, Scope.Scope>;
180
79
  }
181
- interface Db<Rels extends SchemaRelations> {
182
- readonly schema: Schema<Rels>;
183
- read<R>(body: (instance: ReadInstance<Rels>, witness: Witness<Rels>) => SyncResult<R>): SyncResult<R>;
184
- /**
185
- * One delta transaction: builds the delta synchronously through `fn`,
186
- * commits, and returns the domain outcome. A throw from `fn` aborts
187
- * the delta (LMDB untouched) and rethrows wrapped. `fn` may decline to
188
- * commit by returning {@link abandon}`(payload)`: the transaction rolls
189
- * back — nothing is committed, not even an empty commit — and the
190
- * outcome is `{ tag: "abandoned", abandoned: payload }`.
191
- */
192
- write<R>(fn: (tx: WriteTx<Rels>) => SyncResult<R>): WriteOutcome<Rels, SyncResult<R>>;
193
- writeFrom<R>(witness: Witness<Rels>, fn: (tx: WriteTx<Rels>) => SyncResult<R>): WriteFromOutcome<Rels, SyncResult<R>>;
194
- /**
195
- * blake3 over the canonical catalog enumeration — the replication
196
- * equality oracle: equal digests imply identical judged content
197
- * regardless of page layout or allocation history. Harness-tier
198
- * (bounded sequential passes over the store), off any hot path.
199
- */
200
- catalogDigest(): Uint8Array;
201
- /**
202
- * Prepares a query value built against THIS schema (identity is the
203
- * membership rule): lowers it to the engine IR, pins the plan, and
204
- * returns the typed {@link Prepared} value. Every IR roster refusal —
205
- * rule caps, rec roster, type rules — is the ENGINE's typed
206
- * judgment and throws here carrying its message intact.
207
- */
208
- prepare<Row, Params extends ParamsRecord>(q: Query<Rels, Row, Params>): Prepared<Rels, Row, Params>;
80
+ interface Snapshot<S extends AnySchema> extends QueryReader<S> {
81
+ readonly witness: CoreWitness;
82
+ session(work: ExecutionPolicy): Effect.Effect<ExecutionSession<S>, DbError, Scope.Scope>;
83
+ close(): Effect.Effect<CloseReport>;
209
84
  }
210
- declare const ErrAsyncCallback: Error;
211
- declare const ErrSpentHandle: Error;
212
- declare const ErrUseAfterScope: Error;
213
- declare const ErrForeignPrepared: Error;
214
- declare const ErrForeignWitness: Error;
215
- declare const ErrNewtypeMismatch: Error;
216
- declare const ErrSchemaError: Error;
217
- declare const ErrFingerprintMismatch: Error;
218
- declare const ErrIrError: Error;
219
- interface OwnedInstance<Rels extends SchemaRelations> extends Disposable {
220
- prepare<Row, Params extends ParamsRecord>(q: Query<Rels, Row, Params>): Prepared<Rels, Row, Params>;
221
- execute<Row, Params extends ParamsRecord>(prepared: Prepared<Rels, Row, Params>, params: Params): Row[];
222
- scan<R extends MemberRelation<Rels>>(relation: R): Fact<R>[];
223
- count<R extends MemberRelation<Rels>>(relation: R): bigint;
224
- contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
225
- get<R extends MemberRelation<Rels>>(relation: R, key: KeyFact<R>): Fact<R> | undefined;
226
- get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
85
+ interface ExecutionSession<S extends AnySchema> {
86
+ execute<P extends ParamsRecord, A>(query: QueryTemplate<S, P, A>, params: P, work: ExecutionPolicy): Effect.Effect<CompleteResult<A>, DbError, Scope.Scope>;
87
+ close(): Effect.Effect<CloseReport>;
227
88
  }
228
- interface InstanceBuilder<Rels extends SchemaRelations> extends Disposable {
229
- load<R extends MemberRelation<Rels>>(relation: R, facts: CollectionWrite<R>): MutationReport;
230
- delete<R extends MemberRelation<Rels>>(relation: R, facts: Iterable<Fact<R>>): MutationReport;
231
- reserve<R extends MemberRelation<Rels>>(relation: R, field: FreshKeys<R> & string, count: bigint): FreshRange;
232
- contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
233
- get<R extends MemberRelation<Rels>>(relation: R, key: KeyFact<R>): Fact<R> | undefined;
234
- get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
235
- admit(): Promise<Admission<Rels, OwnedInstance<Rels>>>;
89
+ interface Db<S extends AnySchema> {
90
+ readonly schemaId: SchemaId;
91
+ snapshot(work: ExecutionPolicy): Effect.Effect<Snapshot<S>, DbError, Scope.Scope>;
92
+ apply(changes: ChangeSet<S>, options: ApplyOptions): Effect.Effect<ApplyOutcome, DbError>;
93
+ inspect(work: ExecutionPolicy): Effect.Effect<DbInspection, DbError>;
94
+ close(): Effect.Effect<CloseReport>;
236
95
  }
237
- declare const InstanceBuilder: Readonly<{
238
- create<Rels extends SchemaRelations>(theory: Schema<Rels>): InstanceBuilder<Rels>;
239
- }>;
240
96
  /**
241
- * The store lifecycle — `Db.create(path, schema)` / `Db.open(path, schema)`.
242
- * Create refuses an already-initialized directory; open verifies format
243
- * version and the schema fingerprint. A second live handle on the same
244
- * path is the engine's `EnvironmentLocked`. There is no close anywhere:
245
- * the process owns the environment until GC/exit (durability is the
246
- * engine's per-commit fsync). Resume = reopen in a fresh process, or
247
- * hold the `Db` this process opened.
97
+ * `Db.create` is the explicit constructor and refuses existing authority;
98
+ * `Db.open` of a missing or unreadable database never creates an empty
99
+ * replacement (chapter 30). Both compile the schema through the same
100
+ * implementation as `Schema.compile` prior compilation is optional.
248
101
  */
249
102
  declare const Db: Readonly<{
250
- create<Rels extends SchemaRelations>(storePath: string, theory: Schema<Rels>): Promise<Admission<Rels, Db<Rels>>>;
251
- open<Rels extends SchemaRelations>(storePath: string, theory: Schema<Rels>): Promise<Db<Rels>>;
252
- fromInstance<Rels extends SchemaRelations>(storePath: string, instance: OwnedInstance<Rels>): Promise<Db<Rels>>;
103
+ create<S extends AnySchema>(path: string, schema: S, work: ExecutionPolicy): Effect.Effect<Db<S>, DbError, NativeRuntime | Scope.Scope>;
104
+ open<S extends AnySchema>(path: string, schema: S, work: ExecutionPolicy): Effect.Effect<Db<S>, DbError, NativeRuntime | Scope.Scope>;
253
105
  }>;
254
- export type { Abandon, AbandonedArm, Admission, CapacityViolation, CollectionWrite, Committed, ContainmentViolation, DeclaredKeyFact, DeclaredKeyViolation, DeltaBuild, FreshRange, ImpliedKeyViolation, MemberRelation, MirrorViolation, MutationReport, OffendingFact, OwnedInstance, Prepared, ReadInstance, SyncResult, Violation, Witness, WriteFromOutcome, WriteOutcome, WriteTx };
255
- export { abandon, Db, ErrAsyncCallback, ErrFingerprintMismatch, ErrForeignPrepared, ErrForeignWitness, ErrIrError, ErrNewtypeMismatch, ErrSchemaError, ErrSpentHandle, ErrUseAfterScope, InstanceBuilder };
106
+ /**
107
+ * Private log-integration seam (C10): wraps a PUBLISHED core snapshot
108
+ * handle — minted by the internal log machine's native open/snapshot verbs
109
+ * — in the exact core `QueryReader` plus the scoped session acquisition
110
+ * (`PublishedSnapshot extends QueryReader` in chapter 35; the log adds
111
+ * identity/stamps/freshness AROUND this capability, never a second reader).
112
+ * The argument is the log package's branded handle for the same native
113
+ * registry entry, so the one cast below is a cross-package respelling of
114
+ * one native capability — the native side re-judges kind/generation/owner
115
+ * on every verb, so a forged object refuses there, typed.
116
+ */
117
+ declare function internalPublishedReader<S extends AnySchema>(core: object, theory: S): {
118
+ readonly get: QueryReader<S>["get"];
119
+ readonly execute: QueryReader<S>["execute"];
120
+ readonly session: (work: ExecutionPolicy) => Effect.Effect<ExecutionSession<S>, DbError, Scope.Scope>;
121
+ };
122
+ export type { ApplyExpected, ApplyOptions, ApplyOutcome, CoreWitness, DbInspection, ExecutionSession, QueryReader, Snapshot };
123
+ export { Db, internalPublishedReader };
256
124
  //# 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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"}