@bjornpagen/bumbledb 0.14.0 → 0.17.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/COOKBOOK.md +58 -62
- package/README.md +82 -56
- package/dist/capacity.d.ts +24 -136
- package/dist/capacity.d.ts.map +1 -1
- package/dist/capacity.js +18 -40
- package/dist/capacity.js.map +1 -1
- package/dist/closed.d.ts +0 -156
- package/dist/closed.d.ts.map +1 -1
- package/dist/closed.js +0 -104
- package/dist/closed.js.map +1 -1
- package/dist/db.d.ts +93 -290
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +713 -556
- package/dist/db.js.map +1 -1
- package/dist/face.d.ts +0 -133
- package/dist/face.d.ts.map +1 -1
- package/dist/face.js +0 -33
- package/dist/face.js.map +1 -1
- package/dist/fields.d.ts +1 -145
- package/dist/fields.d.ts.map +1 -1
- package/dist/fields.js +2 -91
- package/dist/fields.js.map +1 -1
- package/dist/index.d.ts +13 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -20
- package/dist/index.js.map +1 -1
- package/dist/law.d.ts +111 -93
- package/dist/law.d.ts.map +1 -1
- package/dist/law.js +23 -27
- package/dist/law.js.map +1 -1
- package/dist/lower.d.ts +9 -35
- package/dist/lower.d.ts.map +1 -1
- package/dist/lower.js +8 -53
- package/dist/lower.js.map +1 -1
- package/dist/marshal.d.ts +0 -65
- package/dist/marshal.d.ts.map +1 -1
- package/dist/marshal.js +0 -72
- package/dist/marshal.js.map +1 -1
- package/dist/native.d.ts +97 -390
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +39 -61
- package/dist/native.js.map +1 -1
- package/dist/query/atom.d.ts +10 -276
- package/dist/query/atom.d.ts.map +1 -1
- package/dist/query/atom.js +1 -96
- package/dist/query/atom.js.map +1 -1
- package/dist/query/find.d.ts +10 -76
- package/dist/query/find.d.ts.map +1 -1
- package/dist/query/find.js +0 -30
- package/dist/query/find.js.map +1 -1
- package/dist/query/lower.d.ts +64 -146
- package/dist/query/lower.d.ts.map +1 -1
- package/dist/query/lower.js +19 -256
- package/dist/query/lower.js.map +1 -1
- package/dist/query/parse-ir.d.ts +0 -7
- package/dist/query/parse-ir.d.ts.map +1 -1
- package/dist/query/parse-ir.js +1 -13
- package/dist/query/parse-ir.js.map +1 -1
- package/dist/query/run.d.ts +0 -36
- package/dist/query/run.d.ts.map +1 -1
- package/dist/query/run.js +0 -44
- package/dist/query/run.js.map +1 -1
- package/dist/query/scope.d.ts +24 -180
- package/dist/query/scope.d.ts.map +1 -1
- package/dist/query/scope.js +2 -66
- package/dist/query/scope.js.map +1 -1
- package/dist/relation.d.ts +2 -50
- package/dist/relation.d.ts.map +1 -1
- package/dist/relation.js +2 -37
- package/dist/relation.js.map +1 -1
- package/dist/schema.d.ts +13 -63
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +118 -92
- package/dist/schema.js.map +1 -1
- package/dist/spec.d.ts +1 -140
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js +1 -68
- package/dist/spec.js.map +1 -1
- package/dist/statements.d.ts +6 -137
- package/dist/statements.d.ts.map +1 -1
- package/dist/statements.js +16 -119
- package/dist/statements.js.map +1 -1
- package/package.json +3 -3
- package/src/capacity.ts +26 -140
- package/src/closed.ts +5 -206
- package/src/db.ts +997 -854
- package/src/face.ts +0 -142
- package/src/fields.ts +4 -172
- package/src/index.ts +32 -35
- package/src/law.ts +201 -129
- package/src/lower.ts +8 -53
- package/src/marshal.ts +1 -85
- package/src/native.ts +192 -413
- package/src/query/atom.ts +26 -313
- package/src/query/find.ts +24 -110
- package/src/query/lower.ts +132 -377
- package/src/query/parse-ir.ts +1 -14
- package/src/query/run.ts +0 -45
- package/src/query/scope.ts +25 -186
- package/src/relation.ts +2 -66
- package/src/schema.ts +143 -122
- package/src/spec.ts +1 -160
- package/src/statements.ts +22 -174
- package/dist/exhume.d.ts +0 -143
- package/dist/exhume.d.ts.map +0 -1
- package/dist/exhume.js +0 -166
- package/dist/exhume.js.map +0 -1
- package/src/exhume.ts +0 -267
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
|
|
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
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
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
|
|
28
|
-
* {@link Violation} values.
|
|
29
|
-
*
|
|
30
|
-
*
|
|
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";
|
|
@@ -37,24 +35,12 @@ import type { ParamsRecord } from "./query/scope.js";
|
|
|
37
35
|
import type { AnyRelation, Fact, FreshKeys } from "./relation.js";
|
|
38
36
|
import type { Schema, SchemaRelations } from "./schema.js";
|
|
39
37
|
import { type KeyStatement, type Statement } from "./statements.js";
|
|
40
|
-
/**
|
|
41
|
-
* The ordinary (writable, scannable) relations of a schema's record — the
|
|
42
|
-
* only values the runtime methods accept: closed relations lack the
|
|
43
|
-
* relation shape entirely, so passing one is a type error.
|
|
44
|
-
*/
|
|
45
38
|
type MemberRelation<Rels extends SchemaRelations> = Extract<Rels[keyof Rels], AnyRelation>;
|
|
46
|
-
/**
|
|
47
|
-
* Facts consumed vs facts that changed the in-memory final-state view.
|
|
48
|
-
* The length-1 report is `{ submitted: 1n, changed: 0n | 1n }`.
|
|
49
|
-
*/
|
|
50
39
|
interface MutationReport {
|
|
51
40
|
readonly submitted: bigint;
|
|
52
41
|
readonly changed: bigint;
|
|
53
42
|
}
|
|
54
|
-
|
|
55
|
-
* Half-open fresh-id range from one `reserve`. Empty cannot yield a
|
|
56
|
-
* minted id — `start` exists only on the nonempty arm.
|
|
57
|
-
*/
|
|
43
|
+
type CollectionWrite<R extends AnyRelation> = Iterable<Fact<R>>;
|
|
58
44
|
type FreshRange = {
|
|
59
45
|
readonly empty: true;
|
|
60
46
|
readonly count: 0n;
|
|
@@ -68,98 +54,41 @@ type FreshRange = {
|
|
|
68
54
|
at(index: bigint): bigint | undefined;
|
|
69
55
|
[Symbol.iterator](): IterableIterator<bigint>;
|
|
70
56
|
};
|
|
71
|
-
/**
|
|
72
|
-
* The key object of a key-statement-selected `get`: exactly the selected
|
|
73
|
-
* `key()` statement's projection fields, each at the relation's own BARE
|
|
74
|
-
* structural value type — the {@link KeyFact} rule generalized from the
|
|
75
|
-
* primary key to ANY declared key statement.
|
|
76
|
-
*/
|
|
77
57
|
type DeclaredKeyFact<R extends AnyRelation, Projection extends readonly string[]> = {
|
|
78
58
|
readonly [K in Projection[number] & keyof Fact<R>]: Fact<R>[K];
|
|
79
59
|
};
|
|
80
|
-
/**
|
|
81
|
-
* One offending fact of a violation: the cited relation's name (a member
|
|
82
|
-
* of the schema's record) and the fact decoded to a named natural-value
|
|
83
|
-
* object — partial exactly as the engine cites it. Closed-referencing
|
|
84
|
-
* cells arrive as handle NAMES (the marshal bijection's read half), so the
|
|
85
|
-
* record and the violation's `canonical` string — which the engine already
|
|
86
|
-
* renders with handle names — agree on the one spelling.
|
|
87
|
-
*/
|
|
88
60
|
interface OffendingFact<Rels extends SchemaRelations> {
|
|
89
61
|
readonly relation: keyof Rels & string;
|
|
90
62
|
readonly fact: Readonly<Record<string, FactValue>>;
|
|
91
63
|
}
|
|
92
|
-
/**
|
|
93
|
-
* Shared body of every violation arm: the engine's canonical rendering and
|
|
94
|
-
* the cited facts. `statement` is NOT here — its presence is the
|
|
95
|
-
* discriminant. Implied auto-keys have no SDK spelling (`statement` is
|
|
96
|
-
* the value `undefined`); every declared form carries the IDENTICAL
|
|
97
|
-
* statement value the schema declared (consumers `===`-match it).
|
|
98
|
-
*/
|
|
99
64
|
type ViolationBody<Rels extends SchemaRelations> = {
|
|
100
65
|
readonly canonical: string;
|
|
101
66
|
readonly facts: readonly OffendingFact<Rels>[];
|
|
102
67
|
};
|
|
103
|
-
/**
|
|
104
|
-
* A functionality violation of an engine-materialized fresh-implied or
|
|
105
|
-
* closed auto-key. These slots have no declared spelling (`schema()`
|
|
106
|
-
* rejects an explicit duplicate); `statement` is present and `undefined`.
|
|
107
|
-
*/
|
|
108
68
|
type ImpliedKeyViolation<Rels extends SchemaRelations> = ViolationBody<Rels> & {
|
|
109
69
|
readonly kind: "functionality";
|
|
110
70
|
readonly statement: undefined;
|
|
111
71
|
};
|
|
112
|
-
/**
|
|
113
|
-
* A functionality violation of a declared `key()` statement. `statement`
|
|
114
|
-
* is the IDENTICAL SDK value the schema declared.
|
|
115
|
-
*/
|
|
116
72
|
type DeclaredKeyViolation<Rels extends SchemaRelations> = ViolationBody<Rels> & {
|
|
117
73
|
readonly kind: "functionality";
|
|
118
74
|
readonly statement: Statement;
|
|
119
75
|
};
|
|
120
|
-
/**
|
|
121
|
-
* A containment violation of a declared `contained()` statement (no
|
|
122
|
-
* `orientation` — that property exists exactly on {@link MirrorViolation}).
|
|
123
|
-
*/
|
|
124
76
|
type ContainmentViolation<Rels extends SchemaRelations> = ViolationBody<Rels> & {
|
|
125
77
|
readonly kind: "containment";
|
|
126
78
|
readonly statement: Statement;
|
|
127
79
|
readonly direction: "sourceUnsatisfied" | "targetRequired";
|
|
128
80
|
};
|
|
129
|
-
/**
|
|
130
|
-
* A containment violation of one slot of a declared `mirrors()` statement.
|
|
131
|
-
* BOTH materialized slots render as the one `==` utterance in the written
|
|
132
|
-
* orientation (identical `canonical` strings; the engine's `render.rs`
|
|
133
|
-
* never emits a bare `<=` for a mirrored pair). `direction` is relative
|
|
134
|
-
* to the violated SLOT's own orientation, so it alone cannot say which
|
|
135
|
-
* side of the `==` was violated: `written` is the `source <= target` slot
|
|
136
|
-
* as the statement was spelled, `mirrored` the engine-materialized
|
|
137
|
-
* `target <= source` partner.
|
|
138
|
-
*/
|
|
139
81
|
type MirrorViolation<Rels extends SchemaRelations> = ViolationBody<Rels> & {
|
|
140
82
|
readonly kind: "containment";
|
|
141
83
|
readonly statement: Statement;
|
|
142
84
|
readonly direction: "sourceUnsatisfied" | "targetRequired";
|
|
143
85
|
readonly orientation: "written" | "mirrored";
|
|
144
86
|
};
|
|
145
|
-
/**
|
|
146
|
-
* A capacity violation of a declared `capacity()` statement. `measure` is
|
|
147
|
-
* the engine's witnessed group total — u128-wide, crossing whole as
|
|
148
|
-
* bigint (C3: truncation is unrepresentable).
|
|
149
|
-
*/
|
|
150
87
|
type CapacityViolation<Rels extends SchemaRelations> = ViolationBody<Rels> & {
|
|
151
88
|
readonly kind: "capacity";
|
|
152
89
|
readonly statement: Statement;
|
|
153
90
|
readonly measure: bigint;
|
|
154
91
|
};
|
|
155
|
-
/**
|
|
156
|
-
* One violated statement of a rejected commit, as a typed value. The
|
|
157
|
-
* arms are a true discriminant: `statement === undefined` is exactly the
|
|
158
|
-
* implied-auto-key arm; every declared form carries `Statement` (not
|
|
159
|
-
* `Statement | undefined`, not an omit-optional). `canonical` is the
|
|
160
|
-
* ENGINE's rendering. `direction` / `measure` pass through from the
|
|
161
|
-
* engine VERBATIM.
|
|
162
|
-
*/
|
|
163
92
|
type Violation<Rels extends SchemaRelations> = ImpliedKeyViolation<Rels> | DeclaredKeyViolation<Rels> | ContainmentViolation<Rels> | MirrorViolation<Rels> | CapacityViolation<Rels>;
|
|
164
93
|
/**
|
|
165
94
|
* The abandoned arm of a write result (ruled 2026-07-23, R10): present in
|
|
@@ -169,151 +98,75 @@ type Violation<Rels extends SchemaRelations> = ImpliedKeyViolation<Rels> | Decla
|
|
|
169
98
|
* a dead arm is never handled.
|
|
170
99
|
*/
|
|
171
100
|
type AbandonedArm<R> = R extends Abandon<infer P> ? {
|
|
172
|
-
readonly
|
|
101
|
+
readonly tag: "abandoned";
|
|
173
102
|
readonly abandoned: P;
|
|
174
103
|
} : never;
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
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`.
|
|
183
|
-
*/
|
|
184
|
-
type WriteResult<Rels extends SchemaRelations, R = void> = {
|
|
185
|
-
readonly ok: true;
|
|
104
|
+
type SyncResult<R> = R extends PromiseLike<unknown> ? never : R;
|
|
105
|
+
interface Committed<T> {
|
|
106
|
+
readonly value: T;
|
|
186
107
|
readonly generation: bigint;
|
|
108
|
+
}
|
|
109
|
+
type Admission<Rels extends SchemaRelations, T> = {
|
|
110
|
+
readonly tag: "accepted";
|
|
111
|
+
readonly value: T;
|
|
112
|
+
} | {
|
|
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>>>;
|
|
187
119
|
} | {
|
|
188
|
-
readonly
|
|
120
|
+
readonly tag: "rejected";
|
|
189
121
|
readonly violations: readonly Violation<Rels>[];
|
|
190
122
|
} | AbandonedArm<R>;
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
type DeltaBuild<Rels extends SchemaRelations, R = void> = (tx: Tx<Rels>) => R;
|
|
198
|
-
/**
|
|
199
|
-
* The runtime discriminant of {@link Abandon} values — a property probe is
|
|
200
|
-
* how `write`/`writeFrom` distinguish "abort without committing" from an
|
|
201
|
-
* ordinary callback result, never a guess about the host's own value shapes.
|
|
202
|
-
*/
|
|
123
|
+
type WriteFromOutcome<Rels extends SchemaRelations, R> = WriteOutcome<Rels, R> | {
|
|
124
|
+
readonly tag: "moved";
|
|
125
|
+
readonly witnessed: bigint;
|
|
126
|
+
readonly current: bigint;
|
|
127
|
+
};
|
|
128
|
+
type DeltaBuild<Rels extends SchemaRelations, R = void> = (tx: WriteTx<Rels>) => R;
|
|
203
129
|
declare const abandonMark: unique symbol;
|
|
204
130
|
/**
|
|
205
131
|
* The abandon sentinel {@link abandon} builds: returning one from a `write`
|
|
206
132
|
* or `writeFrom` callback rolls the transaction back WITHOUT
|
|
207
133
|
* committing (no empty commit is ever issued) and surfaces the payload as
|
|
208
|
-
* `{
|
|
134
|
+
* `{ tag: "abandoned", abandoned: payload }` (ruled 2026-07-23, R10 — the
|
|
209
135
|
* sentinel's contract is unconditional, whichever write verb received it).
|
|
210
136
|
*/
|
|
211
137
|
interface Abandon<P> {
|
|
212
138
|
readonly [abandonMark]: true;
|
|
213
139
|
readonly payload: P;
|
|
214
140
|
}
|
|
215
|
-
/**
|
|
216
|
-
* Wraps a payload in the {@link Abandon} sentinel — the one way a write
|
|
217
|
-
* callback declines to commit: `return abandon(payload)` aborts the delta
|
|
218
|
-
* (nothing is committed, not even an empty commit) and the write resolves
|
|
219
|
-
* to `{ ok: false, abandoned: payload }`, from `write` and `writeFrom`
|
|
220
|
-
* alike (R10).
|
|
221
|
-
*/
|
|
222
141
|
declare function abandon<P>(payload: P): Abandon<P>;
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
* FINAL-STATE point-read view (base + pending delta — the exact state the
|
|
226
|
-
* commit judgment judges, so check-then-act is race-free by construction).
|
|
227
|
-
* Spent when its owning `write`/`writeFrom` call resolves the attempt;
|
|
228
|
-
* any later use throws.
|
|
229
|
-
*/
|
|
230
|
-
interface Tx<Rels extends SchemaRelations> {
|
|
231
|
-
/**
|
|
232
|
-
* Records a collection of inserts. Singleton is `[fact]`. Empty is
|
|
233
|
-
* lawful. Returns how many facts were consumed and how many changed
|
|
234
|
-
* the in-memory final-state view. Every fact is complete — omitted
|
|
235
|
-
* fresh cells are a type error; mint first with {@link Tx.reserve}.
|
|
236
|
-
*/
|
|
237
|
-
insert<R extends MemberRelation<Rels>>(relation: R, facts: Iterable<Fact<R>>): MutationReport;
|
|
238
|
-
/**
|
|
239
|
-
* Records a collection of deletes. Singleton is `[fact]`. Returns
|
|
240
|
-
* how many facts were consumed and how many changed the view.
|
|
241
|
-
*/
|
|
142
|
+
interface WriteTx<Rels extends SchemaRelations> {
|
|
143
|
+
insert<R extends MemberRelation<Rels>>(relation: R, facts: CollectionWrite<R>): MutationReport;
|
|
242
144
|
delete<R extends MemberRelation<Rels>>(relation: R, facts: Iterable<Fact<R>>): MutationReport;
|
|
243
|
-
/**
|
|
244
|
-
* Mints `count` consecutive fresh values for a `.fresh` field.
|
|
245
|
-
* `count === 0n` is empty and does not yield a start.
|
|
246
|
-
*/
|
|
247
145
|
reserve<R extends MemberRelation<Rels>>(relation: R, field: FreshKeys<R> & string, count: bigint): FreshRange;
|
|
248
|
-
/** Final-state membership of one complete fact. */
|
|
249
146
|
contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
|
|
250
|
-
/**
|
|
251
|
-
* Final-state point lookup through the relation's primary key (the
|
|
252
|
-
* {@link KeyFact} rule); `undefined` on a miss.
|
|
253
|
-
*/
|
|
254
147
|
get<R extends MemberRelation<Rels>>(relation: R, key: KeyFact<R>): Fact<R> | undefined;
|
|
255
|
-
/**
|
|
256
|
-
* Final-state point lookup through a DECLARED `key()` statement of this
|
|
257
|
-
* schema — the key object is typed by the statement's own projection;
|
|
258
|
-
* `undefined` on a miss.
|
|
259
|
-
*/
|
|
260
148
|
get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
|
|
261
149
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
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.
|
|
271
|
-
*/
|
|
272
|
-
interface ReadScope<Rels extends SchemaRelations> extends Disposable {
|
|
273
|
-
/**
|
|
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.
|
|
277
|
-
*/
|
|
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> {
|
|
278
155
|
readonly generation: bigint;
|
|
279
|
-
/** Full-relation export in row-id order, decoded to bare structural facts. */
|
|
280
156
|
scan<R extends MemberRelation<Rels>>(relation: R): Fact<R>[];
|
|
281
|
-
|
|
282
|
-
* Committed-state point lookup through the relation's primary key
|
|
283
|
-
* (the {@link KeyFact} rule); `undefined` on a miss.
|
|
284
|
-
*/
|
|
157
|
+
count<R extends MemberRelation<Rels>>(relation: R): bigint;
|
|
285
158
|
get<R extends MemberRelation<Rels>>(relation: R, key: KeyFact<R>): Fact<R> | undefined;
|
|
286
|
-
/**
|
|
287
|
-
* Committed-state point lookup through a DECLARED `key()` statement of
|
|
288
|
-
* this schema — the key object is typed by the statement's own
|
|
289
|
-
* projection; `undefined` on a miss.
|
|
290
|
-
*/
|
|
291
159
|
get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
|
|
292
|
-
/** Committed-state membership of one complete fact. */
|
|
293
160
|
contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
|
|
294
|
-
/**
|
|
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
|
|
298
|
-
* execution spelling ({@link Prepared} carries no `execute`).
|
|
299
|
-
*/
|
|
300
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>;
|
|
301
163
|
}
|
|
302
|
-
/**
|
|
303
|
-
* The module-private inference slot of {@link Prepared}: an optional symbol
|
|
304
|
-
* property (never set at runtime) that keeps the prepared value's `Row` and
|
|
305
|
-
* `Params` type arguments load-bearing, so `execute` infers the typed rows
|
|
306
|
-
* and the typed params object from the value alone — the query module's
|
|
307
|
-
* `inferred` pattern, local to this module. A type-level carrier only:
|
|
308
|
-
* values stay bare, nothing is asserted.
|
|
309
|
-
*/
|
|
310
164
|
declare const preparedTypes: unique symbol;
|
|
311
165
|
/**
|
|
312
166
|
* One prepared query as a plain VALUE: explicit visible compilation
|
|
313
167
|
* (`db.prepare(q)` lowers, pins the plan, and surfaces every engine roster
|
|
314
168
|
* refusal), no lifecycle. Execution happens ONLY through
|
|
315
|
-
* `
|
|
316
|
-
* symmetry rule's one spelling. The engine-side plan is reclaimed by a GC
|
|
169
|
+
* `instance.execute(prepared, params)`. The engine-side plan is reclaimed by a GC
|
|
317
170
|
* finalizer when this value becomes unreachable (reclamation only, never
|
|
318
171
|
* correctness — an unreclaimed plan is idle memory, and process exit frees
|
|
319
172
|
* everything).
|
|
@@ -325,60 +178,19 @@ interface Prepared<Rels extends SchemaRelations, Row, Params extends ParamsRecor
|
|
|
325
178
|
readonly params: Params;
|
|
326
179
|
};
|
|
327
180
|
}
|
|
328
|
-
/**
|
|
329
|
-
* An open store. There is no close: read through `read`/the read sugar,
|
|
330
|
-
* write through `write`/`writeFrom`, and let the process own the
|
|
331
|
-
* environment's lifetime (the engine fsyncs every commit, so durability
|
|
332
|
-
* never waits on a close). A second `open`/`create` of the same path
|
|
333
|
-
* while this handle lives is the engine's `EnvironmentLocked`.
|
|
334
|
-
*/
|
|
335
181
|
interface Db<Rels extends SchemaRelations> {
|
|
336
|
-
/** The theory this store was opened with (fingerprint-verified by the engine). */
|
|
337
182
|
readonly schema: Schema<Rels>;
|
|
338
|
-
|
|
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()`.
|
|
351
|
-
*/
|
|
352
|
-
read(): ReadScope<Rels>;
|
|
353
|
-
/** `db.scan(r)` === `db.read(snap => snap.scan(r))` — the symmetry rule. */
|
|
354
|
-
scan<R extends MemberRelation<Rels>>(relation: R): Fact<R>[];
|
|
355
|
-
/** `db.get(r, k)` === `db.read(snap => snap.get(r, k))` — the symmetry rule. */
|
|
356
|
-
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. */
|
|
358
|
-
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. */
|
|
360
|
-
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. */
|
|
362
|
-
execute<Row, Params extends ParamsRecord>(prepared: Prepared<Rels, Row, Params>, params: Params): Row[];
|
|
183
|
+
read<R>(body: (instance: ReadInstance<Rels>, witness: Witness<Rels>) => SyncResult<R>): SyncResult<R>;
|
|
363
184
|
/**
|
|
364
185
|
* One delta transaction: builds the delta synchronously through `fn`,
|
|
365
186
|
* commits, and returns the domain outcome. A throw from `fn` aborts
|
|
366
187
|
* the delta (LMDB untouched) and rethrows wrapped. `fn` may decline to
|
|
367
|
-
* commit by returning {@link abandon}`(payload)
|
|
368
|
-
*
|
|
369
|
-
*
|
|
370
|
-
* an arm the result type carries exactly when the callback can abandon.
|
|
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 }`.
|
|
371
191
|
*/
|
|
372
|
-
write<R
|
|
373
|
-
|
|
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)`.
|
|
380
|
-
*/
|
|
381
|
-
writeFrom<R>(snap: ReadScope<Rels>, fn: DeltaBuild<Rels, R>): WriteResult<Rels, R>;
|
|
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>>;
|
|
382
194
|
/**
|
|
383
195
|
* Prepares a query value built against THIS schema (identity is the
|
|
384
196
|
* membership rule): lowers it to the engine IR, pins the plan, and
|
|
@@ -388,59 +200,50 @@ interface Db<Rels extends SchemaRelations> {
|
|
|
388
200
|
*/
|
|
389
201
|
prepare<Row, Params extends ParamsRecord>(q: Query<Rels, Row, Params>): Prepared<Rels, Row, Params>;
|
|
390
202
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
declare const ErrGenerationMoved: Error;
|
|
397
|
-
/**
|
|
398
|
-
* The engine twin of the schema-level class wall, as a matchable value
|
|
399
|
-
* (`errors.is`): the shared lowering rejected a spec whose statement pairs
|
|
400
|
-
* faces with disagreeing newtype labels — the faces of a dependency agree
|
|
401
|
-
* on their newtype, or neither carries one. UNREACHABLE through the typed
|
|
402
|
-
* builder (the SDK computes every label from the laws, so its lowered
|
|
403
|
-
* specs cohere by construction); a raw spec handed to the bridge is the
|
|
404
|
-
* one road here, and the runtime referee that proves the engine judges
|
|
405
|
-
* what the types claim.
|
|
406
|
-
*/
|
|
203
|
+
declare const ErrAsyncCallback: Error;
|
|
204
|
+
declare const ErrSpentHandle: Error;
|
|
205
|
+
declare const ErrUseAfterScope: Error;
|
|
206
|
+
declare const ErrForeignPrepared: Error;
|
|
207
|
+
declare const ErrForeignWitness: Error;
|
|
407
208
|
declare const ErrNewtypeMismatch: Error;
|
|
209
|
+
declare const ErrSchemaError: Error;
|
|
210
|
+
declare const ErrFingerprintMismatch: Error;
|
|
211
|
+
declare const ErrIrError: Error;
|
|
212
|
+
interface OwnedInstance<Rels extends SchemaRelations> extends Disposable {
|
|
213
|
+
prepare<Row, Params extends ParamsRecord>(q: Query<Rels, Row, Params>): Prepared<Rels, Row, Params>;
|
|
214
|
+
execute<Row, Params extends ParamsRecord>(prepared: Prepared<Rels, Row, Params>, params: Params): Row[];
|
|
215
|
+
scan<R extends MemberRelation<Rels>>(relation: R): Fact<R>[];
|
|
216
|
+
count<R extends MemberRelation<Rels>>(relation: R): bigint;
|
|
217
|
+
contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
|
|
218
|
+
get<R extends MemberRelation<Rels>>(relation: R, key: KeyFact<R>): Fact<R> | undefined;
|
|
219
|
+
get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
|
|
220
|
+
}
|
|
221
|
+
interface InstanceBuilder<Rels extends SchemaRelations> extends Disposable {
|
|
222
|
+
load<R extends MemberRelation<Rels>>(relation: R, facts: CollectionWrite<R>): MutationReport;
|
|
223
|
+
delete<R extends MemberRelation<Rels>>(relation: R, facts: Iterable<Fact<R>>): MutationReport;
|
|
224
|
+
reserve<R extends MemberRelation<Rels>>(relation: R, field: FreshKeys<R> & string, count: bigint): FreshRange;
|
|
225
|
+
contains<R extends MemberRelation<Rels>>(relation: R, fact: Fact<R>): boolean;
|
|
226
|
+
get<R extends MemberRelation<Rels>>(relation: R, key: KeyFact<R>): Fact<R> | undefined;
|
|
227
|
+
get<R extends MemberRelation<Rels>, const P extends readonly string[]>(relation: R, keyStatement: KeyStatement<R, P>, key: DeclaredKeyFact<R, P>): Fact<R> | undefined;
|
|
228
|
+
admit(): Promise<Admission<Rels, OwnedInstance<Rels>>>;
|
|
229
|
+
}
|
|
230
|
+
declare const InstanceBuilder: Readonly<{
|
|
231
|
+
create<Rels extends SchemaRelations>(theory: Schema<Rels>): InstanceBuilder<Rels>;
|
|
232
|
+
}>;
|
|
408
233
|
/**
|
|
409
234
|
* The store lifecycle — `Db.create(path, schema)` / `Db.open(path, schema)`.
|
|
410
235
|
* Create refuses an already-initialized directory; open verifies format
|
|
411
|
-
* version
|
|
412
|
-
*
|
|
413
|
-
*
|
|
414
|
-
*
|
|
415
|
-
*
|
|
236
|
+
* version and the schema fingerprint. A second live handle on the same
|
|
237
|
+
* path is the engine's `EnvironmentLocked`. There is no close anywhere:
|
|
238
|
+
* the process owns the environment until GC/exit (durability is the
|
|
239
|
+
* engine's per-commit fsync). Resume = reopen in a fresh process, or
|
|
240
|
+
* hold the `Db` this process opened.
|
|
416
241
|
*/
|
|
417
242
|
declare const Db: Readonly<{
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
* 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).
|
|
441
|
-
*/
|
|
442
|
-
exhume(storePath: string): Promise<Exhumed>;
|
|
243
|
+
create<Rels extends SchemaRelations>(storePath: string, theory: Schema<Rels>): Promise<Admission<Rels, Db<Rels>>>;
|
|
244
|
+
open<Rels extends SchemaRelations>(storePath: string, theory: Schema<Rels>): Promise<Db<Rels>>;
|
|
245
|
+
fromInstance<Rels extends SchemaRelations>(storePath: string, instance: OwnedInstance<Rels>): Promise<Db<Rels>>;
|
|
443
246
|
}>;
|
|
444
|
-
export type { Abandon, AbandonedArm, CapacityViolation, ContainmentViolation, DeclaredKeyFact, DeclaredKeyViolation, DeltaBuild, FreshRange, ImpliedKeyViolation, MemberRelation, MirrorViolation, MutationReport, OffendingFact, Prepared,
|
|
445
|
-
export { abandon, Db,
|
|
247
|
+
export type { Abandon, AbandonedArm, Admission, CapacityViolation, Committed, ContainmentViolation, DeclaredKeyFact, DeclaredKeyViolation, DeltaBuild, FreshRange, ImpliedKeyViolation, MemberRelation, MirrorViolation, MutationReport, OffendingFact, OwnedInstance, Prepared, ReadInstance, SyncResult, Violation, Witness, WriteFromOutcome, WriteOutcome, WriteTx };
|
|
248
|
+
export { abandon, Db, ErrAsyncCallback, ErrFingerprintMismatch, ErrForeignPrepared, ErrForeignWitness, ErrIrError, ErrNewtypeMismatch, ErrSchemaError, ErrSpentHandle, ErrUseAfterScope, InstanceBuilder };
|
|
446
249
|
//# 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAOH,OAAO,EAA0C,KAAK,OAAO,EAA6B,MAAM,aAAa,CAAA;AAE7G,OAAO,KAAK,EAIX,SAAS,EAYT,MAAM,YAAY,CAAA;AAGnB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,KAAK,EAAa,MAAM,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAA;AACpF,OAAO,EAAe,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/E,KAAK,cAAc,CAAC,IAAI,SAAS,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,WAAW,CAAC,CAAA;AAE1F,UAAU,cAAc;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACxB;AAED,KAAK,eAAe,CAAC,CAAC,SAAS,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AA+C/D,KAAK,UAAU,GACZ;IACA,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAA;IAClB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAA;CAC5C,GACD;IACA,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACrC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAA;CAC5C,CAAA;AAqCJ,KAAK,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,SAAS,SAAS,MAAM,EAAE,IAAI;IACnF,QAAQ,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9D,CAAA;AAED,UAAU,aAAa,CAAC,IAAI,SAAS,eAAe;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,CAAA;IACtC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;CAClD;AAED,KAAK,aAAa,CAAC,IAAI,SAAS,eAAe,IAAI;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,CAAC,IAAI,CAAC,EAAE,CAAA;CAC9C,CAAA;AAED,KAAK,mBAAmB,CAAC,IAAI,SAAS,eAAe,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG;IAC9E,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC7B,CAAA;AAED,KAAK,oBAAoB,CAAC,IAAI,SAAS,eAAe,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG;IAC/E,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC7B,CAAA;AAED,KAAK,oBAAoB,CAAC,IAAI,SAAS,eAAe,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG;IAC/E,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,GAAG,gBAAgB,CAAA;CAC1D,CAAA;AAED,KAAK,eAAe,CAAC,IAAI,SAAS,eAAe,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG;IAC1E,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,GAAG,gBAAgB,CAAA;IAC1D,QAAQ,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,CAAA;CAC5C,CAAA;AAED,KAAK,iBAAiB,CAAC,IAAI,SAAS,eAAe,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG;IAC5E,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,KAAK,SAAS,CAAC,IAAI,SAAS,eAAe,IACxC,mBAAmB,CAAC,IAAI,CAAC,GACzB,oBAAoB,CAAC,IAAI,CAAC,GAC1B,oBAAoB,CAAC,IAAI,CAAC,GAC1B,eAAe,CAAC,IAAI,CAAC,GACrB,iBAAiB,CAAC,IAAI,CAAC,CAAA;AAE1B;;;;;;GAMG;AACH,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;CAAE,GAAG,KAAK,CAAA;AAEhH,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;AAE/D,UAAU,SAAS,CAAC,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC3B;AAED,KAAK,SAAS,CAAC,IAAI,SAAS,eAAe,EAAE,CAAC,IAC3C;IAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC/C;IAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,CAAC,IAAI,CAAC,EAAE,CAAA;CAAE,CAAA;AAEhF,KAAK,YAAY,CAAC,IAAI,SAAS,eAAe,EAAE,CAAC,IAC9C;IAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,GACrF;IAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,CAAC,IAAI,CAAC,EAAE,CAAA;CAAE,GAC7E,YAAY,CAAC,CAAC,CAAC,CAAA;AAElB,KAAK,gBAAgB,CAAC,IAAI,SAAS,eAAe,EAAE,CAAC,IAClD,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GACrB;IAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAElF,KAAK,UAAU,CAAC,IAAI,SAAS,eAAe,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAElF,QAAA,MAAM,WAAW,EAAE,OAAO,MAAmC,CAAA;AAE7D;;;;;;GAMG;AACH,UAAU,OAAO,CAAC,CAAC;IAClB,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;CACnB;AAED,iBAAS,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE1C;AAyBD,UAAU,OAAO,CAAC,IAAI,SAAS,eAAe;IAC7C,MAAM,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,cAAc,CAAA;IAE9F,MAAM,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAA;IAE7F,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAA;IAE7G,QAAQ,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;IAE7E,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACtF,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EACpE,QAAQ,EAAE,CAAC,EACX,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,GAAG,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GACxB,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CACtB;AAED,QAAA,MAAM,YAAY,EAAE,OAAO,MAAyC,CAAA;AAEpE,UAAU,OAAO,CAAC,IAAI,SAAS,eAAe,CAAE,SAAQ,UAAU;IACjE,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAA;CAC9B;AAED,UAAU,YAAY,CAAC,IAAI,SAAS,eAAe;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAE3B,IAAI,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAE5D,KAAK,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAA;IAE1D,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAEtF,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EACpE,QAAQ,EAAE,CAAC,EACX,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,GAAG,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GACxB,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAEtB,QAAQ,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;IAE7E,OAAO,CAAC,GAAG,EAAE,MAAM,SAAS,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAA;IACvG,OAAO,CAAC,GAAG,EAAE,MAAM,SAAS,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;CACnG;AAED,QAAA,MAAM,aAAa,EAAE,OAAO,MAA0C,CAAA;AAEtE;;;;;;;;GAQG;AACH,UAAU,QAAQ,CAAC,IAAI,SAAS,eAAe,EAAE,GAAG,EAAE,MAAM,SAAS,YAAY;IAChF,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9F;AAED,UAAU,EAAE,CAAC,IAAI,SAAS,eAAe;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAE7B,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IACrG;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAErF,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IACrH;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,SAAS,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;CACnG;AA8UD,QAAA,MAAM,gBAAgB,OAErB,CAAA;AACD,QAAA,MAAM,cAAc,OAAwF,CAAA;AAC5G,QAAA,MAAM,gBAAgB,OAErB,CAAA;AACD,QAAA,MAAM,kBAAkB,OAAkF,CAAA;AAC1G,QAAA,MAAM,iBAAiB,OAAuE,CAAA;AAolB9F,QAAA,MAAM,kBAAkB,OAEvB,CAAA;AACD,QAAA,MAAM,cAAc,OAAwE,CAAA;AAC5F,QAAA,MAAM,sBAAsB,OAA4F,CAAA;AACxH,QAAA,MAAM,UAAU,OAA8D,CAAA;AAuF9E,UAAU,aAAa,CAAC,IAAI,SAAS,eAAe,CAAE,SAAQ,UAAU;IACvE,OAAO,CAAC,GAAG,EAAE,MAAM,SAAS,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACnG,OAAO,CAAC,GAAG,EAAE,MAAM,SAAS,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAA;IACvG,IAAI,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5D,KAAK,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAA;IAC1D,QAAQ,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;IAE7E,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACtF,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EACpE,QAAQ,EAAE,CAAC,EACX,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,GAAG,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GACxB,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CACtB;AAED,UAAU,eAAe,CAAC,IAAI,SAAS,eAAe,CAAE,SAAQ,UAAU;IACzE,IAAI,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,cAAc,CAAA;IAC5F,MAAM,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAA;IAC7F,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAA;IAC7G,QAAQ,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;IAE7E,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACtF,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EACpE,QAAQ,EAAE,CAAC,EACX,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,GAAG,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GACxB,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACtB,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;CACtD;AAqLD,QAAA,MAAM,eAAe;WACb,IAAI,SAAS,eAAe,UAAU,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC;EAOhF,CAAA;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,EAAE;WACM,IAAI,SAAS,eAAe,aAC7B,MAAM,UACT,MAAM,CAAC,IAAI,CAAC,GAClB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;SAI1B,IAAI,SAAS,eAAe,aAAa,MAAM,UAAU,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;iBAGjF,IAAI,SAAS,eAAe,aACnC,MAAM,YACP,aAAa,CAAC,IAAI,CAAC,GAC3B,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;EAcnB,CAAA;AAEF,YAAY,EACX,OAAO,EACP,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,CAAA;AACD,OAAO,EACN,OAAO,EACP,EAAE,EACF,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,CAAA"}
|