@bjornpagen/bumbledb 0.4.0 → 0.6.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 (103) hide show
  1. package/COOKBOOK.md +191 -92
  2. package/README.md +9 -7
  3. package/dist/closed.d.ts +30 -2
  4. package/dist/closed.d.ts.map +1 -1
  5. package/dist/closed.js +66 -20
  6. package/dist/closed.js.map +1 -1
  7. package/dist/db.d.ts +33 -6
  8. package/dist/db.d.ts.map +1 -1
  9. package/dist/db.js +89 -72
  10. package/dist/db.js.map +1 -1
  11. package/dist/exhume.d.ts.map +1 -1
  12. package/dist/exhume.js +1 -14
  13. package/dist/exhume.js.map +1 -1
  14. package/dist/face.d.ts +1 -1
  15. package/dist/face.d.ts.map +1 -1
  16. package/dist/face.js +2 -1
  17. package/dist/face.js.map +1 -1
  18. package/dist/fields.d.ts +18 -1
  19. package/dist/fields.d.ts.map +1 -1
  20. package/dist/fields.js +44 -16
  21. package/dist/fields.js.map +1 -1
  22. package/dist/index.d.ts +18 -10
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +13 -6
  25. package/dist/index.js.map +1 -1
  26. package/dist/law.d.ts +2 -1
  27. package/dist/law.d.ts.map +1 -1
  28. package/dist/law.js +15 -14
  29. package/dist/law.js.map +1 -1
  30. package/dist/lower.d.ts.map +1 -1
  31. package/dist/lower.js +1 -7
  32. package/dist/lower.js.map +1 -1
  33. package/dist/marshal.d.ts.map +1 -1
  34. package/dist/marshal.js +15 -27
  35. package/dist/marshal.js.map +1 -1
  36. package/dist/native.d.ts +21 -2
  37. package/dist/native.d.ts.map +1 -1
  38. package/dist/native.js +20 -3
  39. package/dist/native.js.map +1 -1
  40. package/dist/order.d.ts +36 -0
  41. package/dist/order.d.ts.map +1 -0
  42. package/dist/order.js +135 -0
  43. package/dist/order.js.map +1 -0
  44. package/dist/query/atom.d.ts +140 -206
  45. package/dist/query/atom.d.ts.map +1 -1
  46. package/dist/query/atom.js +33 -52
  47. package/dist/query/atom.js.map +1 -1
  48. package/dist/query/find.d.ts +116 -0
  49. package/dist/query/find.d.ts.map +1 -0
  50. package/dist/query/{select.js → find.js} +22 -22
  51. package/dist/query/find.js.map +1 -0
  52. package/dist/query/lower.d.ts +124 -162
  53. package/dist/query/lower.d.ts.map +1 -1
  54. package/dist/query/lower.js +462 -507
  55. package/dist/query/lower.js.map +1 -1
  56. package/dist/query/predicate.d.ts +22 -14
  57. package/dist/query/predicate.d.ts.map +1 -1
  58. package/dist/query/predicate.js +45 -20
  59. package/dist/query/predicate.js.map +1 -1
  60. package/dist/query/run.d.ts +3 -3
  61. package/dist/query/run.d.ts.map +1 -1
  62. package/dist/query/run.js +10 -11
  63. package/dist/query/run.js.map +1 -1
  64. package/dist/query/scope.d.ts +124 -83
  65. package/dist/query/scope.d.ts.map +1 -1
  66. package/dist/query/scope.js +77 -70
  67. package/dist/query/scope.js.map +1 -1
  68. package/dist/relation.d.ts +9 -22
  69. package/dist/relation.d.ts.map +1 -1
  70. package/dist/relation.js +9 -28
  71. package/dist/relation.js.map +1 -1
  72. package/dist/schema.d.ts.map +1 -1
  73. package/dist/schema.js +7 -31
  74. package/dist/schema.js.map +1 -1
  75. package/dist/statements.d.ts +5 -2
  76. package/dist/statements.d.ts.map +1 -1
  77. package/dist/statements.js +30 -35
  78. package/dist/statements.js.map +1 -1
  79. package/package.json +2 -5
  80. package/src/closed.ts +73 -28
  81. package/src/db.ts +126 -88
  82. package/src/exhume.ts +1 -15
  83. package/src/face.ts +4 -3
  84. package/src/fields.ts +58 -16
  85. package/src/index.ts +19 -13
  86. package/src/law.ts +15 -14
  87. package/src/lower.ts +2 -9
  88. package/src/marshal.ts +15 -31
  89. package/src/native.ts +22 -4
  90. package/src/order.ts +156 -0
  91. package/src/query/atom.ts +186 -276
  92. package/src/query/find.ts +212 -0
  93. package/src/query/lower.ts +614 -749
  94. package/src/query/predicate.ts +47 -20
  95. package/src/query/run.ts +11 -13
  96. package/src/query/scope.ts +165 -132
  97. package/src/relation.ts +9 -51
  98. package/src/schema.ts +7 -33
  99. package/src/statements.ts +33 -38
  100. package/dist/query/select.d.ts +0 -128
  101. package/dist/query/select.d.ts.map +0 -1
  102. package/dist/query/select.js.map +0 -1
  103. package/src/query/select.ts +0 -215
@@ -1,50 +1,54 @@
1
1
  /**
2
- * `query()` and the IR lowering, STRUCTURAL edition. A query is built
3
- * kysely-shaped — `query(S).rule(r => r.match(Rel, { f: r.var("x") })
4
- * .where(r.eq(r.var("x"), r.param("p"))).select("x"))` and is an INERT
5
- * value: `Query<Rels, Row, Params>` with `Row` inferred from each rule's
6
- * `.select` and `Params` inferred to be EXACTLY the params the rules use
7
- * (params are typed BY USE; a param value no rule uses never registers, so
8
- * every query executes under its own inferred type). Vars are string
9
- * names, domain-typed by the field they first bind and joined by reuse —
10
- * the rule builder's environment carries name → field descriptor through
11
- * the chain, checked structurally at every reuse (`JoinOk`), so the old
12
- * brand-equal join is now the domain-equal compile error. Lowering is a
13
- * pure function of the query value down to the bridge's `ProgramIr`
14
- * (`bumbledb/crates/bumbledb/src/ir.rs`, the bijection target): relations
15
- * by declaration ordinal (the declaration-order-is-ids law the engine's
16
- * manifest pins), variables by dense per-rule first-occurrence ids
17
- * (rule-scoped, exactly as the IR scopes them), params by first-use order
18
- * across the program walk. Lowering is STABLE the same query value
19
- * lowers to deeply-equal IR every time, and two identically-written
20
- * queries lower identically. Construction validates negation safety and
21
- * name-boundness (typed, naming the variable earlier and warmer than
22
- * the engine's refusal); everything else (strata, types, aggregate
23
- * rosters, rule caps) is the ENGINE's judge, surfacing its typed errors
24
- * at prepare. No invented limits: rule and predicate counts are never
25
- * pre-checked here.
2
+ * `query()` and the IR lowering, REFERENCE-IDENTITY edition. A query is
3
+ * built kysely-shaped — variables minted by {@link v} outside the rule and
4
+ * reused by REFERENCE to join:
5
+ *
6
+ * query(S).rule((r) => {
7
+ * const acct = v(Account)
8
+ * const h = v(Holder)
9
+ * return r
10
+ * .match(Account, { id: acct.id, holder: acct.holder })
11
+ * .match(Holder, { id: acct.holder })
12
+ * .where(r.eq(acct.holder, r.param("root")))
13
+ * .find({ account: acct.id, holder: acct.holder })
14
+ * })
15
+ *
16
+ * and is an INERT value: `Query<Rels, Row, Params>` with `Row` inferred
17
+ * from each rule's `.find` RECORD (its keys ARE the answer columns) and
18
+ * `Params` inferred to be EXACTLY the params the rules use (params are typed
19
+ * BY USE; a param no rule uses never registers). Variable IDENTITY is the
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
26
+ * declaration ordinal, variables by dense per-rule first-occurrence ids
27
+ * (keyed on the object REFERENCE — the discipline is unchanged, only the map
28
+ * key moved from name to reference), params by first-use order. Lowering is
29
+ * STABLE — the same query value lowers to deeply-equal IR every time, and
30
+ * two identically-written queries (fresh mints each) lower identically.
31
+ * Construction validates negation safety and boundness (typed by the var's
32
+ * label — object identity is invisible to the type tier, so these are
33
+ * construction-time walls); everything else (strata, types, aggregate
34
+ * rosters, rule caps) is the ENGINE's judge, surfacing at prepare.
26
35
  */
27
36
  import type { AnyField } from "#fields.ts";
28
37
  import type { ClassRecordOf, SchemaClasses } from "#law.ts";
29
38
  import type { ProgramIr, TaggedValue } from "#native.ts";
30
- import type { AnyCond, BindEnv, BindParamsShape, CheckBindings, CheckCond, CmpKind, CondParamsShape, MatchFields, MatchOwner, MatchShape, RecData, RuleData, SelectColumn } from "#query/atom.ts";
31
- import { allen, and, covers, eq, ge, gt, le, lt, ne, not, or, pointIn } from "#query/atom.ts";
32
- import type { ClassedField, EnvShape, Flatten, InferredOf, JoinOk, ParamEntry, ParamsRecord, Var } from "#query/scope.ts";
33
- import { inferred, makeDuration, makeMaskParam, makeParam, makeSetParam, makeVar, makeVars } from "#query/scope.ts";
34
- import type { CheckNameSelect, CheckSelect, RowOfNameSelect, RowOfSelect, SelectEntry } from "#query/select.ts";
35
- import { argMax, argMin, count, countDistinct, max, min, pack, sum } from "#query/select.ts";
36
- import type { FieldsShape } from "#relation.ts";
39
+ import type { AnyCond, BindParamsShape, CheckBindings, CheckCond, CmpKind, CondParamsShape, FindColumn, MatchFields, MatchOwner, MatchShape, RecData, RuleData } from "#query/atom.ts";
40
+ import { allen, and, eq, ge, gt, le, lt, ne, not, or, pointIn } from "#query/atom.ts";
41
+ 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";
37
45
  import type { AnySchema, Schema, SchemaRelations } from "#schema.ts";
38
46
  /**
39
47
  * The matchable members of a schema's record — ordinary relations AND
40
- * closed vocabularies (ψ query atoms: a closed atom is an ordinary EDB
41
- * atom over the sealed extension; the ENGINE decides whether it folds to a
42
- * plan-constant member set or joins the L1-resident virtual image — the
43
- * SDK lowers pass-through and never knows which).
48
+ * closed vocabularies (ψ query atoms; the ENGINE decides folding vs virtual
49
+ * image, the SDK lowers pass-through).
44
50
  */
45
51
  type QueryRelation<Rels extends SchemaRelations> = Extract<Rels[keyof Rels], MatchOwner>;
46
- /** The environment after one bindings record: the incoming env plus every var the record binds (as classed slots). */
47
- type EnvOfMatch<Env extends EnvShape, F extends FieldsShape, CR, B> = Flatten<Env & BindEnv<F, CR, B>> extends infer E extends EnvShape ? E : never;
48
52
  /** Reads an inferred-params carrier off a rec reference or rule value. */
49
53
  type ParamsOf<T> = InferredOf<T> extends {
50
54
  readonly params: infer P extends ParamsRecord;
@@ -54,18 +58,15 @@ type RowOf<T> = InferredOf<T> extends {
54
58
  readonly row: infer R;
55
59
  } ? R : never;
56
60
  /**
57
- * A recursive predicate's HEAD signature as classed slots (descriptor +
58
- * law-computed class), position for position — carried on the rec
59
- * reference so an `idb` join can be judged against it; `undefined` on
60
- * values that carry no head (a plain query rule, or an unthreaded rec
61
- * handle before its first rule).
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.
62
64
  */
63
- type HeadShape = readonly ClassedField[] | undefined;
65
+ type HeadShape = Readonly<Record<string, ClassedField>> | undefined;
64
66
  /**
65
67
  * One finished rule as a plain value: the runtime data plus the inferred
66
- * row/params carrier (and, for a RECURSIVE rule, the head's positional
67
- * field descriptors — the signature `idb` joins pair against).
68
- * `.rule(...)` consumes it; hosts never build one by hand.
68
+ * row/params carrier (and, for a RECURSIVE rule, the head record of classed
69
+ * slots `idb` pairs against). `.rule(...)` consumes it.
69
70
  */
70
71
  interface RuleValue<Row, P extends ParamsRecord, Head extends HeadShape = undefined> {
71
72
  readonly rule: RuleData;
@@ -77,22 +78,14 @@ interface RuleValue<Row, P extends ParamsRecord, Head extends HeadShape = undefi
77
78
  }
78
79
  /** Any finished rule value. */
79
80
  type AnyRuleValue = RuleValue<unknown, ParamsRecord, HeadShape>;
80
- /** The positional head-field tuple of a recursive rule's names-only select. */
81
- type HeadFieldsOf<Env extends EnvShape, S extends readonly string[]> = {
82
- readonly [I in keyof S]: Env[S[I] & keyof Env];
83
- };
84
81
  /** Reads an inferred-head carrier off a rule value or rec reference. */
85
82
  type HeadOf<T> = InferredOf<T> extends {
86
- readonly head: infer H extends readonly ClassedField[];
83
+ readonly head: infer H extends Readonly<Record<string, ClassedField>>;
87
84
  } ? H : undefined;
88
85
  /**
89
86
  * A recursive predicate REFERENCE — the shape `idb()` targets carry: the
90
- * name (type-level identity: a recursive rule's own `idb` accepts only its
91
- * own name the self-recursion cut), the runtime data (value identity),
92
- * the params its attached rules have used so far, and the head signature
93
- * its FIRST rule sealed (thread the value `.rule(...)` returns into an
94
- * `idb` and the program's `Params` type stays exact AND the idb join is
95
- * arity- and domain-checked against the head).
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.
96
89
  */
97
90
  interface RecRef<Name extends string, P extends ParamsRecord, Head extends HeadShape = HeadShape> {
98
91
  readonly name: Name;
@@ -102,35 +95,31 @@ interface RecRef<Name extends string, P extends ParamsRecord, Head extends HeadS
102
95
  readonly head: Head;
103
96
  };
104
97
  }
105
- /** One `idb` position's judgment: the var must be bound by a relation atom, class-equal to the head slot when the head is carried. */
106
- type IdbVarOk<Env extends EnvShape, T, F> = T extends Var<infer N extends string> ? N extends keyof Env ? F extends ClassedField ? JoinOk<Env[N], F> : true : false : false;
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;
107
100
  /**
108
- * The validated `idb` variable tuple: every var must already be bound by a
109
- * relation atom of the rule; and when the target carries its head
110
- * signature (the threaded rec handle), the tuple must match the head's
111
- * arity and every position must be class-equal to its head slot — the
112
- * same wall `JoinOk` holds for EDB atoms. An unthreaded handle carries no
113
- * head; its joins stay boundness-checked here and arity/class-judged at
114
- * prepare (the engine's law stands behind both tiers).
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.
115
107
  */
116
- type CheckIdbVars<Env extends EnvShape, V, Head extends HeadShape = undefined> = Head extends readonly ClassedField[] ? V extends readonly unknown[] ? V["length"] extends Head["length"] ? {
117
- readonly [I in keyof V]: IdbVarOk<Env, V[I], Head[I & keyof Head]> extends true ? V[I] : never;
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;
118
114
  } : {
119
- readonly [I in keyof V]: never;
120
- } : never : {
121
- readonly [I in keyof V]: IdbVarOk<Env, V[I], undefined> extends true ? V[I] : never;
115
+ readonly [K in keyof B]: B[K] extends AnyVar ? B[K] : never;
122
116
  };
123
117
  /**
124
118
  * The term/predicate/aggregate constructor vocabulary every rule builder
125
- * carries — pure value builders, environment-free: the chain's `.where`,
126
- * `.match`, and `.select` seams judge their output against the rule
127
- * environment.
119
+ * carries — pure value builders. Variables are minted by the free {@link v},
120
+ * outside the rule, and reused by reference; `r` no longer mints them.
128
121
  */
129
122
  interface TermOps {
130
- /** Declares/names one variable: typed by the field it first binds; reuse joins. */
131
- readonly var: typeof makeVar;
132
- /** Mints several variables at once — `const { service, w } = r.vars("service", "w")`: each name typed exactly; duplicates refuse. */
133
- readonly vars: typeof makeVars;
134
123
  /** Names one scalar parameter: typed by its use; the key of the execute params object. */
135
124
  readonly param: typeof makeParam;
136
125
  /** Names one ∈-set parameter (the IR's `ParamSet`): bound to a readonly array at execution. */
@@ -146,7 +135,6 @@ interface TermOps {
146
135
  readonly gt: typeof gt;
147
136
  readonly ge: typeof ge;
148
137
  readonly pointIn: typeof pointIn;
149
- readonly covers: typeof covers;
150
138
  readonly allen: typeof allen;
151
139
  readonly and: typeof and;
152
140
  readonly or: typeof or;
@@ -160,60 +148,55 @@ interface TermOps {
160
148
  readonly argMin: typeof argMin;
161
149
  readonly pack: typeof pack;
162
150
  }
163
- /** The rule builder a `query(S).rule(...)` callback receives: the ops plus the first atom (`Classes` — the schema type's class map, the join judge's authority). */
151
+ /** The rule builder a `query(S).rule(...)` callback receives (`Classes` — the join judge's authority). */
164
152
  interface QueryRuleScope<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> extends TermOps {
165
- /** The first EDB atom of the rule: fields bind vars, params, ∈-sets, or bare literals; absence is the wildcard (same-named vars within the record join class-equal). */
166
- match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Record<never, never>, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): QueryRuleChain<Rels, EnvOfMatch<Record<never, never>, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>, BindParamsShape<MatchFields<R>, B>, Classes>;
153
+ /** The first EDB atom of the rule: fields bind variables, params, ∈-sets, or bare literals; absence is the wildcard. */
154
+ 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>;
167
155
  }
168
156
  /** The chain of a plain query rule: more atoms, residual predicates, then the head. */
169
- interface QueryRuleChain<Rels extends SchemaRelations, Env extends EnvShape, P extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
170
- /** One more positive EDB atom — var reuse joins, class-equal by the environment check. */
171
- match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Env, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): QueryRuleChain<Rels, EnvOfMatch<Env, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>, Flatten<P & BindParamsShape<MatchFields<R>, B>>, Classes>;
157
+ interface QueryRuleChain<Rels extends SchemaRelations, P extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
158
+ /** One more positive EDB atom — variable reuse joins, class-equal by the mint-slot judgment. */
159
+ 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>;
172
160
  /** One residual predicate: a comparison, an `and`/`or` tree, or a negated atom (`r.not`). */
173
- where<const C extends AnyCond>(cond: CheckCond<Env, Classes, C> & C): QueryRuleChain<Rels, Env, Flatten<P & CondParamsShape<Env, C>>, Classes>;
174
- /** The head projection: var names, the measure, and aggregates; written order = answer column order. */
175
- select<const S extends readonly SelectEntry[]>(...entries: CheckSelect<Env, S> & S): RuleValue<RowOfSelect<Env, S>, P>;
161
+ where<const C extends AnyCond>(cond: CheckCond<Classes, C> & C): QueryRuleChain<Rels, Flatten<P & CondParamsShape<C>>, Classes>;
162
+ /** The head projection: a `find` RECORD whose keys name the answer columns. */
163
+ find<const F extends FindShape>(entries: F & CheckFind<F>): RuleValue<RowOfFind<F>, P>;
176
164
  }
177
165
  /** The rule builder an OUTPUT rule of a `program()` receives: a query rule plus finished-stratum `idb` atoms. */
178
166
  interface OutputRuleScope<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> extends TermOps {
179
- match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Record<never, never>, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): OutputRuleChain<Rels, EnvOfMatch<Record<never, never>, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>, BindParamsShape<MatchFields<R>, B>, Classes>;
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>;
180
168
  }
181
169
  /** The chain of an output rule: atoms, predicates, `idb` joins over the program's recs, then the head. */
182
- interface OutputRuleChain<Rels extends SchemaRelations, Env extends EnvShape, P extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
183
- match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Env, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): OutputRuleChain<Rels, EnvOfMatch<Env, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>, Flatten<P & BindParamsShape<MatchFields<R>, B>>, Classes>;
184
- where<const C extends AnyCond>(cond: CheckCond<Env, Classes, C> & C): OutputRuleChain<Rels, Env, Flatten<P & CondParamsShape<Env, C>>, Classes>;
170
+ interface OutputRuleChain<Rels extends SchemaRelations, P extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
171
+ 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>;
172
+ where<const C extends AnyCond>(cond: CheckCond<Classes, C> & C): OutputRuleChain<Rels, Flatten<P & CondParamsShape<C>>, Classes>;
185
173
  /**
186
174
  * One `idb` atom over a FINISHED stratum (any rec of this program): a
187
- * positional join against the rec's head. An idb atom is a join
188
- * position every variable must already be bound by a relation atom of
189
- * the rule (the theory's own domain relation; the rec's answers are
190
- * theory values, so the join is identity). Threading the rec value the
191
- * last `.rule(...)` returned carries its rules' params into `Params`
192
- * AND its head signature, so the join is arity- and class-checked
193
- * against the head at compile time.
175
+ * NAMED join against the rec's head the bindings record's keys are the
176
+ * head columns, each bound to a variable positively bound by a relation
177
+ * atom of the rule. Threading the rec value the last `.rule(...)` returned
178
+ * carries its params into `Params` AND its head signature, so the join is
179
+ * key-exact and class-checked against the head at compile time.
194
180
  */
195
- idb<Target extends RecRef<string, ParamsRecord>, const V extends readonly Var<string>[]>(target: Target, ...vars: CheckIdbVars<Env, V, HeadOf<Target>> & V): OutputRuleChain<Rels, Env, Flatten<P & ParamsOf<Target>>, Classes>;
196
- select<const S extends readonly SelectEntry[]>(...entries: CheckSelect<Env, S> & S): RuleValue<RowOfSelect<Env, S>, P>;
181
+ 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>;
182
+ find<const F extends FindShape>(entries: F & CheckFind<F>): RuleValue<RowOfFind<F>, P>;
197
183
  }
198
184
  /** The rule builder a RECURSIVE rule (`rec.rule(...)`) receives. */
199
185
  interface RecRuleScope<Rels extends SchemaRelations, Self extends string, Classes extends SchemaClasses = SchemaClasses> extends TermOps {
200
- match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Record<never, never>, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): RecRuleChain<Rels, Self, EnvOfMatch<Record<never, never>, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>, BindParamsShape<MatchFields<R>, B>, Classes>;
186
+ 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>;
201
187
  }
202
188
  /**
203
- * The chain of a recursive rule. Its `idb` accepts ONLY the rec itself
204
- * the self-recursion cut as a type-level boundary (mutual recursion is
205
- * unwritable; a finished lower stratum is folded by the OUTPUT rules) —
206
- * and its `select` takes bound variable NAMES only: aggregates and the
207
- * measure are unrepresentable in a recursive head (the strata judge's
208
- * `AggregationThroughCycle`/`MeasureInRecursiveHead`, made unwritable).
189
+ * The chain of a recursive rule. Its `idb` accepts ONLY the rec itself (the
190
+ * self-recursion cut) and its `find` takes bound variables only — aggregates
191
+ * and the measure are unrepresentable in a recursive head.
209
192
  */
210
- interface RecRuleChain<Rels extends SchemaRelations, Self extends string, Env extends EnvShape, P extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
211
- match<R extends QueryRelation<Rels>, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B & CheckBindings<Env, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>): RecRuleChain<Rels, Self, EnvOfMatch<Env, MatchFields<R>, ClassRecordOf<Classes, R["name"]>, B>, Flatten<P & BindParamsShape<MatchFields<R>, B>>, Classes>;
212
- where<const C extends AnyCond>(cond: CheckCond<Env, Classes, C> & C): RecRuleChain<Rels, Self, Env, Flatten<P & CondParamsShape<Env, C>>, Classes>;
213
- /** The self-recursive atom: `idb(self, ...boundVars)` — only this rec's own reference is accepted (threaded, its head arity- and class-checks the join). */
214
- idb<Target extends RecRef<Self, ParamsRecord>, const V extends readonly Var<string>[]>(target: Target, ...vars: CheckIdbVars<Env, V, HeadOf<Target>> & V): RecRuleChain<Rels, Self, Env, P, Classes>;
215
- /** The recursive head: bound variable names only (the creation quarantine, restated for fixpoint topology); the value carries the head's classed slots for `idb` pairing. */
216
- select<const S extends readonly string[]>(...names: CheckNameSelect<Env, S> & S): RuleValue<RowOfNameSelect<Env, S>, P, HeadFieldsOf<Env, S>>;
193
+ interface RecRuleChain<Rels extends SchemaRelations, Self extends string, P extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
194
+ 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>;
195
+ where<const C extends AnyCond>(cond: CheckCond<Classes, C> & C): RecRuleChain<Rels, Self, Flatten<P & CondParamsShape<C>>, Classes>;
196
+ /** The self-recursive atom: `idb(self, { headKey: boundVar })` — only this rec's own reference is accepted. */
197
+ 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>;
198
+ /** The recursive head: a `find` record of bound variables only; the value carries the head's classed slots for `idb` pairing. */
199
+ find<const F extends FindShape>(entries: F & CheckRecFind<F>): RuleValue<RowOfFind<F>, P, HeadRecordOf<Classes, F>>;
217
200
  }
218
201
  /** A query's runtime description — everything lowering, the wire marshal, and answer decode read. */
219
202
  interface QueryData {
@@ -222,15 +205,14 @@ interface QueryData {
222
205
  /** The output rules in written order (multiple rules = set union). */
223
206
  readonly rules: readonly RuleData[];
224
207
  /** The head columns (every rule derives the same head; written order = answer column order). */
225
- readonly select: readonly SelectColumn[];
208
+ readonly finds: readonly FindColumn[];
226
209
  /** The registered params in first-use order across the program walk (= dense `ParamId`s). */
227
210
  readonly params: readonly ParamEntry[];
228
211
  }
229
212
  /**
230
213
  * An inert query value. `Row` is the inferred answer-row object type;
231
- * `Params` the inferred execute-params object type — exactly the params
232
- * the rules use. Prepare with `db.prepare(q)`; nothing here touches an
233
- * engine.
214
+ * `Params` the inferred execute-params object type — exactly the params the
215
+ * rules use. Prepare with `db.prepare(q)`.
234
216
  */
235
217
  interface Query<Rels extends SchemaRelations, Row, Params extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
236
218
  readonly schema: Schema<Rels, Classes>;
@@ -242,11 +224,7 @@ interface Query<Rels extends SchemaRelations, Row, Params extends ParamsRecord,
242
224
  readonly params: Params;
243
225
  };
244
226
  }
245
- /**
246
- * Any query value as lowering and the runtime consume it: the theory it
247
- * was built against and its runtime description — every `Query` (typed or
248
- * program-built) carries exactly this.
249
- */
227
+ /** Any query value as lowering and the runtime consume it. */
250
228
  interface AnyQuery {
251
229
  readonly schema: AnySchema;
252
230
  readonly data: QueryData;
@@ -260,27 +238,23 @@ interface QueryStart<Rels extends SchemaRelations, Classes extends SchemaClasses
260
238
  rule<RV extends AnyRuleValue>(build: (r: QueryRuleScope<Rels, Classes>) => RV): Query<Rels, RowOf<RV>, ParamsOf<RV>, Classes>;
261
239
  }
262
240
  /**
263
- * The one runtime chain every context shares — non-generic on purpose: the
264
- * typed chain interfaces (`QueryRuleChain`/`OutputRuleChain`/`RecRuleChain`)
265
- * apply at the scope factories' boundaries, and the runtime beneath them is
266
- * one plain value walk. Context gates the two context-bound verbs: `idb`
267
- * (a program construct — self-only inside a rec, any rec of the program in
268
- * the output, refused in a plain query) and the recursive `select`
269
- * (bound variable names only — the creation quarantine).
241
+ * The one runtime chain every context shares — non-generic on purpose. The
242
+ * typed chain interfaces apply at the scope factories' boundaries.
270
243
  */
271
244
  interface RawChain {
272
245
  match(relation: MatchOwner, bindings: Readonly<Record<string, unknown>>): RawChain;
273
246
  where(cond: AnyCond): RawChain;
274
- idb(target: RecRef<string, ParamsRecord>, ...vars: readonly Var<string>[]): RawChain;
275
- select(...entries: readonly SelectEntry[]): RuleValue<never, never>;
247
+ idb(target: RecRef<string, ParamsRecord>, bindings: Readonly<Record<string, unknown>>): RawChain;
248
+ find(entries: Readonly<Record<string, unknown>>): RuleValue<never, never>;
276
249
  }
277
250
  /** The runtime rule-builder shape beneath every typed scope. */
278
251
  interface RawScope extends TermOps {
279
252
  match(relation: MatchOwner, bindings: Readonly<Record<string, unknown>>): RawChain;
280
253
  }
281
- /** Which rule family a chain builds — gates `idb` and the recursive select — plus the schema's runtime class map (the join judge's authority). */
254
+ /** Which rule family a chain builds — plus the schema's runtime class map and theory value (the join judge's authority). */
282
255
  type ChainContext = {
283
256
  readonly classes: SchemaClasses;
257
+ readonly theory: AnySchema;
284
258
  } & ({
285
259
  readonly kind: "query";
286
260
  } | {
@@ -294,55 +268,43 @@ type ChainContext = {
294
268
  declare function makeRawScope(context: ChainContext): RawScope;
295
269
  /** Builds one output-rule builder over a program's recs. */
296
270
  declare function makeOutputRuleScope<Rels extends SchemaRelations, Classes extends SchemaClasses>(program: ProgramState): OutputRuleScope<Rels, Classes>;
297
- /** One program's build-time registry: its recs in declaration order (sealed when the output is declared) and the theory's class map. */
271
+ /** One program's build-time registry: its recs in declaration order, the theory value, and its class map. */
298
272
  interface ProgramState {
299
273
  readonly recs: RecData[];
300
274
  readonly classes: SchemaClasses;
275
+ readonly theory: AnySchema;
301
276
  sealed: boolean;
302
277
  }
303
278
  /** Assembles one typed query value (rules already completed). */
304
279
  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>;
305
280
  /**
306
- * Opens a query over a schema: `query(S).rule(r => ...)`. Each `.rule`
307
- * adds one conjunctive rule; multiple rules are the set union (answers are
308
- * SETS no order or limit exists anywhere; hosts sort). The schema's
309
- * law-computed class map rides into every rule builder — the join walls
310
- * compare class names off it, at the type level and at construction alike.
281
+ * Opens a query over a schema: `query(S).rule(r => ...)`. Each `.rule` adds
282
+ * one conjunctive rule; multiple rules are the set union. The schema's
283
+ * law-computed class map and theory value ride into every rule builder — the
284
+ * join walls compare against the mint slots off it.
311
285
  */
312
286
  declare function query<Rels extends SchemaRelations, Classes extends SchemaClasses>(theory: Schema<Rels, Classes>): QueryStart<Rels, Classes>;
313
287
  /**
314
288
  * Tags one host literal at a FIELD position (atom bindings): the field's
315
- * structural kind directs the tag, never a guess. At an interval field a
316
- * bigint literal tags as the ELEMENT type — the IR's membership typing
317
- * rule (point membership), an interval-shaped literal as the interval
318
- * (value equality). A closed-reference literal is its bare handle id,
319
- * tagged u64 after a roster verification.
289
+ * structural kind directs the tag, never a guess.
320
290
  */
321
291
  declare function taggedLiteral(context: string, field: AnyField, value: unknown): TaggedValue;
322
292
  /**
323
- * Tags one host literal at a COMPARISON or PARAM position, where the
324
- * SIBLING anchors the type: a measure sibling is u64, an interval-field
325
- * sibling contributes its element domain (so both a point literal in
326
- * `covers` and a `span` literal in `allen` tag correctly), a scalar
327
- * sibling its own type. At `pointIn` the operand order is interval-left,
328
- * point-right (`ir::CmpOp::PointIn`), so an interval-shaped literal
329
- * beside a scalar element-typed sibling is the LEGAL lhs of
330
- * `covers(span(...), t)` and tags as the interval of the sibling's
331
- * element domain; under every other operator an interval shape against a
332
- * scalar sibling stays refused (the engine's IllegalComparison — the
333
- * bug-hunt fix, preserved op-aware).
293
+ * Tags one host literal at a COMPARISON or PARAM position, where the SIBLING
294
+ * anchors the type: a measure sibling is u64, an interval-field sibling
295
+ * contributes its element domain, a scalar sibling its own type. At
296
+ * `pointIn` the operand order is interval-left, point-right, so an
297
+ * interval-shaped literal beside a scalar element-typed sibling is the LEGAL
298
+ * interval operand of `pointIn(t, span(...))`; under every other operator an
299
+ * interval shape against a scalar sibling stays refused.
334
300
  */
335
301
  declare function taggedCmpLiteral(context: string, sibling: AnyField | "measure", value: unknown, op: CmpKind | "binding"): TaggedValue;
336
302
  /**
337
303
  * Lowers a query value to the bridge's `ProgramIr` — pure and stable: the
338
304
  * recs in declaration order (`PredId` = index), the output predicate
339
- * (rules + head) appended last. Relations lower by declaration ordinal,
340
- * the law the engine's own manifest pins; `db.prepare` re-verifies the
341
- * alignment against the live manifest before sending. Every registered
342
- * param must carry a field anchor by now — an unanchorable param (its
343
- * every use beside a literal) is refused here, naming it.
305
+ * appended last. Every registered param must carry a field anchor by now.
344
306
  */
345
307
  declare function lowerQuery(q: AnyQuery): ProgramIr;
346
- export type { AnyQuery, AnyRuleValue, HeadFieldsOf, HeadOf, HeadShape, OutputRuleChain, OutputRuleScope, ParamsOf, ProgramState, Query, QueryData, QueryParams, QueryRelation, QueryRow, QueryRuleChain, QueryRuleScope, QueryStart, RawChain, RawScope, RecRef, RecRuleChain, RecRuleScope, RowOf, RuleValue, TermOps };
308
+ 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 };
347
309
  export { lowerQuery, makeOutputRuleScope, makeQuery, makeRawScope, query, taggedCmpLiteral, taggedLiteral };
348
310
  //# 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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"}