@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.
Files changed (108) hide show
  1. package/COOKBOOK.md +58 -62
  2. package/README.md +82 -56
  3. package/dist/capacity.d.ts +24 -136
  4. package/dist/capacity.d.ts.map +1 -1
  5. package/dist/capacity.js +18 -40
  6. package/dist/capacity.js.map +1 -1
  7. package/dist/closed.d.ts +0 -156
  8. package/dist/closed.d.ts.map +1 -1
  9. package/dist/closed.js +0 -104
  10. package/dist/closed.js.map +1 -1
  11. package/dist/db.d.ts +93 -290
  12. package/dist/db.d.ts.map +1 -1
  13. package/dist/db.js +713 -556
  14. package/dist/db.js.map +1 -1
  15. package/dist/face.d.ts +0 -133
  16. package/dist/face.d.ts.map +1 -1
  17. package/dist/face.js +0 -33
  18. package/dist/face.js.map +1 -1
  19. package/dist/fields.d.ts +1 -145
  20. package/dist/fields.d.ts.map +1 -1
  21. package/dist/fields.js +2 -91
  22. package/dist/fields.js.map +1 -1
  23. package/dist/index.d.ts +13 -23
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +11 -20
  26. package/dist/index.js.map +1 -1
  27. package/dist/law.d.ts +111 -93
  28. package/dist/law.d.ts.map +1 -1
  29. package/dist/law.js +23 -27
  30. package/dist/law.js.map +1 -1
  31. package/dist/lower.d.ts +9 -35
  32. package/dist/lower.d.ts.map +1 -1
  33. package/dist/lower.js +8 -53
  34. package/dist/lower.js.map +1 -1
  35. package/dist/marshal.d.ts +0 -65
  36. package/dist/marshal.d.ts.map +1 -1
  37. package/dist/marshal.js +0 -72
  38. package/dist/marshal.js.map +1 -1
  39. package/dist/native.d.ts +97 -390
  40. package/dist/native.d.ts.map +1 -1
  41. package/dist/native.js +39 -61
  42. package/dist/native.js.map +1 -1
  43. package/dist/query/atom.d.ts +10 -276
  44. package/dist/query/atom.d.ts.map +1 -1
  45. package/dist/query/atom.js +1 -96
  46. package/dist/query/atom.js.map +1 -1
  47. package/dist/query/find.d.ts +10 -76
  48. package/dist/query/find.d.ts.map +1 -1
  49. package/dist/query/find.js +0 -30
  50. package/dist/query/find.js.map +1 -1
  51. package/dist/query/lower.d.ts +64 -146
  52. package/dist/query/lower.d.ts.map +1 -1
  53. package/dist/query/lower.js +19 -256
  54. package/dist/query/lower.js.map +1 -1
  55. package/dist/query/parse-ir.d.ts +0 -7
  56. package/dist/query/parse-ir.d.ts.map +1 -1
  57. package/dist/query/parse-ir.js +1 -13
  58. package/dist/query/parse-ir.js.map +1 -1
  59. package/dist/query/run.d.ts +0 -36
  60. package/dist/query/run.d.ts.map +1 -1
  61. package/dist/query/run.js +0 -44
  62. package/dist/query/run.js.map +1 -1
  63. package/dist/query/scope.d.ts +24 -180
  64. package/dist/query/scope.d.ts.map +1 -1
  65. package/dist/query/scope.js +2 -66
  66. package/dist/query/scope.js.map +1 -1
  67. package/dist/relation.d.ts +2 -50
  68. package/dist/relation.d.ts.map +1 -1
  69. package/dist/relation.js +2 -37
  70. package/dist/relation.js.map +1 -1
  71. package/dist/schema.d.ts +13 -63
  72. package/dist/schema.d.ts.map +1 -1
  73. package/dist/schema.js +118 -92
  74. package/dist/schema.js.map +1 -1
  75. package/dist/spec.d.ts +1 -140
  76. package/dist/spec.d.ts.map +1 -1
  77. package/dist/spec.js +1 -68
  78. package/dist/spec.js.map +1 -1
  79. package/dist/statements.d.ts +6 -137
  80. package/dist/statements.d.ts.map +1 -1
  81. package/dist/statements.js +16 -119
  82. package/dist/statements.js.map +1 -1
  83. package/package.json +3 -3
  84. package/src/capacity.ts +26 -140
  85. package/src/closed.ts +5 -206
  86. package/src/db.ts +997 -854
  87. package/src/face.ts +0 -142
  88. package/src/fields.ts +4 -172
  89. package/src/index.ts +32 -35
  90. package/src/law.ts +201 -129
  91. package/src/lower.ts +8 -53
  92. package/src/marshal.ts +1 -85
  93. package/src/native.ts +192 -413
  94. package/src/query/atom.ts +26 -313
  95. package/src/query/find.ts +24 -110
  96. package/src/query/lower.ts +132 -377
  97. package/src/query/parse-ir.ts +1 -14
  98. package/src/query/run.ts +0 -45
  99. package/src/query/scope.ts +25 -186
  100. package/src/relation.ts +2 -66
  101. package/src/schema.ts +143 -122
  102. package/src/spec.ts +1 -160
  103. package/src/statements.ts +22 -174
  104. package/dist/exhume.d.ts +0 -143
  105. package/dist/exhume.d.ts.map +0 -1
  106. package/dist/exhume.js +0 -166
  107. package/dist/exhume.js.map +0 -1
  108. package/src/exhume.ts +0 -267
@@ -1,41 +1,7 @@
1
- /**
2
- * Atoms and conditions, REFERENCE-IDENTITY edition — the body vocabulary of
3
- * a rule, mirroring the engine IR variant for variant
4
- * (`bumbledb/crates/bumbledb/src/ir.rs`, the bijection target;
5
- * `docs/architecture/20-query-ir.md` normative). A `match` binding record
6
- * binds fields to VARIABLES (minted by {@link v}), params, ∈-set params, or
7
- * bare structural literals — a closed-reference field's literal is its
8
- * handle NAME, and a plain ARRAY of names there is membership
9
- * (unmentioned fields ARE the wildcard — no wildcard value exists);
10
- * `not(Rel, {...})` is negation-as-position (anti-join); `eq`/`ne` and the
11
- * order roster, `pointIn` (the one spelling of `ir::CmpOp::PointIn`,
12
- * always lowered interval-left), `allen` (the 13-bit mask pair
13
- * comparison), and `and`/`or` (the input condition-tree grammar) complete
14
- * the roster. Nothing beyond the IR exists here — and the walls the engine
15
- * enforces at prepare are TYPES first: a variable joins only class-equal
16
- * fields, judged at every binding position against the var's MINT slot
17
- * ({@link MintSlotOf}); because {@link JoinOk} is an equality, that ALONE
18
- * makes every cross-binding join transitively class-equal (the env/sibling
19
- * checks the name-keyed edition needed are gone). An interval-typed var
20
- * under a non-`pointIn` comparison is unwritable. BOUNDNESS (a negated
21
- * atom's variables must be positively bound) is the one check types cannot
22
- * carry — object identity is invisible to TS — so it is a construction-time
23
- * wall only.
24
- *
25
- * This module also owns the plain runtime DATA a built rule is made of
26
- * (`RuleData`/`InteriorData`/`RecData` and friends): frozen values the
27
- * lowering walks — pure data (variable references included), so lowering
28
- * stays a pure, stable function of the query value.
29
- */
30
1
  import type { AnyField, ClosedIdField, ClosedRoster, Infer, IntervalValue } from "../fields.js";
31
2
  import type { ClassLookup, ClassRecordOf, SchemaClasses } from "../law.js";
32
- import type { AnyVar, ClassedField, Duration, JoinOk, MatchFields, MatchOwner, MintSlotOf, Param, ParamValueAt, SetParam, ShapeOf } from "./scope.js";
3
+ import type { AnyVar, ClassedField, JoinOk, MatchFields, MatchOwner, MintSlotOf, Param, ParamValueAt, SetParam, ShapeOf } from "./scope.js";
33
4
  import type { FieldsShape } from "../relation.js";
34
- /**
35
- * One atom-binding position as runtime data. A variable rides BY REFERENCE
36
- * (`ref`) — object identity is the join. `literalSet` is a membership
37
- * ARRAY at a closed-reference field, folded into the query.
38
- */
39
5
  type BindingTermData = {
40
6
  readonly kind: "var";
41
7
  readonly ref: AnyVar;
@@ -53,21 +19,17 @@ type BindingTermData = {
53
19
  readonly kind: "literal";
54
20
  readonly value: unknown;
55
21
  };
56
- /** One resolved binding: the field's name, its descriptor, its law-computed class, and the term. */
57
22
  interface BindingEntry {
58
23
  readonly field: string;
59
24
  readonly data: AnyField;
60
25
  readonly class: string | undefined;
61
26
  readonly term: BindingTermData;
62
27
  }
63
- /** One EDB atom as runtime data (either polarity — polarity is the rule item's; a closed owner is a ψ atom). */
64
28
  interface AtomData {
65
29
  readonly relation: MatchOwner;
66
30
  readonly bindings: readonly BindingEntry[];
67
31
  }
68
- /** One comparison operator name (mirrors `ir::CmpOp`). */
69
32
  type CmpKind = "eq" | "ne" | "lt" | "le" | "gt" | "ge" | "pointIn" | "allen";
70
- /** One comparison side as runtime data (variables and the measure ride BY REFERENCE). */
71
33
  type CmpTermData = {
72
34
  readonly kind: "var";
73
35
  readonly ref: AnyVar;
@@ -77,14 +39,10 @@ type CmpTermData = {
77
39
  } | {
78
40
  readonly kind: "setParam";
79
41
  readonly name: string;
80
- } | {
81
- readonly kind: "measure";
82
- readonly ref: AnyVar;
83
42
  } | {
84
43
  readonly kind: "literal";
85
44
  readonly value: unknown;
86
45
  };
87
- /** One comparison condition as runtime data; the mask lives inside `allen`. */
88
46
  type CmpData = {
89
47
  readonly kind: "cmp";
90
48
  readonly lhs: CmpTermData;
@@ -99,60 +57,35 @@ type CmpData = {
99
57
  readonly kind: Exclude<CmpKind, "allen">;
100
58
  };
101
59
  });
102
- /** One condition-tree node as runtime data (`ir::ConditionTree`). */
103
60
  interface TreeData {
104
61
  readonly kind: "tree";
105
62
  readonly op: "and" | "or";
106
63
  readonly children: readonly CondData[];
107
64
  }
108
- /** Any condition node as runtime data. */
109
65
  type CondData = CmpData | TreeData;
110
- /** One aggregate's runtime description (find vocabulary, over variable REFERENCES). */
111
66
  type AggData = {
112
67
  readonly op: "count";
113
68
  } | {
114
69
  readonly op: "fold";
115
70
  readonly fold: "sum" | "min" | "max";
116
- readonly over: AnyVar | {
117
- readonly duration: AnyVar;
118
- };
71
+ readonly over: AnyVar;
119
72
  } | {
120
73
  readonly op: "pack";
121
74
  readonly over: AnyVar;
122
75
  };
123
- /** One classified find entry as runtime data (variables and the measure ride BY REFERENCE). */
124
76
  type FindEntryData = {
125
77
  readonly kind: "var";
126
78
  readonly over: AnyVar;
127
- } | {
128
- readonly kind: "measure";
129
- readonly over: AnyVar;
130
79
  } | {
131
80
  readonly kind: "aggregate";
132
81
  readonly agg: AggData;
133
82
  };
134
- /**
135
- * One answer column: its name (the row object key — the find record's key,
136
- * so renames are real and a duplicate column is unrepresentable), its entry,
137
- * the classed mint SLOT its values flow from (a projected var;
138
- * `undefined` for counts/folds/measures/pack, which derive numbers or
139
- * intervals), and — when that slot is a closed reference —
140
- * the roster the decode lifts row ids back to handle NAMES through
141
- * (`undefined` on every bare column). The slice is SDK-side marshaling data
142
- * only: the wire `QueryIr` never carries it.
143
- */
144
83
  interface FindColumn {
145
84
  readonly name: string;
146
85
  readonly entry: FindEntryData;
147
86
  readonly closed: ClosedRoster | undefined;
148
87
  readonly slot: ClassedField | undefined;
149
88
  }
150
- /**
151
- * One body item of a rule, in written order. An interior join is a NAMED
152
- * record over the derived table's head keys (`key`) bound to local
153
- * variables (`ref`) — the typed wall a record's unordered keys would
154
- * otherwise lose.
155
- */
156
89
  type RuleItem = {
157
90
  readonly kind: "atom";
158
91
  readonly atom: AtomData;
@@ -177,32 +110,23 @@ type RuleItem = {
177
110
  readonly kind: "cond";
178
111
  readonly cond: CondData;
179
112
  };
180
- /**
181
- * One use of a parameter inside a rule, in written order: the census the
182
- * query-level registry folds (first use mints the dense `ParamId`, first
183
- * FIELD-ANCHORED use types the wire). `members` is present exactly on a
184
- * membership-array use.
185
- */
186
113
  interface ParamUse {
187
114
  readonly name: string;
188
115
  readonly shape: "value" | "set";
189
- readonly anchor: AnyField | "measure" | undefined;
116
+ readonly anchor: AnyField | undefined;
190
117
  readonly op: "binding" | CmpKind;
191
118
  readonly members: readonly string[] | undefined;
192
119
  }
193
- /** One complete rule as runtime data. */
194
120
  interface RuleData {
195
121
  readonly items: readonly RuleItem[];
196
122
  readonly finds: readonly FindColumn[];
197
123
  readonly paramUses: readonly ParamUse[];
198
124
  }
199
- /** One named interior's runtime description — identity keys the dense `InteriorId` at lowering. */
200
125
  interface InteriorData {
201
126
  readonly name: string;
202
127
  readonly finds: readonly FindColumn[];
203
128
  readonly rules: readonly RuleData[];
204
129
  }
205
- /** A nonempty frozen list — empty base/rec/finds are unrepresentable on RecData. */
206
130
  type NonEmpty<T> = readonly [T, ...T[]];
207
131
  /**
208
132
  * Name-only rec identity used while base arms are in flight. Rec-base
@@ -211,63 +135,28 @@ type NonEmpty<T> = readonly [T, ...T[]];
211
135
  interface RecHandle {
212
136
  readonly name: string;
213
137
  }
214
- /**
215
- * Rec identity plus the sealed head, used while rec arms are in flight
216
- * and as the target those arms capture.
217
- */
218
138
  interface RecHead {
219
139
  readonly name: string;
220
140
  readonly finds: NonEmpty<FindColumn>;
221
141
  }
222
- /**
223
- * The linear rec's runtime description — identity keys the dense
224
- * `InteriorId` (`interiors.length`) at lowering. Base and rec arms are
225
- * nonempty by type and sealed in one assignment.
226
- */
227
142
  interface RecData extends RecHead {
228
143
  readonly base: NonEmpty<RuleData>;
229
144
  readonly rec: NonEmpty<RuleData>;
230
145
  }
231
- /** A named derived table (an interior or the rec) as `.interior(name)` / `r.not(name)` resolve it. */
232
146
  type DerivedTable = InteriorData | RecHead;
233
- /**
234
- * What a binding position of field `F` accepts: a bare structural literal
235
- * of the field's value type, a variable/param/∈-set-param term — and, when
236
- * the field is interval-typed, a bare point literal. A CLOSED-reference
237
- * field additionally takes a plain ARRAY of handle names read as membership.
238
- */
239
147
  type BindingInput<F extends AnyField> = Infer<F> | (F extends ClosedIdField ? readonly Infer<F>[] : never) | (F extends {
240
148
  readonly kind: "interval";
241
149
  } ? bigint : never) | AnyVar | Param<string> | SetParam<string>;
242
- /**
243
- * The `match`/`not` bindings record: per field, a term or literal of that
244
- * field's structural type; unmentioned fields are wildcards (absence IS
245
- * the wildcard — the IR has no wildcard variant to spell).
246
- */
247
150
  type MatchShape<F extends FieldsShape> = {
248
151
  readonly [K in keyof F]?: BindingInput<F[K]>;
249
152
  };
250
- /**
251
- * One field position of a bindings record as a classed slot: the declared
252
- * descriptor plus the slot's law-computed class, read off the relation's
253
- * class record (`CR`). The one shape a binding position's join judgment
254
- * compares against.
255
- */
256
153
  type SlotAt<F extends FieldsShape, CR, K> = {
257
154
  readonly field: F[K & keyof F];
258
155
  readonly class: ClassLookup<CR, K>;
259
156
  };
260
- /**
261
- * The per-property join judgment of a bindings record: a VARIABLE binding
262
- * must join its own MINT slot to the position slot (a cross-class reuse maps
263
- * the property to `never`). Because {@link JoinOk} is an equality, judging
264
- * every position against the mint slot makes all cross-binding joins
265
- * mutually class-equal by transitivity — no env or sibling arm is needed.
266
- */
267
157
  type CheckBindings<Classes extends SchemaClasses, F extends FieldsShape, CR, B> = {
268
158
  readonly [K in keyof B]: K extends keyof F ? B[K] extends AnyVar ? JoinOk<MintSlotOf<Classes, B[K]>, SlotAt<F, CR, K>> extends true ? B[K] : never : B[K] : never;
269
159
  };
270
- /** The params-object fragments a bindings record contributes (one union member per param use). */
271
160
  type BindParams<F extends FieldsShape, B> = {
272
161
  [K in keyof B & keyof F]: B[K] extends Param<infer P extends string> ? {
273
162
  readonly [Q in P]: ParamValueAt<F[K]>;
@@ -275,12 +164,6 @@ type BindParams<F extends FieldsShape, B> = {
275
164
  readonly [Q in P]: readonly ParamValueAt<F[K]>[];
276
165
  } : never;
277
166
  }[keyof B & keyof F];
278
- /**
279
- * One comparison VALUE: op plus its operands, raw — the runtime
280
- * representation carries the operands (variable references included), so
281
- * `.where`'s judgment and the params inference both read the value itself.
282
- * `mask` is populated exactly for `allen`.
283
- */
284
167
  interface Cmp<Op extends CmpKind, L, R, M = undefined> {
285
168
  readonly cond: "cmp";
286
169
  readonly op: Op;
@@ -288,7 +171,6 @@ interface Cmp<Op extends CmpKind, L, R, M = undefined> {
288
171
  readonly rhs: R;
289
172
  readonly mask: M;
290
173
  }
291
- /** One condition-tree VALUE (`and`/`or` over comparisons and nested trees). */
292
174
  interface Tree<Ch extends readonly AnyTreeChild[]> {
293
175
  readonly cond: "tree";
294
176
  readonly op: "and" | "or";
@@ -306,77 +188,30 @@ interface NotAtom<R extends MatchOwner, B> {
306
188
  readonly relation: R;
307
189
  readonly bindings: B;
308
190
  }
309
- /**
310
- * One negated finished-table atom — negation OF an interior or of the
311
- * finished rec is engine-legal in main (a finished set is a set), and
312
- * this value is its one spelling: `r.not("reach", { c })`. Binds nothing,
313
- * only rejects — every variable it names must be positively bound in the
314
- * rule (the same safety rule as EDB negation).
315
- */
316
191
  interface NotInteriorAtom<B> {
317
192
  readonly cond: "notInterior";
318
193
  readonly name: string;
319
194
  readonly bindings: B;
320
195
  }
321
- /** Any comparison value. */
322
196
  type AnyCmp = Cmp<CmpKind, unknown, unknown, unknown>;
323
- /** Any condition-tree child (trees hold comparisons and trees — never atoms). */
324
197
  type AnyTreeChild = AnyCmp | Tree<readonly AnyTreeChild[]>;
325
- /** Any negated-atom value. */
326
198
  type AnyNotAtom = NotAtom<MatchOwner, unknown>;
327
- /** Any negated finished-table value. */
328
199
  type AnyNotInteriorAtom = NotInteriorAtom<unknown>;
329
- /** Any `.where` input: a comparison, a condition tree, or a negated atom (EDB, closed, or finished table). */
330
200
  type AnyCond = AnyCmp | Tree<readonly AnyTreeChild[]> | AnyNotAtom | AnyNotInteriorAtom;
331
- /** What `eq`'s right side accepts (`ParamSet` is `Eq`-only — the IR's rule). */
332
201
  type EqRight = AnyVar | Param<string> | SetParam<string> | bigint | string | boolean | Uint8Array | IntervalValue;
333
- /** What `ne`'s right side accepts. */
334
202
  type NeRight = AnyVar | Param<string> | bigint | string | boolean | Uint8Array | IntervalValue;
335
- /** One side of an order comparison: orderable terms only (the IR's comparison rules — bool orders, `false < true`, R3). */
336
- type OrderSide = AnyVar | Param<string> | Duration | bigint | boolean;
337
- /** The point side of `pointIn`. */
203
+ type OrderSide = AnyVar | Param<string> | bigint | boolean;
338
204
  type PointSide = AnyVar | Param<string> | bigint;
339
- /** The interval side of `pointIn`/`allen`. */
340
205
  type IntervalSide = AnyVar | Param<string> | IntervalValue;
341
- /** Builds one comparison value. */
342
206
  declare function comparison<Op extends CmpKind, L, R, M>(op: Op, lhs: L, rhs: R, mask: M): Cmp<Op, L, R, M>;
343
- /**
344
- * The equality comparison (`ir::CmpOp::Eq`) — a bound variable against a
345
- * variable (var-to-var unification, class-equal by the join judgment), a
346
- * param (typed by the variable), an ∈-set param (`Eq`-only), or a bare
347
- * literal of the variable's own value type. Prefer direct placement in
348
- * `match` where punning applies.
349
- */
350
207
  declare function eq<L extends AnyVar, const R extends EqRight>(left: L, right: R): Cmp<"eq", L, R>;
351
- /** Typed disequality (`ir::CmpOp::Ne`). "Not in set" has no operator — write a negated atom. */
352
208
  declare function ne<L extends AnyVar, const R extends NeRight>(left: L, right: R): Cmp<"ne", L, R>;
353
- /** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only (bool included: `false < true`, R3), never intervals/bytes/strings. */
354
209
  declare function lt<const L extends OrderSide, const R extends OrderSide>(left: L, right: R): Cmp<"lt", L, R>;
355
- /** Less-or-equal (`ir::CmpOp::Le`). */
356
210
  declare function le<const L extends OrderSide, const R extends OrderSide>(left: L, right: R): Cmp<"le", L, R>;
357
- /** Strict greater-than (`ir::CmpOp::Gt`). */
358
211
  declare function gt<const L extends OrderSide, const R extends OrderSide>(left: L, right: R): Cmp<"gt", L, R>;
359
- /** Greater-or-equal (`ir::CmpOp::Ge`). */
360
212
  declare function ge<const L extends OrderSide, const R extends OrderSide>(left: L, right: R): Cmp<"ge", L, R>;
361
- /**
362
- * Point membership as a predicate (`ir::CmpOp::PointIn`) — THE one
363
- * spelling: `pointIn(t, w)` holds iff `w.start ≤ t < w.end`. The IR
364
- * orders the operands interval-left, point-right; the value stores them
365
- * that way whatever the surface argument order. Interval ⊇ interval is NOT
366
- * this operator; that predicate is `allen(a, ALLEN.covers, b)`.
367
- */
368
213
  declare function pointIn<const P extends PointSide, const I extends IntervalSide>(point: P, interval: I): Cmp<"pointIn", I, P>;
369
- /**
370
- * The 13-bit mask range: bits above the low 13 are unrepresentable in the
371
- * engine's `AllenMask` (`bumbledb/crates/bumbledb/src/allen.rs`:
372
- * `AllenMask::new` refuses them).
373
- */
374
214
  declare const ALLEN_ALL_BITS: number;
375
- /**
376
- * The Allen coordinate system's named constants — the 13 basics in the
377
- * engine's palindromic bit order plus the workload composites, values
378
- * identical to the engine's. Compose with `|`: `ALLEN.before | ALLEN.meets`.
379
- */
380
215
  declare const ALLEN: Readonly<{
381
216
  before: number;
382
217
  meets: number;
@@ -391,36 +226,16 @@ declare const ALLEN: Readonly<{
391
226
  overlappedBy: number;
392
227
  metBy: number;
393
228
  after: number;
394
- /** The point-sets share a point (9 bits; under half-open intervals *meets* shares none). */
395
229
  intersects: number;
396
- /** Point-set ⊇: equals ∪ contains ∪ started-by ∪ finished-by. */
397
230
  covers: number;
398
- /** Point-set ⊆ — `covers`' converse: equals ∪ during ∪ starts ∪ finishes. */
399
231
  coveredBy: number;
400
- /** The point-sets share no point: before ∪ meets ∪ met-by ∪ after. */
401
232
  disjoint: number;
402
233
  }>;
403
- /**
404
- * THE interval-pair comparison (`ir::CmpOp::Allen`): two interval terms of
405
- * one element type, satisfied iff the pair's classification is in the
406
- * 13-bit mask — a literal built from the `ALLEN` constants.
407
- */
408
234
  declare function allen<const A extends IntervalSide, const B extends IntervalSide>(left: A, mask: number, right: B): Cmp<"allen", A, B, number>;
409
- /**
410
- * Conjunction node of the input condition grammar (`ConditionTree::And`).
411
- * The rule's condition list is already a conjunction — `and` exists for
412
- * nesting under `or`, and the empty combination keeps the IR's algebraic
413
- * reading (`And([])` is true).
414
- */
415
235
  declare function and<const C extends readonly AnyTreeChild[]>(...children: C): Tree<C>;
416
- /**
417
- * Disjunction node of the input condition grammar (`ConditionTree::Or`) —
418
- * the one place the surface admits a nested OR; validation distributes it
419
- * to DNF rules engine-side. `Or([])` keeps its algebraic reading (false).
420
- */
421
236
  declare function or<const C extends readonly AnyTreeChild[]>(...children: C): Tree<C>;
422
237
  /**
423
- * Negation — anti-join over sets: `not(Rel, { field: someVar, ... })`
238
+ * Negation — anti-join over sets: `not(Rel, { field: someVar,... })`
424
239
  * rejects every binding some matching fact extends. A negated atom binds
425
240
  * nothing, only rejects: every variable it names must be positively bound
426
241
  * in the rule, a construction-time wall (the engine's safety refusal stands
@@ -437,7 +252,7 @@ declare function not<const Name extends string, const B extends Readonly<Record<
437
252
  * interval's element domain, and a quantifier is not an addition, so bool
438
253
  * (orderable, never numeric) is exactly here refused. A CLOSED reference
439
254
  * is excluded even though its kind is `u64`: a vocabulary's declaration-id
440
- * order is an accident, not semantics (`docs/architecture/10-data-model.md`
255
+ * order is an accident, not semantics
441
256
  * § orderability), so every order-comparison and fold position refuses
442
257
  * closed-bound terms — the construction-time validations in
443
258
  * `#query/lower.ts` are that ban's runtime twin.
@@ -445,93 +260,26 @@ declare function not<const Name extends string, const B extends Readonly<Record<
445
260
  type NumericVarOk<V extends AnyVar> = V["field"] extends {
446
261
  readonly closed: ClosedRoster;
447
262
  } ? false : V["field"]["kind"] extends "u64" | "i64" ? true : false;
448
- /**
449
- * Whether a variable's OWN field is ORDERABLE (u64/i64/bool) — the one gate
450
- * every order-comparison side, `min`/`max` input, and Arg key reads. Bool
451
- * orders: `false < true`, the strict 0/1 encoding IS the order (ruled R3),
452
- * exactly the engine's operand screen
453
- * (`bumbledb/crates/bumbledb/src/ir/validate/context.rs`); bool has no
454
- * closed variant, so the closed exclusion rides in {@link NumericVarOk}.
455
- */
456
263
  type OrderVarOk<V extends AnyVar> = V["field"]["kind"] extends "bool" ? true : NumericVarOk<V>;
457
- /** Whether a variable's OWN field is interval-typed. */
458
264
  type IntervalVarOk<V extends AnyVar> = V["field"]["kind"] extends "interval" ? true : false;
459
- /**
460
- * Whether a comparison has a VARIABLE side (a var or the measure) — the
461
- * type-level twin of the engine's `ConstantComparison` rule: a param is a
462
- * constant at execution, so param-vs-param and param-vs-literal are
463
- * constant-valued whatever their domains ({@link assertTermSide} is the
464
- * runtime wall behind this one).
465
- */
466
- type CmpVarSideOk<L, R> = L extends AnyVar | Duration ? true : R extends AnyVar | Duration ? true : false;
467
- /**
468
- * One order side's DOMAIN — the type-level twin of the engine's resolved
469
- * operand type (`ir/validate/context.rs`, `classify`'s `Ord*` arms): a
470
- * variable names its own field kind, the measure is u64 by definition (and
471
- * never meets another measure — `DurationBothSides`), a bigint literal
472
- * spans the integer domains, a param is typed by its sibling (`"open"`).
473
- * `never` marks a side that is itself unorderable: interval/bytes/string
474
- * vars (the operand screen), closed-bound vars (R4), a measure over a
475
- * non-interval var.
476
- */
477
- type OrderDomain<T> = T extends AnyVar ? OrderVarOk<T> extends true ? T["field"]["kind"] : never : T extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> extends true ? "duration" : never : T extends Param<string> ? "open" : T extends bigint ? "integer" : T extends boolean ? "bool" : never;
478
- /**
479
- * Whether two order domains may MEET under one operator — the engine's
480
- * same-type rule judged pairwise, not per side: bool meets only bool (a
481
- * bigint literal against a bool var is exactly `check_const`'s
482
- * conviction; R3 made bool orderable, never cross-orderable), u64 and i64
483
- * never meet, the measure's sibling must live in u64 (`OrdMeasureVar`:
484
- * scalar ≠ U64 is `IllegalComparison`), two measures never meet, and an
485
- * open side (param, integer literal) takes whatever its sibling names.
486
- */
487
- type OrderDomainsOk<A, B> = [A] extends [never] ? false : [B] extends [never] ? false : A extends "open" ? true : B extends "open" ? true : A extends "duration" ? B extends "u64" | "integer" ? true : false : B extends "duration" ? A extends "u64" | "integer" ? true : false : A extends "bool" ? B extends "bool" ? true : false : B extends "bool" ? false : A extends "integer" ? true : B extends "integer" ? true : A extends B ? true : false;
488
- /** The whole order comparison's judgment: a variable side exists, and the sides' domains meet. */
265
+ type CmpVarSideOk<L, R> = L extends AnyVar ? true : R extends AnyVar ? true : false;
266
+ type OrderDomain<T> = T extends AnyVar ? OrderVarOk<T> extends true ? T["field"]["kind"] : never : T extends Param<string> ? "open" : T extends bigint ? "integer" : T extends boolean ? "bool" : never;
267
+ type OrderDomainsOk<A, B> = [A] extends [never] ? false : [B] extends [never] ? false : A extends "open" ? true : B extends "open" ? true : A extends "bool" ? B extends "bool" ? true : false : B extends "bool" ? false : A extends "integer" ? true : B extends "integer" ? true : A extends B ? true : false;
489
268
  type OrderPairOk<L, R> = CmpVarSideOk<L, R> extends true ? OrderDomainsOk<OrderDomain<L>, OrderDomain<R>> : false;
490
- /**
491
- * An interval side's ELEMENT domain: a variable names its field's element
492
- * (`never` on a non-interval var), a param or bare interval literal is
493
- * `"open"` — no type exists to name its element at this tier; the engine
494
- * anchors it at prepare.
495
- */
496
269
  type IntervalElementDomain<T> = T extends AnyVar ? T["field"] extends {
497
270
  readonly kind: "interval";
498
271
  readonly element: infer E extends "u64" | "i64";
499
272
  } ? E : never : "open";
500
- /**
501
- * The point side's domain — a point lives in the interval's element
502
- * domain: a numeric var names its kind (never bool, never closed), a
503
- * param or bigint literal is open.
504
- */
505
273
  type PointDomain<T> = T extends AnyVar ? (NumericVarOk<T> extends true ? T["field"]["kind"] : never) : "open";
506
- /** Whether two element domains meet: both legal, and equal unless one is open. */
507
274
  type ElementMeets<A, B> = [A] extends [never] ? false : [B] extends [never] ? false : A extends "open" ? true : B extends "open" ? true : A extends B ? true : false;
508
- /**
509
- * The whole `pointIn` judgment (operands already sealed interval-left):
510
- * the point's domain must BE the interval's element domain — `pointIn(t,
511
- * w)` with an i64-typed `t` against `interval(u64)` is the engine's
512
- * `IllegalComparison`, judged here first.
513
- */
514
275
  type PointInPairOk<L, R> = CmpVarSideOk<L, R> extends true ? ElementMeets<IntervalElementDomain<L>, PointDomain<R>> : false;
515
- /**
516
- * The whole `allen` judgment: two interval sides of ONE element domain
517
- * (Q1 — widths meet freely, u64-vs-i64 stays illegal), judged pairwise.
518
- */
519
276
  type AllenPairOk<L, R> = CmpVarSideOk<L, R> extends true ? ElementMeets<IntervalElementDomain<L>, IntervalElementDomain<R>> : false;
520
- /** The `eq`/`ne` judgment: var-var joins by mint slot; var-literal is exact-typed by the var's own field. */
521
277
  type EqOk<Classes extends SchemaClasses, L, R> = L extends AnyVar ? R extends AnyVar ? JoinOk<MintSlotOf<Classes, L>, MintSlotOf<Classes, R>> extends true ? true : false : R extends Param<string> | SetParam<string> ? true : [R] extends [Infer<L["field"]>] ? true : false : false;
522
- /** One negated-atom binding's judgment: a variable must be class-equal (boundness is a runtime wall). */
523
278
  type NotBindingOk<Classes extends SchemaClasses, S extends ClassedField, T> = T extends AnyVar ? JoinOk<MintSlotOf<Classes, T>, S> extends true ? true : false : true;
524
- /** The whole negated atom's judgment (`CR` — the negated relation's class record off the schema class map). */
525
279
  type NotOk<Classes extends SchemaClasses, F extends FieldsShape, CR, B> = false extends {
526
280
  [K in keyof B]: NotBindingOk<Classes, SlotAt<F, CR, K>, B[K]>;
527
281
  }[keyof B] ? false : true;
528
- /** One negated finished-table position's judgment: a variable. */
529
282
  type NotInteriorBindingOk<V> = V extends AnyVar ? true : false;
530
- /**
531
- * The whole negated finished-table atom's judgment — variables only;
532
- * arity and class against the named table's head are construction-time
533
- * (the name is a string, so the head is not a type-level fact).
534
- */
535
283
  type NotInteriorOk<B> = false extends {
536
284
  [K in keyof B]: NotInteriorBindingOk<B[K]>;
537
285
  }[keyof B] ? false : true;
@@ -546,40 +294,26 @@ type NotInteriorOk<B> = false extends {
546
294
  * is the recursion's base case.
547
295
  */
548
296
  type CondOkBool<Classes extends SchemaClasses, C> = [AnyTreeChild] extends [C] ? true : C extends Cmp<infer Op, infer L, infer R, unknown> ? Op extends "eq" | "ne" ? EqOk<Classes, L, R> : Op extends "lt" | "le" | "gt" | "ge" ? OrderPairOk<L, R> : Op extends "pointIn" ? PointInPairOk<L, R> : Op extends "allen" ? AllenPairOk<L, R> : false : C extends Tree<infer Ch extends readonly AnyTreeChild[]> ? false extends CondOkBool<Classes, Ch[number]> ? false : true : C extends NotInteriorAtom<infer B> ? NotInteriorOk<B> : C extends NotAtom<infer R extends MatchOwner, infer B> ? NotOk<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B> : false;
549
- /** The validated `.where` argument (intersect with the inferred condition type). */
550
297
  type CheckCond<Classes extends SchemaClasses, C> = CondOkBool<Classes, C> extends true ? C : never;
551
- /** The `eq`/`ne` params contribution: the param typed by the left variable's own field. */
552
298
  type EqParams<L, R> = L extends AnyVar ? R extends Param<infer P extends string> ? {
553
299
  readonly [Q in P]: Infer<L["field"]>;
554
300
  } : R extends SetParam<infer P extends string> ? {
555
301
  readonly [Q in P]: readonly Infer<L["field"]>[];
556
302
  } : never : never;
557
- /**
558
- * An order side's params contribution, typed by the SIBLING side — the
559
- * runtime anchors a param to its sibling variable's field, so a bool var
560
- * orders against a `boolean` param; every var-less pairing stays `bigint`.
561
- */
562
303
  type OrderSideParams<T, Sib> = T extends Param<infer P extends string> ? {
563
304
  readonly [Q in P]: Sib extends AnyVar ? Infer<Sib["field"]> : bigint;
564
305
  } : never;
565
- /** The point side's params contribution (a point is always `bigint`). */
566
306
  type PointParams<T> = T extends Param<infer P extends string> ? {
567
307
  readonly [Q in P]: bigint;
568
308
  } : never;
569
- /** An interval side's params contribution. */
570
309
  type IntervalSideParams<T> = T extends Param<infer P extends string> ? {
571
310
  readonly [Q in P]: IntervalValue;
572
311
  } : never;
573
- /**
574
- * One condition's params-object fragments (a union; the rule builder folds
575
- * them into the inferred `Params` record) — every param typed by its use.
576
- * The leading arm is the same base case as {@link CondOkBool}'s.
577
- */
578
312
  type CondParams<C> = [AnyTreeChild] extends [C] ? never : C extends Cmp<infer Op, infer L, infer R, infer _M> ? Op extends "eq" | "ne" ? EqParams<L, R> : Op extends "lt" | "le" | "gt" | "ge" ? OrderSideParams<L, R> | OrderSideParams<R, L> : Op extends "pointIn" ? IntervalSideParams<L> | PointParams<R> : Op extends "allen" ? IntervalSideParams<L> | IntervalSideParams<R> : never : C extends Tree<infer Ch extends readonly AnyTreeChild[]> ? CondParams<Ch[number]> : C extends NotInteriorAtom<unknown> ? never : C extends NotAtom<infer R extends MatchOwner, infer B> ? BindParams<MatchFields<R>, B> : never;
579
313
  /** The flattened params record one bindings record contributes. */
580
314
  type BindParamsShape<F extends FieldsShape, B> = ShapeOf<BindParams<F, B>>;
581
315
  /** The flattened params record one condition contributes. */
582
316
  type CondParamsShape<C> = ShapeOf<CondParams<C>>;
583
- export type { AggData, AnyCmp, AnyCond, AnyNotAtom, AnyTreeChild, AtomData, BindingEntry, BindingInput, BindingTermData, BindParams, BindParamsShape, CheckBindings, CheckCond, Cmp, CmpData, CmpKind, CmpTermData, CondData, CondOkBool, CondParams, CondParamsShape, DerivedTable, FindColumn, FindEntryData, InteriorData, IntervalSide, IntervalVarOk, MatchFields, MatchOwner, MatchShape, NotAtom, NotInteriorAtom, NumericVarOk, OrderSide, OrderVarOk, ParamUse, PointSide, RecData, RecHandle, RecHead, RuleData, RuleItem, SlotAt, Tree, TreeData };
317
+ export type { AggData, AnyCmp, AnyCond, AnyNotAtom, AnyTreeChild, AtomData, BindingEntry, BindingInput, BindingTermData, BindParams, BindParamsShape, CheckBindings, CheckCond, Cmp, CmpData, CmpKind, CmpTermData, CondData, CondOkBool, CondParams, CondParamsShape, DerivedTable, FindColumn, FindEntryData, InteriorData, IntervalSide, IntervalVarOk, MatchFields, MatchOwner, MatchShape, NotAtom, NotInteriorAtom, NumericVarOk, OrderSide, ParamUse, PointSide, RecData, RecHandle, RecHead, RuleData, RuleItem, SlotAt, Tree, TreeData };
584
318
  export { ALLEN, ALLEN_ALL_BITS, allen, and, comparison, eq, ge, gt, le, lt, ne, not, or, pointIn };
585
319
  //# sourceMappingURL=atom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}