@bjornpagen/bumbledb 0.9.0 → 0.11.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 (73) hide show
  1. package/COOKBOOK.md +155 -136
  2. package/README.md +3 -7
  3. package/dist/capacity.d.ts +14 -1
  4. package/dist/capacity.d.ts.map +1 -1
  5. package/dist/capacity.js.map +1 -1
  6. package/dist/db.d.ts +77 -109
  7. package/dist/db.d.ts.map +1 -1
  8. package/dist/db.js +121 -339
  9. package/dist/db.js.map +1 -1
  10. package/dist/index.d.ts +11 -16
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +7 -10
  13. package/dist/index.js.map +1 -1
  14. package/dist/lower.d.ts.map +1 -1
  15. package/dist/lower.js +8 -1
  16. package/dist/lower.js.map +1 -1
  17. package/dist/native.d.ts +69 -50
  18. package/dist/native.d.ts.map +1 -1
  19. package/dist/native.js.map +1 -1
  20. package/dist/query/atom.d.ts +162 -122
  21. package/dist/query/atom.d.ts.map +1 -1
  22. package/dist/query/atom.js +26 -22
  23. package/dist/query/atom.js.map +1 -1
  24. package/dist/query/find.d.ts +18 -35
  25. package/dist/query/find.d.ts.map +1 -1
  26. package/dist/query/find.js +13 -32
  27. package/dist/query/find.js.map +1 -1
  28. package/dist/query/lower.d.ts +113 -122
  29. package/dist/query/lower.d.ts.map +1 -1
  30. package/dist/query/lower.js +336 -260
  31. package/dist/query/lower.js.map +1 -1
  32. package/dist/query/parse-ir.d.ts +12 -0
  33. package/dist/query/parse-ir.d.ts.map +1 -0
  34. package/dist/query/parse-ir.js +71 -0
  35. package/dist/query/parse-ir.js.map +1 -0
  36. package/dist/query/run.d.ts +2 -2
  37. package/dist/query/run.d.ts.map +1 -1
  38. package/dist/query/run.js +2 -13
  39. package/dist/query/run.js.map +1 -1
  40. package/dist/query/scope.d.ts +4 -16
  41. package/dist/query/scope.d.ts.map +1 -1
  42. package/dist/query/scope.js +1 -6
  43. package/dist/query/scope.js.map +1 -1
  44. package/dist/schema.js +2 -2
  45. package/dist/schema.js.map +1 -1
  46. package/dist/statements.d.ts +15 -9
  47. package/dist/statements.d.ts.map +1 -1
  48. package/dist/statements.js +14 -9
  49. package/dist/statements.js.map +1 -1
  50. package/package.json +2 -2
  51. package/src/capacity.ts +24 -1
  52. package/src/db.ts +182 -443
  53. package/src/index.ts +9 -23
  54. package/src/lower.ts +8 -1
  55. package/src/native.ts +69 -42
  56. package/src/query/atom.ts +255 -165
  57. package/src/query/find.ts +39 -80
  58. package/src/query/lower.ts +578 -432
  59. package/src/query/parse-ir.ts +82 -0
  60. package/src/query/run.ts +2 -14
  61. package/src/query/scope.ts +3 -21
  62. package/src/schema.ts +2 -2
  63. package/src/statements.ts +33 -17
  64. package/dist/order.d.ts +0 -87
  65. package/dist/order.d.ts.map +0 -1
  66. package/dist/order.js +0 -153
  67. package/dist/order.js.map +0 -1
  68. package/dist/query/predicate.d.ts +0 -91
  69. package/dist/query/predicate.d.ts.map +0 -1
  70. package/dist/query/predicate.js +0 -156
  71. package/dist/query/predicate.js.map +0 -1
  72. package/src/order.ts +0 -234
  73. package/src/query/predicate.ts +0 -269
@@ -23,19 +23,18 @@
23
23
  * wall only.
24
24
  *
25
25
  * This module also owns the plain runtime DATA a built rule is made of
26
- * (`RuleData`/`RecData` and friends): frozen values the lowering walks —
27
- * pure data (variable references included), so lowering stays a pure,
28
- * stable function of the query value.
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
29
  */
30
30
  import type { AnyField, ClosedIdField, ClosedRoster, Infer, IntervalValue } from "#fields.ts";
31
31
  import type { ClassLookup, ClassRecordOf, SchemaClasses } from "#law.ts";
32
- import type { AnyVar, ClassedField, Duration, JoinOk, MaskParam, MatchFields, MatchOwner, MintSlotOf, Param, ParamsRecord, ParamValueAt, SetParam, ShapeOf } from "#query/scope.ts";
33
- import { inferred } from "#query/scope.ts";
32
+ import type { AnyVar, ClassedField, Duration, JoinOk, MatchFields, MatchOwner, MintSlotOf, Param, ParamValueAt, SetParam, ShapeOf } from "#query/scope.ts";
34
33
  import type { FieldsShape } from "#relation.ts";
35
34
  /**
36
35
  * One atom-binding position as runtime data. A variable rides BY REFERENCE
37
36
  * (`ref`) — object identity is the join. `literalSet` is a membership
38
- * ARRAY at a closed-reference field, folded into the program.
37
+ * ARRAY at a closed-reference field, folded into the query.
39
38
  */
40
39
  type BindingTermData = {
41
40
  readonly kind: "var";
@@ -85,22 +84,21 @@ type CmpTermData = {
85
84
  readonly kind: "literal";
86
85
  readonly value: unknown;
87
86
  };
88
- /** The `allen` mask position as runtime data. */
89
- type MaskData = {
90
- readonly kind: "literal";
91
- readonly mask: number;
92
- } | {
93
- readonly kind: "param";
94
- readonly name: string;
95
- };
96
- /** One comparison condition as runtime data (`mask` present exactly for `allen`). */
97
- interface CmpData {
87
+ /** One comparison condition as runtime data; the mask lives inside `allen`. */
88
+ type CmpData = {
98
89
  readonly kind: "cmp";
99
- readonly op: CmpKind;
100
- readonly mask: MaskData | undefined;
101
90
  readonly lhs: CmpTermData;
102
91
  readonly rhs: CmpTermData;
103
- }
92
+ } & ({
93
+ readonly op: {
94
+ readonly kind: "allen";
95
+ readonly mask: number;
96
+ };
97
+ } | {
98
+ readonly op: {
99
+ readonly kind: Exclude<CmpKind, "allen">;
100
+ };
101
+ });
104
102
  /** One condition-tree node as runtime data (`ir::ConditionTree`). */
105
103
  interface TreeData {
106
104
  readonly kind: "tree";
@@ -112,20 +110,12 @@ type CondData = CmpData | TreeData;
112
110
  /** One aggregate's runtime description (find vocabulary, over variable REFERENCES). */
113
111
  type AggData = {
114
112
  readonly op: "count";
115
- } | {
116
- readonly op: "countDistinct";
117
- readonly over: AnyVar;
118
113
  } | {
119
114
  readonly op: "fold";
120
115
  readonly fold: "sum" | "min" | "max";
121
116
  readonly over: AnyVar | {
122
117
  readonly duration: AnyVar;
123
118
  };
124
- } | {
125
- readonly op: "arg";
126
- readonly direction: "argMax" | "argMin";
127
- readonly over: AnyVar;
128
- readonly key: AnyVar;
129
119
  } | {
130
120
  readonly op: "pack";
131
121
  readonly over: AnyVar;
@@ -144,12 +134,12 @@ type FindEntryData = {
144
134
  /**
145
135
  * One answer column: its name (the row object key — the find record's key,
146
136
  * so renames are real and a duplicate column is unrepresentable), its entry,
147
- * the classed mint SLOT its values flow from (a projected var or an
148
- * Arg-carried payload; `undefined` for counts/folds/measures/pack, which
149
- * derive numbers or intervals), and — when that slot is a closed reference —
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 —
150
140
  * the roster the decode lifts row ids back to handle NAMES through
151
141
  * (`undefined` on every bare column). The slice is SDK-side marshaling data
152
- * only: the wire `ProgramIr` never carries it.
142
+ * only: the wire `QueryIr` never carries it.
153
143
  */
154
144
  interface FindColumn {
155
145
  readonly name: string;
@@ -158,9 +148,10 @@ interface FindColumn {
158
148
  readonly slot: ClassedField | undefined;
159
149
  }
160
150
  /**
161
- * One body item of a rule, in written order. The idb join is a NAMED record
162
- * over the rec's head keys (`key`) bound to local variables (`ref`) — the
163
- * typed wall a record's unordered keys would otherwise lose.
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.
164
155
  */
165
156
  type RuleItem = {
166
157
  readonly kind: "atom";
@@ -169,14 +160,19 @@ type RuleItem = {
169
160
  readonly kind: "negated";
170
161
  readonly atom: AtomData;
171
162
  } | {
172
- readonly kind: "idb";
173
- readonly rec: RecData;
163
+ readonly kind: "interior";
164
+ readonly target: DerivedTable;
165
+ readonly bindings: ReadonlyArray<{
166
+ readonly key: string;
167
+ readonly ref: AnyVar;
168
+ }>;
169
+ } | {
170
+ readonly kind: "negatedInterior";
171
+ readonly target: DerivedTable;
174
172
  readonly bindings: ReadonlyArray<{
175
173
  readonly key: string;
176
174
  readonly ref: AnyVar;
177
175
  }>;
178
- /** `true` on a negated finished-stratum atom (`r.not(rec, {...})`): probed through its anti-probe, binds nothing. */
179
- readonly negated: boolean;
180
176
  } | {
181
177
  readonly kind: "cond";
182
178
  readonly cond: CondData;
@@ -189,7 +185,7 @@ type RuleItem = {
189
185
  */
190
186
  interface ParamUse {
191
187
  readonly name: string;
192
- readonly shape: "value" | "set" | "mask";
188
+ readonly shape: "value" | "set";
193
189
  readonly anchor: AnyField | "measure" | undefined;
194
190
  readonly op: "binding" | CmpKind;
195
191
  readonly members: readonly string[] | undefined;
@@ -200,15 +196,40 @@ interface RuleData {
200
196
  readonly finds: readonly FindColumn[];
201
197
  readonly paramUses: readonly ParamUse[];
202
198
  }
199
+ /** One named interior's runtime description — identity keys the dense `InteriorId` at lowering. */
200
+ interface InteriorData {
201
+ readonly name: string;
202
+ readonly finds: readonly FindColumn[];
203
+ readonly rules: readonly RuleData[];
204
+ }
205
+ /** A nonempty frozen list — empty base/rec/finds are unrepresentable on RecData. */
206
+ type NonEmpty<T> = readonly [T, ...T[]];
207
+ /**
208
+ * Name-only rec identity used while base arms are in flight. Rec-base
209
+ * arms cannot read the rec; they must not observe a head.
210
+ */
211
+ interface RecHandle {
212
+ readonly name: string;
213
+ }
203
214
  /**
204
- * One recursive predicate's runtime description identity keys the dense
205
- * `PredId` at lowering. `rules` is appended by `rec.rule(...)` and sealed
206
- * (frozen) when the program's output is declared.
215
+ * Rec identity plus the sealed head, used while rec arms are in flight
216
+ * and as the target those arms capture.
207
217
  */
208
- interface RecData {
218
+ interface RecHead {
209
219
  readonly name: string;
210
- readonly rules: RuleData[];
220
+ readonly finds: NonEmpty<FindColumn>;
221
+ }
222
+ /**
223
+ * The optional 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
+ interface RecData extends RecHead {
228
+ readonly base: NonEmpty<RuleData>;
229
+ readonly rec: NonEmpty<RuleData>;
211
230
  }
231
+ /** A named derived table (an interior or the rec) as `.interior(name)` / `r.not(name)` resolve it. */
232
+ type DerivedTable = InteriorData | RecHead;
212
233
  /**
213
234
  * What a binding position of field `F` accepts: a bare structural literal
214
235
  * of the field's value type, a variable/param/∈-set-param term — and, when
@@ -286,32 +307,15 @@ interface NotAtom<R extends MatchOwner, B> {
286
307
  readonly bindings: B;
287
308
  }
288
309
  /**
289
- * A recursive predicate as a NEGATION target the structural half of the
290
- * rec reference (`data` carries rules, never fields, so an EDB or closed
291
- * owner can never match it and the `not()` overloads stay disjoint).
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).
292
315
  */
293
- interface RecTarget {
316
+ interface NotInteriorAtom<B> {
317
+ readonly cond: "notInterior";
294
318
  readonly name: string;
295
- readonly data: RecData;
296
- readonly [inferred]?: {
297
- readonly params: ParamsRecord;
298
- readonly head: HeadShapeOf;
299
- };
300
- }
301
- /** The head signature a threaded rec target carries (`undefined` before its first rule seals one). */
302
- type HeadShapeOf = Readonly<Record<string, ClassedField>> | undefined;
303
- /**
304
- * One negated FINISHED-STRATUM atom — negation OF a lower stratum is
305
- * engine-legal (the strata judge refuses only negation *through* a cycle:
306
- * a finished set is what keeps the operator monotone), and this value is
307
- * its one spelling: `r.not(reach, { c })` in an output rule rejects every
308
- * binding the finished stratum extends, through the engine's anti-probe.
309
- * Binds nothing, only rejects — every variable it names must be positively
310
- * bound in the rule (the same safety rule as EDB negation).
311
- */
312
- interface NotIdbAtom<Target extends RecTarget, B> {
313
- readonly cond: "notIdb";
314
- readonly target: Target;
315
319
  readonly bindings: B;
316
320
  }
317
321
  /** Any comparison value. */
@@ -320,10 +324,10 @@ type AnyCmp = Cmp<CmpKind, unknown, unknown, unknown>;
320
324
  type AnyTreeChild = AnyCmp | Tree<readonly AnyTreeChild[]>;
321
325
  /** Any negated-atom value. */
322
326
  type AnyNotAtom = NotAtom<MatchOwner, unknown>;
323
- /** Any negated finished-stratum value. */
324
- type AnyNotIdbAtom = NotIdbAtom<RecTarget, unknown>;
325
- /** Any `.where` input: a comparison, a condition tree, or a negated atom (EDB, closed, or finished stratum). */
326
- type AnyCond = AnyCmp | Tree<readonly AnyTreeChild[]> | AnyNotAtom | AnyNotIdbAtom;
327
+ /** Any negated finished-table value. */
328
+ type AnyNotInteriorAtom = NotInteriorAtom<unknown>;
329
+ /** Any `.where` input: a comparison, a condition tree, or a negated atom (EDB, closed, or finished table). */
330
+ type AnyCond = AnyCmp | Tree<readonly AnyTreeChild[]> | AnyNotAtom | AnyNotInteriorAtom;
327
331
  /** What `eq`'s right side accepts (`ParamSet` is `Eq`-only — the IR's rule). */
328
332
  type EqRight = AnyVar | Param<string> | SetParam<string> | bigint | string | boolean | Uint8Array | IntervalValue;
329
333
  /** What `ne`'s right side accepts. */
@@ -399,10 +403,9 @@ declare const ALLEN: Readonly<{
399
403
  /**
400
404
  * THE interval-pair comparison (`ir::CmpOp::Allen`): two interval terms of
401
405
  * one element type, satisfied iff the pair's classification is in the
402
- * 13-bit mask — a literal built from the `ALLEN` constants, or a mask
403
- * parameter (`r.maskParam`).
406
+ * 13-bit mask — a literal built from the `ALLEN` constants.
404
407
  */
405
- declare function allen<const A extends IntervalSide, const M extends number | MaskParam<string>, const B extends IntervalSide>(left: A, mask: M, right: B): Cmp<"allen", A, B, M>;
408
+ declare function allen<const A extends IntervalSide, const B extends IntervalSide>(left: A, mask: number, right: B): Cmp<"allen", A, B, number>;
406
409
  /**
407
410
  * Conjunction node of the input condition grammar (`ConditionTree::And`).
408
411
  * The rule's condition list is already a conjunction — `and` exists for
@@ -422,13 +425,12 @@ declare function or<const C extends readonly AnyTreeChild[]>(...children: C): Tr
422
425
  * nothing, only rejects: every variable it names must be positively bound
423
426
  * in the rule, a construction-time wall (the engine's safety refusal stands
424
427
  * behind it). A CLOSED owner is legal here too — and so is a FINISHED
425
- * STRATUM: `not(reach, { c })` in an output rule negates the rec's
426
- * finished set (a named record over its head keys, variables only the
427
- * same wall `idb()` holds), the one spelling of the engine-legal
428
- * complement query (`(n) | Node(id: n), !reach(n);` on the Rust surface).
428
+ * TABLE: `not("reach", { c })` in a main rule negates the rec's finished
429
+ * set (a named record over its head keys, variables only), the one
430
+ * spelling of the engine-legal complement query.
429
431
  */
430
432
  declare function not<R extends MatchOwner, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B): NotAtom<R, B>;
431
- declare function not<Target extends RecTarget, const B extends Readonly<Record<string, AnyVar>>>(target: Target, bindings: B): NotIdbAtom<Target, B>;
433
+ declare function not<const Name extends string, const B extends Readonly<Record<string, AnyVar>>>(name: Name, bindings: B): NotInteriorAtom<B>;
432
434
  /**
433
435
  * Whether a variable's OWN field is NUMERIC (u64/i64) — the judgment the
434
436
  * point side of `pointIn` and the `sum` input read: a point lives in the
@@ -454,12 +456,67 @@ type NumericVarOk<V extends AnyVar> = V["field"] extends {
454
456
  type OrderVarOk<V extends AnyVar> = V["field"]["kind"] extends "bool" ? true : NumericVarOk<V>;
455
457
  /** Whether a variable's OWN field is interval-typed. */
456
458
  type IntervalVarOk<V extends AnyVar> = V["field"]["kind"] extends "interval" ? true : false;
457
- /** One order-comparison side's judgment (off the term's own field). */
458
- type OrderSideOk<T> = T extends AnyVar ? OrderVarOk<T> : T extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> : true;
459
- /** One point side's judgment (numeric only — a point lives in the interval's element domain, never bool). */
460
- type PointSideOk<T> = T extends AnyVar ? NumericVarOk<T> : true;
461
- /** One interval side's judgment. */
462
- type IntervalSideOk<T> = T extends AnyVar ? IntervalVarOk<T> : true;
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. */
489
+ 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
+ type IntervalElementDomain<T> = T extends AnyVar ? T["field"] extends {
497
+ readonly kind: "interval";
498
+ readonly element: infer E extends "u64" | "i64";
499
+ } ? 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
+ 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
+ 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
+ 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
+ type AllenPairOk<L, R> = CmpVarSideOk<L, R> extends true ? ElementMeets<IntervalElementDomain<L>, IntervalElementDomain<R>> : false;
463
520
  /** The `eq`/`ne` judgment: var-var joins by mint slot; var-literal is exact-typed by the var's own field. */
464
521
  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;
465
522
  /** One negated-atom binding's judgment: a variable must be class-equal (boundness is a runtime wall). */
@@ -468,40 +525,27 @@ type NotBindingOk<Classes extends SchemaClasses, S extends ClassedField, T> = T
468
525
  type NotOk<Classes extends SchemaClasses, F extends FieldsShape, CR, B> = false extends {
469
526
  [K in keyof B]: NotBindingOk<Classes, SlotAt<F, CR, K>, B[K]>;
470
527
  }[keyof B] ? false : true;
471
- /** Reads a rec target's sealed head signature off its inference slot (`undefined` on an unthreaded handle). */
472
- type RecHeadOf<T> = T extends {
473
- readonly [inferred]?: infer S;
474
- } ? Exclude<S, undefined> extends {
475
- readonly head: infer H;
476
- } ? H : undefined : undefined;
477
- /** Reads a rec target's params record off its inference slot. */
478
- type RecParamsOf<T> = T extends {
479
- readonly [inferred]?: infer S;
480
- } ? Exclude<S, undefined> extends {
481
- readonly params: infer P;
482
- } ? P : never : never;
483
- /** One negated finished-stratum position's judgment: a variable, class-equal to its head slot when the head is carried. */
484
- type NotIdbBindingOk<Classes extends SchemaClasses, HeadSlot, V> = V extends AnyVar ? HeadSlot extends ClassedField ? JoinOk<HeadSlot, MintSlotOf<Classes, V>> extends true ? true : false : true : false;
485
- /**
486
- * The whole negated finished-stratum atom's judgment — the negation twin of
487
- * the `idb()` chain's `CheckIdbBindings`: when the target carries its head
488
- * (a threaded rec handle), the bindings record's key set must EXACTLY equal
489
- * the head's and each variable must be class-equal to its head slot; an
490
- * unthreaded handle still takes variables only.
491
- */
492
- type NotIdbOk<Classes extends SchemaClasses, Head, B> = Head extends Readonly<Record<string, ClassedField>> ? [keyof B] extends [keyof Head] ? [keyof Head] extends [keyof B] ? false extends {
493
- [K in keyof B]: NotIdbBindingOk<Classes, Head[K & keyof Head], B[K]>;
494
- }[keyof B] ? false : true : false : false : false extends {
495
- [K in keyof B]: B[K] extends AnyVar ? true : false;
528
+ /** One negated finished-table position's judgment: a variable. */
529
+ 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
+ type NotInteriorOk<B> = false extends {
536
+ [K in keyof B]: NotInteriorBindingOk<B[K]>;
496
537
  }[keyof B] ? false : true;
497
538
  /**
498
539
  * One condition's judgment — the type-level twin of the engine's comparison
499
- * roster: class-equal joins (off the mint slots), orderable order sides (an
500
- * interval var under a non-`pointIn` op is exactly here refused),
501
- * kind-correct `pointIn`/`allen` sides, and negated-atom class safety. The
502
- * leading `[AnyTreeChild] extends [C]` arm is the recursion's base case.
540
+ * roster: class-equal joins (off the mint slots), PAIRWISE-judged order
541
+ * domains (an interval var under a non-`pointIn` op is refused per side;
542
+ * bool-vs-numeric, u64-vs-i64, and measure-vs-non-u64 are refused as
543
+ * pairs the engine's same-type rule), element-matched `pointIn`/`allen`
544
+ * pairs, the no-variable-side (constant comparison) rule, and
545
+ * negated-atom class safety. The leading `[AnyTreeChild] extends [C]` arm
546
+ * is the recursion's base case.
503
547
  */
504
- 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" ? [OrderSideOk<L>, OrderSideOk<R>] extends [true, true] ? true : false : Op extends "pointIn" ? [IntervalSideOk<L>, PointSideOk<R>] extends [true, true] ? true : false : Op extends "allen" ? [IntervalSideOk<L>, IntervalSideOk<R>] extends [true, true] ? true : false : false : C extends Tree<infer Ch extends readonly AnyTreeChild[]> ? false extends CondOkBool<Classes, Ch[number]> ? false : true : C extends NotIdbAtom<infer T extends RecTarget, infer B> ? NotIdbOk<Classes, RecHeadOf<T>, B> : C extends NotAtom<infer R extends MatchOwner, infer B> ? NotOk<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B> : false;
548
+ 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;
505
549
  /** The validated `.where` argument (intersect with the inferred condition type). */
506
550
  type CheckCond<Classes extends SchemaClasses, C> = CondOkBool<Classes, C> extends true ? C : never;
507
551
  /** The `eq`/`ne` params contribution: the param typed by the left variable's own field. */
@@ -526,20 +570,16 @@ type PointParams<T> = T extends Param<infer P extends string> ? {
526
570
  type IntervalSideParams<T> = T extends Param<infer P extends string> ? {
527
571
  readonly [Q in P]: IntervalValue;
528
572
  } : never;
529
- /** The mask position's params contribution. */
530
- type MaskParams<M> = M extends MaskParam<infer P extends string> ? {
531
- readonly [Q in P]: number;
532
- } : never;
533
573
  /**
534
574
  * One condition's params-object fragments (a union; the rule builder folds
535
575
  * them into the inferred `Params` record) — every param typed by its use.
536
576
  * The leading arm is the same base case as {@link CondOkBool}'s.
537
577
  */
538
- 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> | MaskParams<M> : never : C extends Tree<infer Ch extends readonly AnyTreeChild[]> ? CondParams<Ch[number]> : C extends NotIdbAtom<infer T extends RecTarget, unknown> ? RecParamsOf<T> : C extends NotAtom<infer R extends MatchOwner, infer B> ? BindParams<MatchFields<R>, B> : never;
578
+ 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;
539
579
  /** The flattened params record one bindings record contributes. */
540
580
  type BindParamsShape<F extends FieldsShape, B> = ShapeOf<BindParams<F, B>>;
541
581
  /** The flattened params record one condition contributes. */
542
582
  type CondParamsShape<C> = ShapeOf<CondParams<C>>;
543
- export type { AggData, AnyCmp, AnyCond, AnyNotAtom, AnyTreeChild, AtomData, BindingEntry, BindingInput, BindingTermData, BindParams, BindParamsShape, CheckBindings, CheckCond, Cmp, CmpData, CmpKind, CmpTermData, CondData, CondOkBool, CondParams, CondParamsShape, FindColumn, FindEntryData, IntervalSide, IntervalVarOk, MaskData, MatchFields, MatchOwner, MatchShape, NotAtom, NotIdbAtom, NumericVarOk, OrderSide, OrderVarOk, ParamUse, PointSide, RecData, RecTarget, RuleData, RuleItem, SlotAt, Tree, TreeData };
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 };
544
584
  export { ALLEN, ALLEN_ALL_BITS, allen, and, comparison, eq, ge, gt, le, lt, ne, not, or, pointIn };
545
585
  //# 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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"}
@@ -23,24 +23,37 @@
23
23
  * wall only.
24
24
  *
25
25
  * This module also owns the plain runtime DATA a built rule is made of
26
- * (`RuleData`/`RecData` and friends): frozen values the lowering walks —
27
- * pure data (variable references included), so lowering stays a pure,
28
- * stable function of the query value.
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
29
  */
30
30
  import * as errors from "@superbuilders/errors";
31
- import { inferred, isTerm } from "#query/scope.ts";
31
+ import { isTerm, term } from "#query/scope.ts";
32
32
  /** Builds one comparison value. */
33
33
  function comparison(op, lhs, rhs, mask) {
34
34
  return Object.freeze({ cond: "cmp", op, lhs, rhs, mask });
35
35
  }
36
36
  /**
37
- * Rejects a comparison with no term side: it is constant-valued, the
38
- * engine's own validation refuses it, and the lowering has no anchored
39
- * position to type the literals by fail here with the same verdict.
37
+ * Whether a comparison side is a VARIABLE side in the engine's sense — a
38
+ * bound variable or the measure. A param is a constant at execution, so a
39
+ * comparison whose every side is a param or literal is constant-valued:
40
+ * the engine's `ConstantComparison` conviction
41
+ * (`bumbledb/crates/bumbledb/src/ir/validate/context.rs`,
42
+ * `comparison_shape`'s last arm).
43
+ */
44
+ function isVariableSide(value) {
45
+ return isTerm(value) && (value[term] === "var" || value[term] === "duration");
46
+ }
47
+ /**
48
+ * Rejects a comparison with no variable side: it is constant-valued —
49
+ * params included, a param is a constant the moment it binds — the
50
+ * engine's own validation refuses it (`ConstantComparison`), and the
51
+ * lowering has no anchored position to type the literals by — fail here
52
+ * with the same verdict.
40
53
  */
41
54
  function assertTermSide(op, lhs, rhs) {
42
- if (!isTerm(lhs) && !isTerm(rhs)) {
43
- throw errors.new(`${op}: a comparison without a variable or parameter side is constant-valued — write the query you mean`);
55
+ if (!isVariableSide(lhs) && !isVariableSide(rhs)) {
56
+ throw errors.new(`${op}: a comparison without a variable side is constant-valued (a parameter is a constant at execution) — write the query you mean`);
44
57
  }
45
58
  }
46
59
  /**
@@ -126,12 +139,11 @@ const ALLEN = Object.freeze({
126
139
  /**
127
140
  * THE interval-pair comparison (`ir::CmpOp::Allen`): two interval terms of
128
141
  * one element type, satisfied iff the pair's classification is in the
129
- * 13-bit mask — a literal built from the `ALLEN` constants, or a mask
130
- * parameter (`r.maskParam`).
142
+ * 13-bit mask — a literal built from the `ALLEN` constants.
131
143
  */
132
144
  function allen(left, mask, right) {
133
145
  assertTermSide("allen", left, right);
134
- if (typeof mask === "number" && (!Number.isInteger(mask) || mask < 0 || mask > ALLEN_ALL_BITS)) {
146
+ if (!Number.isInteger(mask) || mask < 0 || mask > ALLEN_ALL_BITS) {
135
147
  throw errors.new(`allen mask ${mask} is not a 13-bit mask — build masks from the ALLEN constants (bumbledb allen.rs: bits above the low 13 are unrepresentable)`);
136
148
  }
137
149
  return comparison("allen", left, right, mask);
@@ -154,18 +166,10 @@ function or(...children) {
154
166
  return Object.freeze({ cond: "tree", op: "or", children: Object.freeze(children) });
155
167
  }
156
168
  function not(relation, bindings) {
157
- if (isRecTarget(relation)) {
158
- return Object.freeze({ cond: "notIdb", target: relation, bindings });
169
+ if (typeof relation === "string") {
170
+ return Object.freeze({ cond: "notInterior", name: relation, bindings });
159
171
  }
160
172
  return Object.freeze({ cond: "not", relation, bindings });
161
173
  }
162
- /**
163
- * THE negation-target discriminant: a rec's runtime data carries its rules,
164
- * a relation's its fields (and a closed relation's its handle roster) — the
165
- * shapes are disjoint by construction, so the dispatch is total.
166
- */
167
- function isRecTarget(value) {
168
- return "rules" in value.data;
169
- }
170
174
  export { ALLEN, ALLEN_ALL_BITS, allen, and, comparison, eq, ge, gt, le, lt, ne, not, or, pointIn };
171
175
  //# sourceMappingURL=atom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atom.js","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atom.js","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}