@bjornpagen/bumbledb 0.10.0 → 0.12.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 (69) hide show
  1. package/COOKBOOK.md +155 -136
  2. package/README.md +5 -9
  3. package/dist/db.d.ts +77 -109
  4. package/dist/db.d.ts.map +1 -1
  5. package/dist/db.js +121 -339
  6. package/dist/db.js.map +1 -1
  7. package/dist/index.d.ts +12 -17
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +8 -11
  10. package/dist/index.js.map +1 -1
  11. package/dist/lower.d.ts.map +1 -1
  12. package/dist/lower.js +8 -1
  13. package/dist/lower.js.map +1 -1
  14. package/dist/native.d.ts +77 -51
  15. package/dist/native.d.ts.map +1 -1
  16. package/dist/native.js.map +1 -1
  17. package/dist/query/atom.d.ts +94 -112
  18. package/dist/query/atom.d.ts.map +1 -1
  19. package/dist/query/atom.js +8 -17
  20. package/dist/query/atom.js.map +1 -1
  21. package/dist/query/find.d.ts +18 -35
  22. package/dist/query/find.d.ts.map +1 -1
  23. package/dist/query/find.js +13 -32
  24. package/dist/query/find.js.map +1 -1
  25. package/dist/query/lower.d.ts +128 -124
  26. package/dist/query/lower.d.ts.map +1 -1
  27. package/dist/query/lower.js +366 -258
  28. package/dist/query/lower.js.map +1 -1
  29. package/dist/query/parse-ir.d.ts +12 -0
  30. package/dist/query/parse-ir.d.ts.map +1 -0
  31. package/dist/query/parse-ir.js +71 -0
  32. package/dist/query/parse-ir.js.map +1 -0
  33. package/dist/query/run.d.ts +2 -2
  34. package/dist/query/run.d.ts.map +1 -1
  35. package/dist/query/run.js +2 -13
  36. package/dist/query/run.js.map +1 -1
  37. package/dist/query/scope.d.ts +4 -16
  38. package/dist/query/scope.d.ts.map +1 -1
  39. package/dist/query/scope.js +1 -6
  40. package/dist/query/scope.js.map +1 -1
  41. package/dist/schema.js +2 -2
  42. package/dist/schema.js.map +1 -1
  43. package/dist/statements.d.ts +8 -4
  44. package/dist/statements.d.ts.map +1 -1
  45. package/dist/statements.js +7 -9
  46. package/dist/statements.js.map +1 -1
  47. package/package.json +2 -2
  48. package/src/db.ts +182 -443
  49. package/src/index.ts +11 -24
  50. package/src/lower.ts +8 -1
  51. package/src/native.ts +79 -43
  52. package/src/query/atom.ts +105 -138
  53. package/src/query/find.ts +39 -80
  54. package/src/query/lower.ts +626 -434
  55. package/src/query/parse-ir.ts +82 -0
  56. package/src/query/run.ts +2 -14
  57. package/src/query/scope.ts +3 -21
  58. package/src/schema.ts +2 -2
  59. package/src/statements.ts +17 -13
  60. package/dist/order.d.ts +0 -87
  61. package/dist/order.d.ts.map +0 -1
  62. package/dist/order.js +0 -153
  63. package/dist/order.js.map +0 -1
  64. package/dist/query/predicate.d.ts +0 -91
  65. package/dist/query/predicate.d.ts.map +0 -1
  66. package/dist/query/predicate.js +0 -156
  67. package/dist/query/predicate.js.map +0 -1
  68. package/src/order.ts +0 -234
  69. package/src/query/predicate.ts +0 -269
@@ -18,11 +18,8 @@
18
18
  * `Params` inferred to be EXACTLY the params the rules use (params are typed
19
19
  * BY USE; a param no rule uses never registers). Variable IDENTITY is the
20
20
  * object reference: reusing one value across binding positions IS the join,
21
- * and a name-collision join is unrepresentable. Each binding position is
22
- * judged against the variable's MINT slot — and because {@link JoinOk} is an
23
- * equality, that alone makes every cross-binding join transitively
24
- * class-equal. Lowering is a pure function of the query value down to the
25
- * bridge's `ProgramIr` (`bumbledb/crates/bumbledb/src/ir.rs`): relations by
21
+ * lowering is a pure function of the query value down to the
22
+ * bridge's `QueryIr` (`bumbledb/crates/bumbledb/src/ir.rs`): relations by
26
23
  * declaration ordinal, variables by dense per-rule first-occurrence ids
27
24
  * (keyed on the object REFERENCE — the discipline is unchanged, only the map
28
25
  * key moved from name to reference), params by first-use order. Lowering is
@@ -30,18 +27,18 @@
30
27
  * two identically-written queries (fresh mints each) lower identically.
31
28
  * Construction validates negation safety and boundness (typed by the var's
32
29
  * label — object identity is invisible to the type tier, so these are
33
- * construction-time walls); everything else (strata, types, aggregate
30
+ * construction-time walls); everything else (types, aggregate
34
31
  * rosters, rule caps) is the ENGINE's judge, surfacing at prepare.
35
32
  */
36
33
  import type { AnyField } from "#fields.ts";
37
34
  import type { ClassRecordOf, SchemaClasses } from "#law.ts";
38
- import type { ProgramIr, TaggedValue } from "#native.ts";
39
- import type { AnyCond, BindParamsShape, CheckBindings, CheckCond, CmpKind, CondParamsShape, FindColumn, MatchFields, MatchOwner, MatchShape, RecData, RuleData } from "#query/atom.ts";
35
+ import type { ParsedQuery, TaggedValue } from "#native.ts";
36
+ import type { AnyCond, BindParamsShape, CheckBindings, CheckCond, CmpKind, CondParamsShape, FindColumn, InteriorData, MatchFields, MatchOwner, MatchShape, RecData, RecHandle, RecHead, RuleData } from "#query/atom.ts";
40
37
  import { allen, and, eq, ge, gt, le, lt, ne, not, or, pointIn } from "#query/atom.ts";
41
38
  import type { CheckFind, CheckRecFind, FindShape, HeadRecordOf, RowOfFind } from "#query/find.ts";
42
- import { argMax, argMin, count, countDistinct, max, min, pack, sum } from "#query/find.ts";
43
- import type { AnyVar, ClassedField, Flatten, InferredOf, JoinOk, MintSlotOf, ParamEntry, ParamsRecord } from "#query/scope.ts";
44
- import { inferred, makeDuration, makeMaskParam, makeParam, makeSetParam } from "#query/scope.ts";
39
+ import { count, max, min, pack, sum } from "#query/find.ts";
40
+ import type { AnyVar, ClassedField, Flatten, InferredOf, ParamEntry, ParamsRecord, ShapeOf } from "#query/scope.ts";
41
+ import { inferred, makeDuration, makeParam, makeSetParam } from "#query/scope.ts";
45
42
  import type { AnySchema, Schema, SchemaRelations } from "#schema.ts";
46
43
  /**
47
44
  * The matchable members of a schema's record — ordinary relations AND
@@ -58,15 +55,15 @@ type RowOf<T> = InferredOf<T> extends {
58
55
  readonly row: infer R;
59
56
  } ? R : never;
60
57
  /**
61
- * A recursive predicate's HEAD signature as classed slots, keyed by column
62
- * name — carried on the rec reference so an `idb` join can be judged against
63
- * it; `undefined` on values that carry no head.
58
+ * A derived table's HEAD signature as classed slots, keyed by column
59
+ * name; `undefined` on values that carry no head.
64
60
  */
65
61
  type HeadShape = Readonly<Record<string, ClassedField>> | undefined;
66
62
  /**
67
63
  * One finished rule as a plain value: the runtime data plus the inferred
68
- * row/params carrier (and, for a RECURSIVE rule, the head record of classed
69
- * slots `idb` pairs against). `.rule(...)` consumes it.
64
+ * row/params carrier (and, for an interior or rec rule, the head
65
+ * record of classed slots an `.interior(name)` join pairs against).
66
+ * `.rule(...)` consumes it.
70
67
  */
71
68
  interface RuleValue<Row, P extends ParamsRecord, Head extends HeadShape = undefined> {
72
69
  readonly rule: RuleData;
@@ -82,38 +79,25 @@ type AnyRuleValue = RuleValue<unknown, ParamsRecord, HeadShape>;
82
79
  type HeadOf<T> = InferredOf<T> extends {
83
80
  readonly head: infer H extends Readonly<Record<string, ClassedField>>;
84
81
  } ? H : undefined;
82
+ /** One `.interior(name)` position's judgment: a variable. */
83
+ type InteriorBindingOk<V> = V extends AnyVar ? true : false;
85
84
  /**
86
- * A recursive predicate REFERENCE — the shape `idb()` targets carry: the
87
- * name (type-level identity), the runtime data (value identity), the params
88
- * its rules have used, and the head signature its FIRST rule sealed.
85
+ * The validated `.interior(name)` bindings record: every entry must be a
86
+ * variable. Arity and class against the named table's head are
87
+ * construction-time (the name is a string, so the head is not a type-level
88
+ * fact).
89
89
  */
90
- interface RecRef<Name extends string, P extends ParamsRecord, Head extends HeadShape = HeadShape> {
91
- readonly name: Name;
92
- readonly data: RecData;
93
- readonly [inferred]?: {
94
- readonly params: P;
95
- readonly head: Head;
96
- };
97
- }
98
- /** One `idb` position's judgment: a variable class-equal to the head slot when the head is carried. */
99
- type IdbBindingOk<Classes extends SchemaClasses, HeadSlot, V> = V extends AnyVar ? HeadSlot extends ClassedField ? JoinOk<HeadSlot, MintSlotOf<Classes, V>> extends true ? true : false : true : false;
100
- /**
101
- * The validated `idb` bindings record: when the target carries its head
102
- * (a threaded rec handle), the record's key set must EXACTLY equal the
103
- * head's (a missing or extra key maps every property to `never`) and each
104
- * variable must be class-equal to its head slot — the same wall `JoinOk`
105
- * holds for EDB atoms. An unthreaded handle carries no head; every entry
106
- * must still be a variable, arity/class judged at construction and prepare.
107
- */
108
- type CheckIdbBindings<Classes extends SchemaClasses, Head, B> = Head extends Readonly<Record<string, ClassedField>> ? [keyof B] extends [keyof Head] ? [keyof Head] extends [keyof B] ? {
109
- readonly [K in keyof B]: K extends keyof Head ? IdbBindingOk<Classes, Head[K], B[K]> extends true ? B[K] : never : never;
110
- } : {
111
- readonly [K in keyof B]: never;
112
- } : {
113
- readonly [K in keyof B]: never;
114
- } : {
115
- readonly [K in keyof B]: B[K] extends AnyVar ? B[K] : never;
90
+ type CheckInteriorBindings<B> = {
91
+ readonly [K in keyof B]: InteriorBindingOk<B[K]> extends true ? B[K] : never;
116
92
  };
93
+ /** One interior-rule builder function. */
94
+ type InteriorBuild<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> = (r: InteriorRuleScope<Rels, Classes>) => AnyRuleValue;
95
+ /** One rec-arm builder function. */
96
+ type RecBuild<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> = (r: RecRuleScope<Rels, Classes>) => AnyRuleValue;
97
+ /** A build function's rule value. */
98
+ type BuiltRule<F> = F extends (r: never) => infer RV ? RV : never;
99
+ /** The intersected params record of a tuple of rule builds. */
100
+ type BuildsParams<Builds extends readonly ((r: never) => AnyRuleValue)[]> = ShapeOf<ParamsOf<BuiltRule<Builds[number]>>>;
117
101
  /**
118
102
  * The term/predicate/aggregate constructor vocabulary every rule builder
119
103
  * carries — pure value builders. Variables are minted by the free {@link v},
@@ -124,8 +108,6 @@ interface TermOps {
124
108
  readonly param: typeof makeParam;
125
109
  /** Names one ∈-set parameter (the IR's `ParamSet`): bound to a readonly array at execution. */
126
110
  readonly inSet: typeof makeSetParam;
127
- /** Names one Allen-mask parameter (`MaskTerm::Param`): a bind-time 13-bit mask number. */
128
- readonly maskParam: typeof makeMaskParam;
129
111
  /** The measure of an interval-typed variable: `|[s, e)| = e − s`, u64. */
130
112
  readonly duration: typeof makeDuration;
131
113
  readonly eq: typeof eq;
@@ -140,18 +122,22 @@ interface TermOps {
140
122
  readonly or: typeof or;
141
123
  readonly not: typeof not;
142
124
  readonly count: typeof count;
143
- readonly countDistinct: typeof countDistinct;
144
125
  readonly sum: typeof sum;
145
126
  readonly min: typeof min;
146
127
  readonly max: typeof max;
147
- readonly argMax: typeof argMax;
148
- readonly argMin: typeof argMin;
149
128
  readonly pack: typeof pack;
150
129
  }
151
130
  /** The rule builder a `query(S).rule(...)` callback receives (`Classes` — the join judge's authority). */
152
131
  interface QueryRuleScope<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> extends TermOps {
153
132
  /** The first EDB atom of the rule: fields bind variables, params, ∈-sets, or bare literals; absence is the wildcard. */
154
133
  match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): QueryRuleChain<Rels, BindParamsShape<MatchFields<R>, B>, Classes>;
134
+ /**
135
+ * A rule may START with a finished table: an interior atom is a positive
136
+ * occurrence exactly as the engine represents it, so its variables ground
137
+ * — the identity projection `(c) | reach(c);` is spellable with no
138
+ * re-grounding join over a domain relation.
139
+ */
140
+ interior<const B extends Readonly<Record<string, AnyVar>>>(name: string, bindings: B & CheckInteriorBindings<B>): QueryRuleChain<Rels, Record<never, never>, Classes>;
155
141
  }
156
142
  /** The chain of a plain query rule: more atoms, residual predicates, then the head. */
157
143
  interface QueryRuleChain<Rels extends SchemaRelations, P extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
@@ -159,63 +145,64 @@ interface QueryRuleChain<Rels extends SchemaRelations, P extends ParamsRecord, C
159
145
  match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): QueryRuleChain<Rels, Flatten<P & BindParamsShape<MatchFields<R>, B>>, Classes>;
160
146
  /** One residual predicate: a comparison, an `and`/`or` tree, or a negated atom (`r.not`). */
161
147
  where<const C extends AnyCond>(cond: CheckCond<Classes, C> & C): QueryRuleChain<Rels, Flatten<P & CondParamsShape<C>>, Classes>;
148
+ /** One interior atom over a finished table (an earlier interior, or the rec). */
149
+ interior<const B extends Readonly<Record<string, AnyVar>>>(name: string, bindings: B & CheckInteriorBindings<B>): QueryRuleChain<Rels, P, Classes>;
162
150
  /** The head projection: a `find` RECORD whose keys name the answer columns. */
163
151
  find<const F extends FindShape>(entries: F & CheckFind<F>): RuleValue<RowOfFind<F>, P>;
164
152
  }
165
- /** The rule builder an OUTPUT rule of a `program()` receives: a query rule plus finished-stratum `idb` atoms. */
166
- interface OutputRuleScope<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> extends TermOps {
167
- match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): OutputRuleChain<Rels, BindParamsShape<MatchFields<R>, B>, Classes>;
168
- /**
169
- * A rule may START with the finished stratum: an idb atom is a positive
170
- * occurrence exactly as the engine represents it, so its variables ground
171
- * — the identity projection `(c) | reach(c);` is spellable with no
172
- * re-grounding join over a domain relation.
173
- */
174
- idb<Target extends RecRef<string, ParamsRecord>, const B extends Readonly<Record<string, AnyVar>>>(target: Target, bindings: B & CheckIdbBindings<Classes, HeadOf<Target>, B>): OutputRuleChain<Rels, ParamsOf<Target>, Classes>;
153
+ /** The rule builder an `interior("mid", ...)` callback receives. */
154
+ interface InteriorRuleScope<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> extends TermOps {
155
+ match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): InteriorRuleChain<Rels, BindParamsShape<MatchFields<R>, B>, Classes>;
156
+ interior<const B extends Readonly<Record<string, AnyVar>>>(name: string, bindings: B & CheckInteriorBindings<B>): InteriorRuleChain<Rels, Record<never, never>, Classes>;
175
157
  }
176
- /** The chain of an output rule: atoms, predicates, `idb` joins over the program's recs, then the head. */
177
- interface OutputRuleChain<Rels extends SchemaRelations, P extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
178
- match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): OutputRuleChain<Rels, Flatten<P & BindParamsShape<MatchFields<R>, B>>, Classes>;
179
- where<const C extends AnyCond>(cond: CheckCond<Classes, C> & C): OutputRuleChain<Rels, Flatten<P & CondParamsShape<C>>, Classes>;
180
- /**
181
- * One `idb` atom over a FINISHED stratum (any rec of this program): a
182
- * NAMED join against the rec's head — the bindings record's keys are the
183
- * head columns, each bound to a variable positively bound by a relation
184
- * atom of the rule. Threading the rec value the last `.rule(...)` returned
185
- * carries its params into `Params` AND its head signature, so the join is
186
- * key-exact and class-checked against the head at compile time.
187
- */
188
- idb<Target extends RecRef<string, ParamsRecord>, const B extends Readonly<Record<string, AnyVar>>>(target: Target, bindings: B & CheckIdbBindings<Classes, HeadOf<Target>, B>): OutputRuleChain<Rels, Flatten<P & ParamsOf<Target>>, Classes>;
189
- find<const F extends FindShape>(entries: F & CheckFind<F>): RuleValue<RowOfFind<F>, P>;
158
+ /** The chain of an interior rule: bound-variable heads only. */
159
+ interface InteriorRuleChain<Rels extends SchemaRelations, P extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
160
+ match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): InteriorRuleChain<Rels, Flatten<P & BindParamsShape<MatchFields<R>, B>>, Classes>;
161
+ where<const C extends AnyCond>(cond: CheckCond<Classes, C> & C): InteriorRuleChain<Rels, Flatten<P & CondParamsShape<C>>, Classes>;
162
+ interior<const B extends Readonly<Record<string, AnyVar>>>(name: string, bindings: B & CheckInteriorBindings<B>): InteriorRuleChain<Rels, P, Classes>;
163
+ find<const F extends FindShape>(entries: F & CheckRecFind<F>): RuleValue<RowOfFind<F>, P, HeadRecordOf<Classes, F>>;
190
164
  }
191
- /** The rule builder a RECURSIVE rule (`rec.rule(...)`) receives. */
192
- interface RecRuleScope<Rels extends SchemaRelations, Self extends string, Classes extends SchemaClasses = SchemaClasses> extends TermOps {
193
- match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): RecRuleChain<Rels, Self, BindParamsShape<MatchFields<R>, B>, Classes>;
165
+ /** The rule builder a `.reach("reach", { base, rec })` arm receives. */
166
+ interface RecRuleScope<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> extends TermOps {
167
+ match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): RecRuleChain<Rels, BindParamsShape<MatchFields<R>, B>, Classes>;
168
+ interior<const B extends Readonly<Record<string, AnyVar>>>(name: string, bindings: B & CheckInteriorBindings<B>): RecRuleChain<Rels, Record<never, never>, Classes>;
194
169
  }
195
170
  /**
196
- * The chain of a recursive rule. Its `idb` accepts ONLY the rec itself (the
197
- * self-recursion cut) and its `find` takes bound variables only — aggregates
198
- * and the measure are unrepresentable in a recursive head.
171
+ * The chain of a rec arm. `.interior("reach", …)` is the self-atom
172
+ * on rec arms (and a prior interior on either list). `find` takes bound
173
+ * variables only — aggregates and the measure are unrepresentable in a
174
+ * rec head.
199
175
  */
200
- interface RecRuleChain<Rels extends SchemaRelations, Self extends string, P extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
201
- match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): RecRuleChain<Rels, Self, Flatten<P & BindParamsShape<MatchFields<R>, B>>, Classes>;
202
- where<const C extends AnyCond>(cond: CheckCond<Classes, C> & C): RecRuleChain<Rels, Self, Flatten<P & CondParamsShape<C>>, Classes>;
203
- /** The self-recursive atom: `idb(self, { headKey: boundVar })` — only this rec's own reference is accepted. */
204
- idb<Target extends RecRef<Self, ParamsRecord>, const B extends Readonly<Record<string, AnyVar>>>(target: Target, bindings: B & CheckIdbBindings<Classes, HeadOf<Target>, B>): RecRuleChain<Rels, Self, P, Classes>;
205
- /** The recursive head: a `find` record of bound variables only; the value carries the head's classed slots for `idb` pairing. */
176
+ interface RecRuleChain<Rels extends SchemaRelations, P extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
177
+ match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Classes, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): RecRuleChain<Rels, Flatten<P & BindParamsShape<MatchFields<R>, B>>, Classes>;
178
+ where<const C extends AnyCond>(cond: CheckCond<Classes, C> & C): RecRuleChain<Rels, Flatten<P & CondParamsShape<C>>, Classes>;
179
+ interior<const B extends Readonly<Record<string, AnyVar>>>(name: string, bindings: B & CheckInteriorBindings<B>): RecRuleChain<Rels, P, Classes>;
206
180
  find<const F extends FindShape>(entries: F & CheckRecFind<F>): RuleValue<RowOfFind<F>, P, HeadRecordOf<Classes, F>>;
207
181
  }
208
182
  /** A query's runtime description — everything lowering, the wire marshal, and answer decode read. */
209
- interface QueryData {
210
- /** The program's recursive predicates in declaration order (empty for a plain query); `PredId` = index. */
211
- readonly recs: readonly RecData[];
212
- /** The output rules in written order (multiple rules = set union). */
183
+ type QueryData = {
184
+ readonly kind: "cq";
185
+ /** Named interiors in declaration order (DAG). */
186
+ readonly interiors: readonly InteriorData[];
187
+ /** The main rules in written order (multiple rules = set union). */
213
188
  readonly rules: readonly RuleData[];
214
189
  /** The head columns (every rule derives the same head; written order = answer column order). */
215
190
  readonly finds: readonly FindColumn[];
216
- /** The registered params in first-use order across the program walk (= dense `ParamId`s). */
191
+ /** The registered params in first-use order across the query walk (= dense `ParamId`s). */
217
192
  readonly params: readonly ParamEntry[];
218
- }
193
+ } | {
194
+ readonly kind: "reach";
195
+ /** Named interiors in declaration order (DAG). */
196
+ readonly interiors: readonly InteriorData[];
197
+ /** The linear rec (base and rec arms nonempty by type). */
198
+ readonly rec: RecData;
199
+ /** The main rules in written order (multiple rules = set union). */
200
+ readonly rules: readonly RuleData[];
201
+ /** The head columns (every rule derives the same head; written order = answer column order). */
202
+ readonly finds: readonly FindColumn[];
203
+ /** The registered params in first-use order across the query walk (= dense `ParamId`s). */
204
+ readonly params: readonly ParamEntry[];
205
+ };
219
206
  /**
220
207
  * An inert query value. `Row` is the inferred answer-row object type;
221
208
  * `Params` the inferred execute-params object type — exactly the params the
@@ -226,6 +213,10 @@ interface Query<Rels extends SchemaRelations, Row, Params extends ParamsRecord,
226
213
  readonly data: QueryData;
227
214
  /** One more rule — the query's answers are the SET UNION of its rules' answers; every rule derives the same head. */
228
215
  rule<RV extends AnyRuleValue>(build: (r: QueryRuleScope<Rels, Classes>) => RV): Query<Rels, Row | RowOf<RV>, Flatten<Params & ParamsOf<RV>>, Classes>;
216
+ /** Construction error: interiors precede main rules. Uncallable after `.rule()`. */
217
+ interior(name: string, ...builds: never[]): never;
218
+ /** Construction error: reach precedes main rules. Uncallable after `.rule()`. */
219
+ reach(name: string, arms: never): never;
229
220
  readonly [inferred]?: {
230
221
  readonly row: Row;
231
222
  readonly params: Params;
@@ -240,10 +231,23 @@ interface AnyQuery {
240
231
  type QueryRow<Q extends AnyQuery> = RowOf<Q>;
241
232
  /** Extracts a query value's inferred execute-params type. */
242
233
  type QueryParams<Q extends AnyQuery> = ParamsOf<Q>;
243
- /** The entry value of `query(S)`: the first `.rule` mints the query. */
244
- interface QueryStart<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> {
245
- rule<RV extends AnyRuleValue>(build: (r: QueryRuleScope<Rels, Classes>) => RV): Query<Rels, RowOf<RV>, ParamsOf<RV>, Classes>;
246
- }
234
+ /**
235
+ * The entry value of `query(S)`: interiors, then reach (moves to
236
+ * {@link QueryReachStart}), then the first `.rule` mints the query.
237
+ * `interior` / `reach` exist only on this CQ start.
238
+ */
239
+ type QueryStart<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses, P extends ParamsRecord = Record<never, never>> = {
240
+ rule<RV extends AnyRuleValue>(build: (r: QueryRuleScope<Rels, Classes>) => RV): Query<Rels, RowOf<RV>, Flatten<P & ParamsOf<RV>>, Classes>;
241
+ interior<const Builds extends readonly InteriorBuild<Rels, Classes>[]>(name: string, ...builds: Builds): QueryStart<Rels, Classes, Flatten<P & BuildsParams<Builds>>>;
242
+ reach<const Base extends readonly RecBuild<Rels, Classes>[], const Step extends readonly RecBuild<Rels, Classes>[]>(name: string, arms: {
243
+ readonly base: Base;
244
+ readonly rec: Step;
245
+ }): QueryReachStart<Rels, Classes, Flatten<P & BuildsParams<Base> & BuildsParams<Step>>>;
246
+ };
247
+ /** After `.reach()`: interior/reach are unrepresentable; only `.rule` remains. */
248
+ type QueryReachStart<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses, P extends ParamsRecord = Record<never, never>> = {
249
+ rule<RV extends AnyRuleValue>(build: (r: QueryRuleScope<Rels, Classes>) => RV): Query<Rels, RowOf<RV>, Flatten<P & ParamsOf<RV>>, Classes>;
250
+ };
247
251
  /**
248
252
  * The one runtime chain every context shares — non-generic on purpose. The
249
253
  * typed chain interfaces apply at the scope factories' boundaries.
@@ -251,45 +255,45 @@ interface QueryStart<Rels extends SchemaRelations, Classes extends SchemaClasses
251
255
  interface RawChain {
252
256
  match(relation: MatchOwner, bindings: Readonly<Record<string, unknown>>): RawChain;
253
257
  where(cond: AnyCond): RawChain;
254
- idb(target: RecRef<string, ParamsRecord>, bindings: Readonly<Record<string, unknown>>): RawChain;
258
+ interior(name: string, bindings: Readonly<Record<string, unknown>>): RawChain;
255
259
  find(entries: Readonly<Record<string, unknown>>): RuleValue<never, never>;
256
260
  }
257
261
  /** The runtime rule-builder shape beneath every typed scope. */
258
262
  interface RawScope extends TermOps {
259
263
  match(relation: MatchOwner, bindings: Readonly<Record<string, unknown>>): RawChain;
260
- idb(target: RecRef<string, ParamsRecord>, bindings: Readonly<Record<string, unknown>>): RawChain;
264
+ interior(name: string, bindings: Readonly<Record<string, unknown>>): RawChain;
261
265
  }
266
+ /** The declared derived tables a chain may name. */
267
+ type DerivedEnv = {
268
+ readonly interiors: readonly InteriorData[];
269
+ } | {
270
+ readonly interiors: readonly InteriorData[];
271
+ readonly rec: RecHandle | RecHead | RecData;
272
+ };
262
273
  /** Which rule family a chain builds — plus the schema's runtime class map and theory value (the join judge's authority). */
263
274
  type ChainContext = {
264
275
  readonly classes: SchemaClasses;
265
276
  readonly theory: AnySchema;
266
- } & ({
277
+ } & DerivedEnv & ({
267
278
  readonly kind: "query";
268
279
  } | {
269
- readonly kind: "rec";
270
- readonly self: RecData;
280
+ readonly kind: "interior";
281
+ readonly self: string;
271
282
  } | {
272
- readonly kind: "output";
273
- readonly program: ProgramState;
283
+ readonly kind: "rec-base";
284
+ readonly self: RecHandle;
285
+ } | {
286
+ readonly kind: "rec-arm";
287
+ readonly self: RecHead;
274
288
  });
275
289
  /** Builds one runtime rule-builder over a context. */
276
290
  declare function makeRawScope(context: ChainContext): RawScope;
277
- /** Builds one output-rule builder over a program's recs. */
278
- declare function makeOutputRuleScope<Rels extends SchemaRelations, Classes extends SchemaClasses>(program: ProgramState): OutputRuleScope<Rels, Classes>;
279
- /** One program's build-time registry: its recs in declaration order, the theory value, and its class map. */
280
- interface ProgramState {
281
- readonly recs: RecData[];
282
- readonly classes: SchemaClasses;
283
- readonly theory: AnySchema;
284
- sealed: boolean;
285
- }
286
- /** Assembles one typed query value (rules already completed). */
287
- declare function makeQuery<Rels extends SchemaRelations, Row, P extends ParamsRecord, Classes extends SchemaClasses>(theory: Schema<Rels, Classes>, recs: readonly RecData[], rules: readonly RuleData[]): Query<Rels, Row, P, Classes>;
288
291
  /**
289
- * Opens a query over a schema: `query(S).rule(r => ...)`. Each `.rule` adds
290
- * one conjunctive rule; multiple rules are the set union. The schema's
291
- * law-computed class map and theory value ride into every rule builder — the
292
- * join walls compare against the mint slots off it.
292
+ * Opens a query over a schema: `query(S).rule(r => ...)`, optionally with
293
+ * `interior` / `reach` first. Each `.rule` adds one conjunctive rule;
294
+ * multiple rules are the set union. The schema's law-computed class map and
295
+ * theory value ride into every rule builder — the join walls compare
296
+ * against the mint slots off it.
293
297
  */
294
298
  declare function query<Rels extends SchemaRelations, Classes extends SchemaClasses>(theory: Schema<Rels, Classes>): QueryStart<Rels, Classes>;
295
299
  /**
@@ -308,11 +312,11 @@ declare function taggedLiteral(context: string, field: AnyField, value: unknown)
308
312
  */
309
313
  declare function taggedCmpLiteral(context: string, sibling: AnyField | "measure", value: unknown, op: CmpKind | "binding"): TaggedValue;
310
314
  /**
311
- * Lowers a query value to the bridge's `ProgramIr` — pure and stable: the
312
- * recs in declaration order (`PredId` = index), the output predicate
313
- * appended last. Every registered param must carry a field anchor by now.
315
+ * Lowers a query value to the bridge's `QueryIr` — pure and stable:
316
+ * interiors in declaration order, then CQ or Reach, then main. Every
317
+ * registered param must carry a field anchor by now.
314
318
  */
315
- declare function lowerQuery(q: AnyQuery): ProgramIr;
316
- export type { AnyQuery, AnyRuleValue, HeadOf, HeadShape, OutputRuleChain, OutputRuleScope, ParamsOf, ProgramState, Query, QueryData, QueryParams, QueryRelation, QueryRow, QueryRuleChain, QueryRuleScope, QueryStart, RawChain, RawScope, RecRef, RecRuleChain, RecRuleScope, RowOf, RuleValue, TermOps };
317
- export { lowerQuery, makeOutputRuleScope, makeQuery, makeRawScope, query, taggedCmpLiteral, taggedLiteral };
319
+ declare function lowerQuery(q: AnyQuery): ParsedQuery;
320
+ export type { AnyQuery, AnyRuleValue, HeadOf, HeadShape, InteriorRuleChain, InteriorRuleScope, ParamsOf, Query, QueryData, QueryParams, QueryReachStart, QueryRelation, QueryRow, QueryRuleChain, QueryRuleScope, QueryStart, RawChain, RawScope, RecRuleChain, RecRuleScope, RowOf, RuleValue, TermOps };
321
+ export { lowerQuery, makeRawScope, query, taggedCmpLiteral, taggedLiteral };
318
322
  //# sourceMappingURL=lower.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lower.d.ts","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lower.d.ts","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}