@bjornpagen/bumbledb 0.1.0 → 0.2.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 +1394 -0
  2. package/README.md +4 -0
  3. package/dist/closed.d.ts +60 -37
  4. package/dist/closed.d.ts.map +1 -1
  5. package/dist/closed.js +159 -40
  6. package/dist/closed.js.map +1 -1
  7. package/dist/count.d.ts +64 -17
  8. package/dist/count.d.ts.map +1 -1
  9. package/dist/count.js +37 -14
  10. package/dist/count.js.map +1 -1
  11. package/dist/db.d.ts +15 -7
  12. package/dist/db.d.ts.map +1 -1
  13. package/dist/db.js +13 -5
  14. package/dist/db.js.map +1 -1
  15. package/dist/exhume.d.ts +12 -11
  16. package/dist/exhume.d.ts.map +1 -1
  17. package/dist/exhume.js +7 -6
  18. package/dist/exhume.js.map +1 -1
  19. package/dist/face.d.ts +79 -19
  20. package/dist/face.d.ts.map +1 -1
  21. package/dist/face.js +14 -15
  22. package/dist/face.js.map +1 -1
  23. package/dist/fields.d.ts +158 -129
  24. package/dist/fields.d.ts.map +1 -1
  25. package/dist/fields.js +80 -81
  26. package/dist/fields.js.map +1 -1
  27. package/dist/index.d.ts +21 -21
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +13 -12
  30. package/dist/index.js.map +1 -1
  31. package/dist/lower.d.ts +6 -3
  32. package/dist/lower.d.ts.map +1 -1
  33. package/dist/lower.js +48 -17
  34. package/dist/lower.js.map +1 -1
  35. package/dist/marshal.d.ts +36 -21
  36. package/dist/marshal.d.ts.map +1 -1
  37. package/dist/marshal.js +41 -25
  38. package/dist/marshal.js.map +1 -1
  39. package/dist/native.js +2 -2
  40. package/dist/query/atom.d.ts +332 -174
  41. package/dist/query/atom.d.ts.map +1 -1
  42. package/dist/query/atom.js +72 -172
  43. package/dist/query/atom.js.map +1 -1
  44. package/dist/query/lower.d.ts +295 -107
  45. package/dist/query/lower.d.ts.map +1 -1
  46. package/dist/query/lower.js +860 -388
  47. package/dist/query/lower.js.map +1 -1
  48. package/dist/query/predicate.d.ts +69 -88
  49. package/dist/query/predicate.d.ts.map +1 -1
  50. package/dist/query/predicate.js +118 -72
  51. package/dist/query/predicate.js.map +1 -1
  52. package/dist/query/run.d.ts +19 -16
  53. package/dist/query/run.d.ts.map +1 -1
  54. package/dist/query/run.js +31 -24
  55. package/dist/query/run.js.map +1 -1
  56. package/dist/query/scope.d.ts +139 -123
  57. package/dist/query/scope.d.ts.map +1 -1
  58. package/dist/query/scope.js +71 -115
  59. package/dist/query/scope.js.map +1 -1
  60. package/dist/query/select.d.ts +102 -80
  61. package/dist/query/select.d.ts.map +1 -1
  62. package/dist/query/select.js +39 -34
  63. package/dist/query/select.js.map +1 -1
  64. package/dist/relation.d.ts +33 -36
  65. package/dist/relation.d.ts.map +1 -1
  66. package/dist/relation.js +15 -16
  67. package/dist/relation.js.map +1 -1
  68. package/dist/schema.d.ts.map +1 -1
  69. package/dist/schema.js +19 -8
  70. package/dist/schema.js.map +1 -1
  71. package/dist/spec.d.ts +6 -5
  72. package/dist/spec.d.ts.map +1 -1
  73. package/dist/spec.js.map +1 -1
  74. package/dist/statements.d.ts +56 -31
  75. package/dist/statements.d.ts.map +1 -1
  76. package/dist/statements.js +38 -13
  77. package/dist/statements.js.map +1 -1
  78. package/package.json +4 -3
  79. package/src/closed.ts +271 -93
  80. package/src/count.ts +112 -18
  81. package/src/db.ts +22 -12
  82. package/src/exhume.ts +12 -11
  83. package/src/face.ts +114 -22
  84. package/src/fields.ts +261 -217
  85. package/src/index.ts +50 -59
  86. package/src/lower.ts +62 -20
  87. package/src/marshal.ts +48 -30
  88. package/src/native.ts +2 -2
  89. package/src/query/atom.ts +480 -376
  90. package/src/query/lower.ts +1341 -542
  91. package/src/query/predicate.ts +198 -161
  92. package/src/query/run.ts +35 -25
  93. package/src/query/scope.ts +188 -218
  94. package/src/query/select.ts +168 -93
  95. package/src/relation.ts +38 -44
  96. package/src/schema.ts +22 -12
  97. package/src/spec.ts +6 -5
  98. package/src/statements.ts +69 -26
  99. package/dist/brand.d.ts +0 -59
  100. package/dist/brand.d.ts.map +0 -1
  101. package/dist/brand.js +0 -47
  102. package/dist/brand.js.map +0 -1
  103. package/src/brand.ts +0 -82
@@ -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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"}
@@ -1,153 +1,64 @@
1
1
  /**
2
- * Query atoms and conditions (PRD-08) — the body vocabulary of a rule,
3
- * mirroring the engine IR variant for variant
2
+ * Atoms and conditions, STRUCTURAL edition — the body vocabulary of a
3
+ * rule, mirroring the engine IR variant for variant
4
4
  * (`bumbledb/crates/bumbledb/src/ir.rs`, the bijection target;
5
- * `docs/architecture/20-query-ir.md` normative): `match` is the named-field
6
- * atom (unmentioned fields ARE the wildcard no wildcard value exists),
7
- * `not` is negation-as-position (anti-join), `is`/`ne`/`lt`/`le`/`gt`/`ge`
8
- * are the comparison roster, `covers` is the IR's `PointIn` predicate,
9
- * `allen` the 13-bit-mask interval-pair comparison, `and`/`or` the input
10
- * condition-tree grammar (distributed to DNF by the engine's validation),
11
- * and `duration` the measure term. Nothing beyond the IR exists here: no
12
- * convenience operator fakes an unsupported comparison.
5
+ * `docs/architecture/20-query-ir.md` normative). A `match` binding record
6
+ * binds fields to vars, params, ∈-set params, or bare structural literals
7
+ * (unmentioned fields ARE the wildcard — no wildcard value exists);
8
+ * `not(Rel, {...})` is negation-as-position (anti-join); `eq`/`ne` and the
9
+ * order roster, `pointIn`/`covers` (both spellings of `ir::CmpOp::PointIn`,
10
+ * always lowered interval-left), `allen` (the 13-bit mask pair
11
+ * comparison), and `and`/`or` (the input condition-tree grammar) complete
12
+ * the roster. Nothing beyond the IR exists here — and the walls the engine
13
+ * enforces at prepare are TYPES first: a var joins only domain-equal
14
+ * fields (`JoinOk`, checked against the rule environment AND against the
15
+ * binding record's own same-named siblings — two first occurrences of one
16
+ * name inside one record are a join too), an
17
+ * interval-typed var under a non-`pointIn` comparison is unwritable, and a
18
+ * negated atom's variables must be positively bound (env membership IS the
19
+ * safety rule). Every condition value carries its operands raw — the
20
+ * runtime representation is the type-inference carrier, no phantoms.
21
+ *
22
+ * This module also owns the plain runtime DATA a built rule is made of
23
+ * (`RuleData`/`RecData` and friends): frozen values the lowering walks —
24
+ * pure data, so lowering stays a pure, stable function of the query value.
13
25
  */
14
26
  import * as errors from "@superbuilders/errors";
15
- import { phantom } from "#brand.ts";
16
- import { isTerm, term } from "#query/scope.ts";
17
- /** Narrows an `oneOf` literal set (the detection rule `where()` uses). */
18
- function isOneOf(value) {
19
- return typeof value === "object" && value !== null && "literals" in value && Array.isArray(value.literals);
20
- }
21
- /** Resolves one binding value to its runtime term. */
22
- function bindingTermOf(context, value) {
23
- if (isTerm(value)) {
24
- if (value[term] === "maskParam") {
25
- throw errors.new(`${context}: an Allen-mask param is not a field-typed value — masks live in allen() conditions only`);
26
- }
27
- return Object.freeze({ kind: "term", value });
28
- }
29
- if (isOneOf(value)) {
30
- return Object.freeze({ kind: "oneOf", values: Object.freeze([...value.literals]) });
31
- }
32
- return Object.freeze({ kind: "literal", value });
33
- }
34
- /**
35
- * Resolves a bindings record against an ordered field roster (shared by
36
- * relation atoms here and predicate atoms in `#query/predicate.ts`), in
37
- * the record's written order.
38
- */
39
- function resolveBindings(context, fields, bindings) {
40
- const entries = [];
41
- for (const [fieldName, value] of Object.entries(bindings)) {
42
- if (value === undefined) {
43
- continue;
44
- }
45
- const declared = fields.find(function byName(candidate) {
46
- return candidate.name === fieldName;
47
- });
48
- if (declared === undefined) {
49
- throw errors.new(`${context} has no field ${fieldName}`);
50
- }
51
- entries.push(Object.freeze({
52
- field: fieldName,
53
- data: declared.field,
54
- term: bindingTermOf(`${context}.${fieldName}`, value)
55
- }));
56
- }
57
- return Object.freeze(entries);
58
- }
59
- /**
60
- * The named-field atom — the semantic twin of `query!`'s `Node(id: c)`:
61
- * fields bind vars, params, branded literals, `oneOf` sets, or (interval
62
- * fields) point terms; unmentioned fields are wildcards; a zero-binding
63
- * atom is a nonemptiness gate on the relation (IR-legal, so writable).
64
- */
65
- function match(relation, bindings) {
66
- return Object.freeze({
67
- item: "atom",
68
- negated: false,
69
- source: Object.freeze({ kind: "relation", relation }),
70
- bindings: resolveBindings(`relation ${relation.name}`, relation.data.fields, Object.fromEntries(Object.entries(bindings)))
71
- });
72
- }
73
- /**
74
- * Negation — anti-join over sets, no null trick: a binding satisfies the
75
- * negated atom iff NO fact matches it. Safety (every negated var bound
76
- * positively) is validated at `query()` construction with an error naming
77
- * the variable; the negated atom binds nothing, only rejects. An `oneOf`
78
- * binding is refused HERE, at construction: it lowers to a synthetic
79
- * variable bound only inside the atom plus a rule-level OR — which is
80
- * exactly the shape the safety rule rejects, and semantically wrong for
81
- * negation anyway (¬∃(f = a ∨ f = b) is a CONJUNCTION of negated atoms,
82
- * ¬∃(f = a) ∧ ¬∃(f = b), never one negated atom's OR).
83
- */
84
- function not(atom) {
85
- if (atom.item !== "atom" || atom.negated) {
86
- throw errors.new("negation is a position in the rule, not an operator — not() takes one positive atom");
87
- }
88
- for (const binding of atom.bindings) {
89
- if (binding.term.kind === "oneOf") {
90
- const source = atom.source.kind === "relation" ? atom.source.relation.name : `predicate ${atom.source.pred.name}`;
91
- throw errors.new(`negated ${source} atom binds ${binding.field} with oneOf(...) — ¬∃(${binding.field} = a ∨ ${binding.field} = b) means ¬∃(${binding.field} = a) ∧ ¬∃(${binding.field} = b): write one not(match(...)) per literal, or bind a paramSet`);
92
- }
93
- }
94
- return Object.freeze({
95
- item: "atom",
96
- negated: true,
97
- source: atom.source,
98
- bindings: atom.bindings
99
- });
100
- }
27
+ import { isTerm } from "#query/scope.ts";
101
28
  /** Builds one comparison value. */
102
- function comparison(op, lhs, rhs) {
103
- return Object.freeze({ item: "cmp", op: Object.freeze(op), lhs, rhs });
104
- }
105
- /** Narrows a `duration()` value. */
106
- function isDuration(value) {
107
- return typeof value === "object" && value !== null && "measure" in value && !isTerm(value);
108
- }
109
- /** Resolves one comparison side to its runtime term. */
110
- function cmpTermOf(value) {
111
- if (isTerm(value)) {
112
- return Object.freeze({ kind: "term", value });
113
- }
114
- if (isDuration(value)) {
115
- return Object.freeze({ kind: "measure", over: value.measure });
116
- }
117
- return Object.freeze({ kind: "literal", value });
29
+ function comparison(op, lhs, rhs, mask) {
30
+ return Object.freeze({ cond: "cmp", op, lhs, rhs, mask });
118
31
  }
119
32
  /**
120
33
  * Rejects a comparison with no term side: it is constant-valued, the
121
- * engine's own validation refuses it, and the lowering has no field
34
+ * engine's own validation refuses it, and the lowering has no anchored
122
35
  * position to type the literals by — fail here with the same verdict.
123
36
  */
124
37
  function assertTermSide(op, lhs, rhs) {
125
- if (lhs.kind === "literal" && rhs.kind === "literal") {
38
+ if (!isTerm(lhs) && !isTerm(rhs)) {
126
39
  throw errors.new(`${op}: a comparison without a variable or parameter side is constant-valued — write the query you mean`);
127
40
  }
128
41
  }
129
42
  /**
130
- * The equality atom (`ir::CmpOp::Eq`) — for binding a var to a param or
131
- * literal where punning inside `match` doesn't apply, and for var-to-var
132
- * unification. Prefer direct placement (`match(Account, { kind:
133
- * Kind.Savings })`); `is` exists for the var-to-param case. `ParamSet` is
134
- * legal here and under no other operator (the IR's `Eq`-only set rule).
43
+ * The equality comparison (`ir::CmpOp::Eq`) — a bound variable against a
44
+ * variable (var-to-var unification, domain-equal by the environment
45
+ * check), a param (typed by the variable), an ∈-set param (`Eq`-only, the
46
+ * IR's set rule), or a bare literal of the variable's own value type.
47
+ * Prefer direct placement in `match` where punning applies.
135
48
  */
136
- function is(left, right) {
137
- return comparison(Object.freeze({ kind: "eq" }), cmpTermOf(left), cmpTermOf(right));
49
+ function eq(left, right) {
50
+ return comparison("eq", left, right, undefined);
138
51
  }
139
52
  /** Typed disequality (`ir::CmpOp::Ne`). "Not in set" has no operator — write a negated atom. */
140
53
  function ne(left, right) {
141
- return comparison(Object.freeze({ kind: "ne" }), cmpTermOf(left), cmpTermOf(right));
54
+ return comparison("ne", left, right, undefined);
142
55
  }
143
56
  /** The shared order-comparison constructor. */
144
57
  function order(op, left, right) {
145
- const lhs = cmpTermOf(left);
146
- const rhs = cmpTermOf(right);
147
- assertTermSide(op, lhs, rhs);
148
- return comparison(Object.freeze({ kind: op }), lhs, rhs);
58
+ assertTermSide(op, left, right);
59
+ return comparison(op, left, right, undefined);
149
60
  }
150
- /** Strict less-than (`ir::CmpOp::Lt`). */
61
+ /** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only, never intervals/bytes/strings/bools. */
151
62
  function lt(left, right) {
152
63
  return order("lt", left, right);
153
64
  }
@@ -164,17 +75,26 @@ function ge(left, right) {
164
75
  return order("ge", left, right);
165
76
  }
166
77
  /**
167
- * Point membership as a predicate (`ir::CmpOp::PointIn`): `covers(iv, t)`
168
- * holds iff `iv.start ≤ t < iv.end` the predicate form of the membership
169
- * typing rule, for terms already bound elsewhere. Interval ⊇ interval is
170
- * NOT this operator; that predicate is `allen(a, ALLEN.covers, b)`. The IR
171
- * orders the operands interval-left, point-right; so does this surface.
78
+ * Point membership as a predicate (`ir::CmpOp::PointIn`), membership
79
+ * spelling: `pointIn(t, w)` holds iff `w.start ≤ t < w.end`. The IR
80
+ * orders the operands interval-left, point-right; the value stores them
81
+ * that way whatever the surface spelling.
82
+ */
83
+ function pointIn(point, interval) {
84
+ assertTermSide("pointIn", point, interval);
85
+ return comparison("pointIn", interval, point, undefined);
86
+ }
87
+ /**
88
+ * Point membership, coverage spelling — `covers(w, t)` is `pointIn(t, w)`
89
+ * with the interval written first (the IR's own operand order; a literal
90
+ * `span(...)` left operand is legal and tags by the point sibling's
91
+ * element domain — the bug-hunt fix, now also a type-level guarantee).
92
+ * Interval ⊇ interval is NOT this operator; that predicate is
93
+ * `allen(a, ALLEN.covers, b)`.
172
94
  */
173
95
  function covers(interval, point) {
174
- const lhs = cmpTermOf(interval);
175
- const rhs = cmpTermOf(point);
176
- assertTermSide("covers", lhs, rhs);
177
- return comparison(Object.freeze({ kind: "pointIn" }), lhs, rhs);
96
+ assertTermSide("covers", interval, point);
97
+ return comparison("pointIn", interval, point, undefined);
178
98
  }
179
99
  /**
180
100
  * The 13-bit mask range: bits above the low 13 are unrepresentable in the
@@ -217,28 +137,16 @@ const ALLEN = Object.freeze({
217
137
  * THE interval-pair comparison (`ir::CmpOp::Allen`): two interval terms of
218
138
  * one element type, satisfied iff the pair's classification is in the
219
139
  * 13-bit mask — a literal built from the `ALLEN` constants, or a mask
220
- * parameter (`$.allenParam`). Vacuous masks (empty/full) are the engine's
140
+ * parameter (`r.maskParam`). Vacuous masks (empty/full) are the engine's
221
141
  * two distinct typed rejections; nothing is pre-judged here beyond the
222
142
  * representable bit range.
223
143
  */
224
144
  function allen(left, mask, right) {
225
- const lhs = cmpTermOf(left);
226
- const rhs = cmpTermOf(right);
227
- assertTermSide("allen", lhs, rhs);
228
- const maskValue = mask;
229
- if (typeof maskValue === "number") {
230
- if (!Number.isInteger(maskValue) || maskValue < 0 || maskValue > ALLEN_ALL_BITS) {
231
- throw errors.new(`allen mask ${maskValue} is not a 13-bit mask — build masks from the ALLEN constants (bumbledb allen.rs: bits above the low 13 are unrepresentable)`);
232
- }
233
- return comparison(Object.freeze({
234
- kind: "allen",
235
- mask: Object.freeze({ kind: "literal", mask: maskValue })
236
- }), lhs, rhs);
145
+ assertTermSide("allen", left, right);
146
+ if (typeof mask === "number" && (!Number.isInteger(mask) || mask < 0 || mask > ALLEN_ALL_BITS)) {
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)`);
237
148
  }
238
- return comparison(Object.freeze({
239
- kind: "allen",
240
- mask: Object.freeze({ kind: "param", param: maskValue })
241
- }), lhs, rhs);
149
+ return comparison("allen", left, right, mask);
242
150
  }
243
151
  /**
244
152
  * Conjunction node of the input condition grammar (`ConditionTree::And`).
@@ -247,11 +155,7 @@ function allen(left, mask, right) {
247
155
  * reading (`And([])` is true).
248
156
  */
249
157
  function and(...children) {
250
- return Object.freeze({
251
- item: "tree",
252
- op: "and",
253
- children: Object.freeze([...children])
254
- });
158
+ return Object.freeze({ cond: "tree", op: "and", children: Object.freeze(children) });
255
159
  }
256
160
  /**
257
161
  * Disjunction node of the input condition grammar (`ConditionTree::Or`) —
@@ -260,22 +164,18 @@ function and(...children) {
260
164
  * its algebraic reading (false: the rule denotes nothing).
261
165
  */
262
166
  function or(...children) {
263
- return Object.freeze({
264
- item: "tree",
265
- op: "or",
266
- children: Object.freeze([...children])
267
- });
167
+ return Object.freeze({ cond: "tree", op: "or", children: Object.freeze(children) });
268
168
  }
269
169
  /**
270
- * The measure term surface `Duration`, IR `Measure`: the point-set
271
- * cardinality `end start` of an interval-typed variable, u64. See
272
- * {@link Duration} for the legal positions.
170
+ * Negation anti-join over sets: `not(Rel, { field: r.var("x"), ... })`
171
+ * rejects every binding some matching fact extends. A negated atom binds
172
+ * nothing, only rejects: every variable it names must be positively bound
173
+ * in the rule, which `.where`'s environment check makes a COMPILE error
174
+ * (the engine's safety refusal stands behind it).
273
175
  */
274
- function duration(over) {
275
- if (over.data.type.kind !== "interval") {
276
- throw errors.new(`duration(${over.relation}.${over.field}): the measure is defined over interval-typed variables only`);
277
- }
278
- return Object.freeze({ measure: over });
176
+ function not(relation, bindings) {
177
+ const value = { cond: "not", relation, bindings };
178
+ return Object.freeze(value);
279
179
  }
280
- export { ALLEN, allen, and, covers, duration, ge, gt, is, le, lt, match, ne, not, or, resolveBindings };
180
+ export { ALLEN, allen, and, comparison, covers, eq, ge, gt, le, lt, ne, not, or, pointIn };
281
181
  //# 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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"}