@bjornpagen/bumbledb 0.8.0 → 0.9.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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/order.d.ts +53 -2
- package/dist/order.d.ts.map +1 -1
- package/dist/order.js +30 -12
- package/dist/order.js.map +1 -1
- package/dist/query/atom.d.ts +33 -13
- package/dist/query/atom.d.ts.map +1 -1
- package/dist/query/atom.js +1 -1
- package/dist/query/atom.js.map +1 -1
- package/dist/query/find.d.ts +19 -8
- package/dist/query/find.d.ts.map +1 -1
- package/dist/query/find.js +6 -5
- package/dist/query/find.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +1 -1
- package/src/order.ts +83 -5
- package/src/query/atom.ts +37 -13
- package/src/query/find.ts +34 -16
package/dist/index.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export type { ClassesOf, ClassWall, LawfulStatements, RelationClasses, SchemaCla
|
|
|
40
40
|
export { lower, lowerClosed, lowerRelation } from "#lower.ts";
|
|
41
41
|
export type { KeyFact, Minted } from "#marshal.ts";
|
|
42
42
|
export type { FactValue, OccurrenceDrift, ProgramIr, Staleness, StatementKindTag } from "#native.ts";
|
|
43
|
-
export type { Desc, SortKey } from "#order.ts";
|
|
43
|
+
export type { Desc, EngineOrderable, SortKey } from "#order.ts";
|
|
44
44
|
export { by, desc } from "#order.ts";
|
|
45
45
|
export type { AnyCond, BindingInput, Cmp, FindColumn, MatchShape, NotAtom, RecData, RuleData, Tree } from "#query/atom.ts";
|
|
46
46
|
export { ALLEN, allen, and, eq, ge, gt, le, lt, ne, not, or, pointIn } from "#query/atom.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,YAAY,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,WAAW,EACX,QAAQ,EACR,aAAa,EACb,cAAc,EACd,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC3D,YAAY,EACX,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,YAAY,EACX,OAAO,EACP,YAAY,EACZ,eAAe,EACf,UAAU,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,SAAS,EACT,EAAE,EACF,SAAS,EACT,WAAW,EACX,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AACrG,YAAY,EACX,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,MAAM,YAAY,CAAA;AACnB,OAAO,EACN,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,MAAM,YAAY,CAAA;AACnB,YAAY,EACX,OAAO,EACP,KAAK,EACL,IAAI,EACJ,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,UAAU,EACV,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAC7B,YAAY,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,KAAK,EACL,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACvE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACrG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC7D,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EACX,SAAS,EACT,eAAe,EACf,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/order.d.ts
CHANGED
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
* `by(...)` into one row-typed comparator. Cross-type cells cannot arise
|
|
11
11
|
* within one column (one column, one domain), and the cell order is TOTAL
|
|
12
12
|
* anyway (the type-rank wall), so the comparator never throws.
|
|
13
|
+
*
|
|
14
|
+
* ZERO keys is the identity key (ruled 2026-07-25): `by()` / `desc()` are
|
|
15
|
+
* the same two spellings over BARE scalar arrays (`bigint[]` of ids, map
|
|
16
|
+
* keys) — with no column to name, the value itself is the key, there is
|
|
17
|
+
* nothing to fold, and the comparator IS the result. One ordering
|
|
18
|
+
* vocabulary, no sibling names. The identity arms are typed to EXACTLY the
|
|
19
|
+
* engine-orderable roster ({@link EngineOrderable}) because a bare scalar
|
|
20
|
+
* carries no decoded-row provenance — the type wall must carry the
|
|
21
|
+
* orderability law itself, where the row arm's cells arrive under their
|
|
22
|
+
* columns' law-typed proof.
|
|
13
23
|
*/
|
|
14
24
|
import type { FactValue } from "#native.ts";
|
|
15
25
|
/** One DESCENDING sort key, plain data — built by {@link desc}. */
|
|
@@ -19,7 +29,35 @@ interface Desc<K extends string> {
|
|
|
19
29
|
}
|
|
20
30
|
/** One sort key: a bare column name (ascending — the punning spelling) or `desc(name)`. */
|
|
21
31
|
type SortKey<K extends string> = K | Desc<K>;
|
|
22
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* The engine-orderable scalar roster in the SDK's representation — `bigint`
|
|
34
|
+
* (U64/I64) and `boolean` (false < true — the strict 0/1 encoding IS the
|
|
35
|
+
* order), EXACTLY as `docs/architecture/10-data-model.md` § "Orderability,
|
|
36
|
+
* complete" admits it (ruled 2026-07-23, R3/R4), and nothing more:
|
|
37
|
+
* `string` is deliberately absent (intern ids are meaningless to order — a
|
|
38
|
+
* typed refusal, not a gap) and `number` is not an engine scalar at all.
|
|
39
|
+
* The identity comparators `by()`/`desc()` constrain on this alias, so
|
|
40
|
+
* sorting a `string[]` or `number[]` through them is a COMPILE error naming
|
|
41
|
+
* this roster. ONE OWNER for scalar ordering semantics: both identity arms
|
|
42
|
+
* route through the same cell order the row arm uses, whose bigint and
|
|
43
|
+
* boolean arms mirror the engine's U64/I64/Bool order exactly — a host
|
|
44
|
+
* sort over these values can never disagree with an engine order judgment
|
|
45
|
+
* (`Lt`-family, `Min`/`Max`) over the same column.
|
|
46
|
+
*/
|
|
47
|
+
type EngineOrderable = bigint | boolean;
|
|
48
|
+
/**
|
|
49
|
+
* The descending spelling — ONE name, both arities of one ordering
|
|
50
|
+
* vocabulary. `desc(name)` marks one sort key DESCENDING: plain data for
|
|
51
|
+
* {@link by} to fold (a bare name is already ascending). `desc()` — zero
|
|
52
|
+
* keys, the identity key (ruled 2026-07-25) — is the descending comparator
|
|
53
|
+
* over engine-orderable scalars themselves: a bare `bigint[]` or
|
|
54
|
+
* `boolean[]` has no column to name, so the value IS the key, there is
|
|
55
|
+
* nothing to fold, and the comparator is the result directly. The identity
|
|
56
|
+
* arm covers EXACTLY the {@link EngineOrderable} roster — `string` and
|
|
57
|
+
* `number` refuse at compile time, citing the orderability law
|
|
58
|
+
* (`10-data-model.md` § "Orderability, complete").
|
|
59
|
+
*/
|
|
60
|
+
declare function desc(): <T extends EngineOrderable>(left: T, right: T) => number;
|
|
23
61
|
declare function desc<const K extends string>(key: K): Desc<K>;
|
|
24
62
|
/**
|
|
25
63
|
* Folds sort keys into ONE comparator typed against the row —
|
|
@@ -29,8 +67,21 @@ declare function desc<const K extends string>(key: K): Desc<K>;
|
|
|
29
67
|
* carries that proof here (parse-don't-validate). The generic RETURN is the
|
|
30
68
|
* load-bearing trick: `rows.sort(by("rank"))` instantiates `Row` from the
|
|
31
69
|
* array's own element type and checks the key set right there.
|
|
70
|
+
*
|
|
71
|
+
* ZERO keys is the identity key (ruled 2026-07-25): `by()` is the
|
|
72
|
+
* ascending comparator over engine-orderable scalars themselves —
|
|
73
|
+
* `ids.sort(by())` — for the bare arrays (`bigint[]`, map keys) the
|
|
74
|
+
* row-typed arm cannot reach because they have no column to name. One
|
|
75
|
+
* vocabulary, both arities. The identity arm is typed to EXACTLY the
|
|
76
|
+
* {@link EngineOrderable} roster: with no law-typed column standing proof
|
|
77
|
+
* over the values, the type wall carries the orderability law itself —
|
|
78
|
+
* `string` ordering is deliberately refused and `number` is not an engine
|
|
79
|
+
* scalar (`10-data-model.md` § "Orderability, complete"), so both refuse
|
|
80
|
+
* at compile time and a host sort can never disagree with an engine order
|
|
81
|
+
* judgment.
|
|
32
82
|
*/
|
|
83
|
+
declare function by(): <T extends EngineOrderable>(left: T, right: T) => number;
|
|
33
84
|
declare function by<const K extends string>(first: SortKey<K>, ...rest: ReadonlyArray<SortKey<K>>): <Row extends Readonly<Record<K, FactValue>>>(left: Row, right: Row) => number;
|
|
34
|
-
export type { Desc, SortKey };
|
|
85
|
+
export type { Desc, EngineOrderable, SortKey };
|
|
35
86
|
export { by, desc };
|
|
36
87
|
//# sourceMappingURL=order.d.ts.map
|
package/dist/order.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,mEAAmE;AACnE,UAAU,IAAI,CAAC,CAAC,SAAS,MAAM;IAC9B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;IACf,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACnB;AAED,2FAA2F;AAC3F,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAE5C;;;;;;;;;;;;;;GAcG;AACH,KAAK,eAAe,GAAG,MAAM,GAAG,OAAO,CAAA;AA6GvC;;;;;;;;;;;GAWG;AACH,iBAAS,IAAI,IAAI,CAAC,CAAC,SAAS,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAA;AACzE,iBAAS,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAStD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,EAAE,IAAI,CAAC,CAAC,SAAS,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAA;AACvE,iBAAS,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACjC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,GAAG,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAChC,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,MAAM,CAAA;AA0BhF,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA;AAC9C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA"}
|
package/dist/order.js
CHANGED
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
* `by(...)` into one row-typed comparator. Cross-type cells cannot arise
|
|
11
11
|
* within one column (one column, one domain), and the cell order is TOTAL
|
|
12
12
|
* anyway (the type-rank wall), so the comparator never throws.
|
|
13
|
+
*
|
|
14
|
+
* ZERO keys is the identity key (ruled 2026-07-25): `by()` / `desc()` are
|
|
15
|
+
* the same two spellings over BARE scalar arrays (`bigint[]` of ids, map
|
|
16
|
+
* keys) — with no column to name, the value itself is the key, there is
|
|
17
|
+
* nothing to fold, and the comparator IS the result. One ordering
|
|
18
|
+
* vocabulary, no sibling names. The identity arms are typed to EXACTLY the
|
|
19
|
+
* engine-orderable roster ({@link EngineOrderable}) because a bare scalar
|
|
20
|
+
* carries no decoded-row provenance — the type wall must carry the
|
|
21
|
+
* orderability law itself, where the row arm's cells arrive under their
|
|
22
|
+
* columns' law-typed proof.
|
|
13
23
|
*/
|
|
14
24
|
/**
|
|
15
25
|
* The type-rank wall: boolean 0, bigint 1, string 2, bytes 3, interval 4.
|
|
@@ -100,22 +110,30 @@ function cellCmp(left, right) {
|
|
|
100
110
|
}
|
|
101
111
|
return cellRank(left) - cellRank(right);
|
|
102
112
|
}
|
|
103
|
-
/**
|
|
113
|
+
/**
|
|
114
|
+
* The ascending identity comparator `by()` returns — one value, minted
|
|
115
|
+
* once (`by() === by()`), {@link cellCmp} narrowed to the engine-orderable
|
|
116
|
+
* roster (the one owner of the cell order).
|
|
117
|
+
*/
|
|
118
|
+
function identityAscending(left, right) {
|
|
119
|
+
return cellCmp(left, right);
|
|
120
|
+
}
|
|
121
|
+
/** The descending identity comparator `desc()` returns — the same owner, sides flipped. */
|
|
122
|
+
function identityDescending(left, right) {
|
|
123
|
+
return cellCmp(right, left);
|
|
124
|
+
}
|
|
104
125
|
function desc(key) {
|
|
126
|
+
if (key === undefined) {
|
|
127
|
+
return identityDescending;
|
|
128
|
+
}
|
|
105
129
|
const marker = { key, desc: true };
|
|
106
130
|
return Object.freeze(marker);
|
|
107
131
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
* carries that proof here (parse-don't-validate). The generic RETURN is the
|
|
114
|
-
* load-bearing trick: `rows.sort(by("rank"))` instantiates `Row` from the
|
|
115
|
-
* array's own element type and checks the key set right there.
|
|
116
|
-
*/
|
|
117
|
-
function by(first, ...rest) {
|
|
118
|
-
const entries = [first, ...rest].map(function normalizeKey(sortKey) {
|
|
132
|
+
function by(...keys) {
|
|
133
|
+
if (keys.length === 0) {
|
|
134
|
+
return identityAscending;
|
|
135
|
+
}
|
|
136
|
+
const entries = keys.map(function normalizeKey(sortKey) {
|
|
119
137
|
if (typeof sortKey === "string") {
|
|
120
138
|
return { key: sortKey, factor: 1 };
|
|
121
139
|
}
|
package/dist/order.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.js","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"order.js","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"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"}
|
package/dist/query/atom.d.ts
CHANGED
|
@@ -328,8 +328,8 @@ type AnyCond = AnyCmp | Tree<readonly AnyTreeChild[]> | AnyNotAtom | AnyNotIdbAt
|
|
|
328
328
|
type EqRight = AnyVar | Param<string> | SetParam<string> | bigint | string | boolean | Uint8Array | IntervalValue;
|
|
329
329
|
/** What `ne`'s right side accepts. */
|
|
330
330
|
type NeRight = AnyVar | Param<string> | bigint | string | boolean | Uint8Array | IntervalValue;
|
|
331
|
-
/** One side of an order comparison: orderable terms only (the IR's comparison rules). */
|
|
332
|
-
type OrderSide = AnyVar | Param<string> | Duration | bigint;
|
|
331
|
+
/** One side of an order comparison: orderable terms only (the IR's comparison rules — bool orders, `false < true`, R3). */
|
|
332
|
+
type OrderSide = AnyVar | Param<string> | Duration | bigint | boolean;
|
|
333
333
|
/** The point side of `pointIn`. */
|
|
334
334
|
type PointSide = AnyVar | Param<string> | bigint;
|
|
335
335
|
/** The interval side of `pointIn`/`allen`. */
|
|
@@ -346,7 +346,7 @@ declare function comparison<Op extends CmpKind, L, R, M>(op: Op, lhs: L, rhs: R,
|
|
|
346
346
|
declare function eq<L extends AnyVar, const R extends EqRight>(left: L, right: R): Cmp<"eq", L, R>;
|
|
347
347
|
/** Typed disequality (`ir::CmpOp::Ne`). "Not in set" has no operator — write a negated atom. */
|
|
348
348
|
declare function ne<L extends AnyVar, const R extends NeRight>(left: L, right: R): Cmp<"ne", L, R>;
|
|
349
|
-
/** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only, never intervals/bytes/strings
|
|
349
|
+
/** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only (bool included: `false < true`, R3), never intervals/bytes/strings. */
|
|
350
350
|
declare function lt<const L extends OrderSide, const R extends OrderSide>(left: L, right: R): Cmp<"lt", L, R>;
|
|
351
351
|
/** Less-or-equal (`ir::CmpOp::Le`). */
|
|
352
352
|
declare function le<const L extends OrderSide, const R extends OrderSide>(left: L, right: R): Cmp<"le", L, R>;
|
|
@@ -430,22 +430,34 @@ declare function or<const C extends readonly AnyTreeChild[]>(...children: C): Tr
|
|
|
430
430
|
declare function not<R extends MatchOwner, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B): NotAtom<R, B>;
|
|
431
431
|
declare function not<Target extends RecTarget, const B extends Readonly<Record<string, AnyVar>>>(target: Target, bindings: B): NotIdbAtom<Target, B>;
|
|
432
432
|
/**
|
|
433
|
-
* Whether a variable's OWN field is
|
|
433
|
+
* Whether a variable's OWN field is NUMERIC (u64/i64) — the judgment the
|
|
434
|
+
* point side of `pointIn` and the `sum` input read: a point lives in the
|
|
435
|
+
* interval's element domain, and a quantifier is not an addition, so bool
|
|
436
|
+
* (orderable, never numeric) is exactly here refused. A CLOSED reference
|
|
434
437
|
* is excluded even though its kind is `u64`: a vocabulary's declaration-id
|
|
435
438
|
* order is an accident, not semantics (`docs/architecture/10-data-model.md`
|
|
436
439
|
* § orderability), so every order-comparison and fold position refuses
|
|
437
|
-
* closed-bound terms —
|
|
438
|
-
*
|
|
440
|
+
* closed-bound terms — the construction-time validations in
|
|
441
|
+
* `#query/lower.ts` are that ban's runtime twin.
|
|
439
442
|
*/
|
|
440
|
-
type
|
|
443
|
+
type NumericVarOk<V extends AnyVar> = V["field"] extends {
|
|
441
444
|
readonly closed: ClosedRoster;
|
|
442
445
|
} ? false : V["field"]["kind"] extends "u64" | "i64" ? true : false;
|
|
446
|
+
/**
|
|
447
|
+
* Whether a variable's OWN field is ORDERABLE (u64/i64/bool) — the one gate
|
|
448
|
+
* every order-comparison side, `min`/`max` input, and Arg key reads. Bool
|
|
449
|
+
* orders: `false < true`, the strict 0/1 encoding IS the order (ruled R3),
|
|
450
|
+
* exactly the engine's operand screen
|
|
451
|
+
* (`bumbledb/crates/bumbledb/src/ir/validate/context.rs`); bool has no
|
|
452
|
+
* closed variant, so the closed exclusion rides in {@link NumericVarOk}.
|
|
453
|
+
*/
|
|
454
|
+
type OrderVarOk<V extends AnyVar> = V["field"]["kind"] extends "bool" ? true : NumericVarOk<V>;
|
|
443
455
|
/** Whether a variable's OWN field is interval-typed. */
|
|
444
456
|
type IntervalVarOk<V extends AnyVar> = V["field"]["kind"] extends "interval" ? true : false;
|
|
445
457
|
/** One order-comparison side's judgment (off the term's own field). */
|
|
446
458
|
type OrderSideOk<T> = T extends AnyVar ? OrderVarOk<T> : T extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> : true;
|
|
447
|
-
/** One point side's judgment. */
|
|
448
|
-
type PointSideOk<T> = T extends AnyVar ?
|
|
459
|
+
/** One point side's judgment (numeric only — a point lives in the interval's element domain, never bool). */
|
|
460
|
+
type PointSideOk<T> = T extends AnyVar ? NumericVarOk<T> : true;
|
|
449
461
|
/** One interval side's judgment. */
|
|
450
462
|
type IntervalSideOk<T> = T extends AnyVar ? IntervalVarOk<T> : true;
|
|
451
463
|
/** The `eq`/`ne` judgment: var-var joins by mint slot; var-literal is exact-typed by the var's own field. */
|
|
@@ -498,8 +510,16 @@ type EqParams<L, R> = L extends AnyVar ? R extends Param<infer P extends string>
|
|
|
498
510
|
} : R extends SetParam<infer P extends string> ? {
|
|
499
511
|
readonly [Q in P]: readonly Infer<L["field"]>[];
|
|
500
512
|
} : never : never;
|
|
501
|
-
/**
|
|
502
|
-
|
|
513
|
+
/**
|
|
514
|
+
* An order side's params contribution, typed by the SIBLING side — the
|
|
515
|
+
* runtime anchors a param to its sibling variable's field, so a bool var
|
|
516
|
+
* orders against a `boolean` param; every var-less pairing stays `bigint`.
|
|
517
|
+
*/
|
|
518
|
+
type OrderSideParams<T, Sib> = T extends Param<infer P extends string> ? {
|
|
519
|
+
readonly [Q in P]: Sib extends AnyVar ? Infer<Sib["field"]> : bigint;
|
|
520
|
+
} : never;
|
|
521
|
+
/** The point side's params contribution (a point is always `bigint`). */
|
|
522
|
+
type PointParams<T> = T extends Param<infer P extends string> ? {
|
|
503
523
|
readonly [Q in P]: bigint;
|
|
504
524
|
} : never;
|
|
505
525
|
/** An interval side's params contribution. */
|
|
@@ -515,11 +535,11 @@ type MaskParams<M> = M extends MaskParam<infer P extends string> ? {
|
|
|
515
535
|
* them into the inferred `Params` record) — every param typed by its use.
|
|
516
536
|
* The leading arm is the same base case as {@link CondOkBool}'s.
|
|
517
537
|
*/
|
|
518
|
-
type CondParams<C> = [AnyTreeChild] extends [C] ? never : C extends Cmp<infer Op, infer L, infer R, infer M> ? Op extends "eq" | "ne" ? EqParams<L, R> : Op extends "lt" | "le" | "gt" | "ge" ? OrderSideParams<L> | OrderSideParams<R> : Op extends "pointIn" ? IntervalSideParams<L> |
|
|
538
|
+
type CondParams<C> = [AnyTreeChild] extends [C] ? never : C extends Cmp<infer Op, infer L, infer R, infer M> ? Op extends "eq" | "ne" ? EqParams<L, R> : Op extends "lt" | "le" | "gt" | "ge" ? OrderSideParams<L, R> | OrderSideParams<R, L> : Op extends "pointIn" ? IntervalSideParams<L> | PointParams<R> : Op extends "allen" ? IntervalSideParams<L> | IntervalSideParams<R> | MaskParams<M> : never : C extends Tree<infer Ch extends readonly AnyTreeChild[]> ? CondParams<Ch[number]> : C extends NotIdbAtom<infer T extends RecTarget, unknown> ? RecParamsOf<T> : C extends NotAtom<infer R extends MatchOwner, infer B> ? BindParams<MatchFields<R>, B> : never;
|
|
519
539
|
/** The flattened params record one bindings record contributes. */
|
|
520
540
|
type BindParamsShape<F extends FieldsShape, B> = ShapeOf<BindParams<F, B>>;
|
|
521
541
|
/** The flattened params record one condition contributes. */
|
|
522
542
|
type CondParamsShape<C> = ShapeOf<CondParams<C>>;
|
|
523
|
-
export type { AggData, AnyCmp, AnyCond, AnyNotAtom, AnyTreeChild, AtomData, BindingEntry, BindingInput, BindingTermData, BindParams, BindParamsShape, CheckBindings, CheckCond, Cmp, CmpData, CmpKind, CmpTermData, CondData, CondOkBool, CondParams, CondParamsShape, FindColumn, FindEntryData, IntervalSide, IntervalVarOk, MaskData, MatchFields, MatchOwner, MatchShape, NotAtom, NotIdbAtom, OrderSide, OrderVarOk, ParamUse, PointSide, RecData, RecTarget, RuleData, RuleItem, SlotAt, Tree, TreeData };
|
|
543
|
+
export type { AggData, AnyCmp, AnyCond, AnyNotAtom, AnyTreeChild, AtomData, BindingEntry, BindingInput, BindingTermData, BindParams, BindParamsShape, CheckBindings, CheckCond, Cmp, CmpData, CmpKind, CmpTermData, CondData, CondOkBool, CondParams, CondParamsShape, FindColumn, FindEntryData, IntervalSide, IntervalVarOk, MaskData, MatchFields, MatchOwner, MatchShape, NotAtom, NotIdbAtom, NumericVarOk, OrderSide, OrderVarOk, ParamUse, PointSide, RecData, RecTarget, RuleData, RuleItem, SlotAt, Tree, TreeData };
|
|
524
544
|
export { ALLEN, ALLEN_ALL_BITS, allen, and, comparison, eq, ge, gt, le, lt, ne, not, or, pointIn };
|
|
525
545
|
//# sourceMappingURL=atom.d.ts.map
|
package/dist/query/atom.d.ts.map
CHANGED
|
@@ -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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"}
|
package/dist/query/atom.js
CHANGED
|
@@ -62,7 +62,7 @@ function order(op, left, right) {
|
|
|
62
62
|
assertTermSide(op, left, right);
|
|
63
63
|
return comparison(op, left, right, undefined);
|
|
64
64
|
}
|
|
65
|
-
/** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only, never intervals/bytes/strings
|
|
65
|
+
/** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only (bool included: `false < true`, R3), never intervals/bytes/strings. */
|
|
66
66
|
function lt(left, right) {
|
|
67
67
|
return order("lt", left, right);
|
|
68
68
|
}
|
package/dist/query/atom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atom.js","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAkB/C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AA0SlD,mCAAmC;AACnC,SAAS,UAAU,CAA8B,EAAM,EAAE,GAAM,EAAE,GAAM,EAAE,IAAO;IAC/E,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;AAC1D,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,EAAU,EAAE,GAAY,EAAE,GAAY;IAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,CAAC,GAAG,CACf,GAAG,EAAE,mGAAmG,CACxG,CAAA;IACF,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,EAAE,CAA4C,IAAO,EAAE,KAAQ;IACvE,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AAED,gGAAgG;AAChG,SAAS,EAAE,CAA4C,IAAO,EAAE,KAAQ;IACvE,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AAED,+CAA+C;AAC/C,SAAS,KAAK,CACb,EAAM,EACN,IAAO,EACP,KAAQ;IAER,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAC/B,OAAO,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAC9C,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"atom.js","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}
|
package/dist/query/find.d.ts
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import type { Infer } from "#fields.ts";
|
|
22
22
|
import type { SchemaClasses } from "#law.ts";
|
|
23
|
-
import type { IntervalVarOk, OrderVarOk } from "#query/atom.ts";
|
|
23
|
+
import type { IntervalVarOk, NumericVarOk, OrderVarOk } from "#query/atom.ts";
|
|
24
24
|
import type { AnyVar, Duration, MintSlotOf } from "#query/scope.ts";
|
|
25
25
|
/** One aggregate operator name of the find vocabulary. */
|
|
26
26
|
type AggOpName = "count" | "countDistinct" | "sum" | "min" | "max" | "argMax" | "argMin" | "pack";
|
|
@@ -45,14 +45,15 @@ declare function count(): Agg<"count", undefined>;
|
|
|
45
45
|
/** |the distinct values of the variable across the group|, `bigint`; legal over every type. */
|
|
46
46
|
declare function countDistinct<const V extends AnyVar>(over: V): Agg<"countDistinct", V>;
|
|
47
47
|
/**
|
|
48
|
-
* Exact checked sum over
|
|
49
|
-
*
|
|
50
|
-
*
|
|
48
|
+
* Exact checked sum over a NUMERIC (u64/i64) variable — wide accumulator,
|
|
49
|
+
* one finalize range check; overflow is the engine's typed runtime error —
|
|
50
|
+
* or over the measure (`r.sum(r.duration(w))`). Bool stays refused: a
|
|
51
|
+
* quantifier is not an addition (R3).
|
|
51
52
|
*/
|
|
52
53
|
declare function sum<const O extends AnyVar | Duration>(over: O): Agg<"sum", O>;
|
|
53
|
-
/** Minimum over an orderable variable
|
|
54
|
+
/** Minimum over an orderable variable (u64/i64/bool — over bool, `Min` is the ALL quantifier; R3) or the measure. */
|
|
54
55
|
declare function min<const O extends AnyVar | Duration>(over: O): Agg<"min", O>;
|
|
55
|
-
/** Maximum over an orderable variable
|
|
56
|
+
/** Maximum over an orderable variable (u64/i64/bool — over bool, `Max` is the ANY quantifier; R3) or the measure. */
|
|
56
57
|
declare function max<const O extends AnyVar | Duration>(over: O): Agg<"max", O>;
|
|
57
58
|
/**
|
|
58
59
|
* Arg-restriction toward the maximum of `key` (`ir::AggOp::ArgMax`): the
|
|
@@ -72,14 +73,24 @@ declare function argMin<const V extends AnyVar, const K extends AnyVar>(value: V
|
|
|
72
73
|
* type. At most one `pack` per find, never beside a fold or an Arg entry.
|
|
73
74
|
*/
|
|
74
75
|
declare function pack<const V extends AnyVar>(over: V): Agg<"pack", V>;
|
|
75
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* A `sum` input's judgment: a NUMERIC variable — Sum over bool stays
|
|
78
|
+
* refused, a quantifier is not an addition (R3) — or the measure of an
|
|
79
|
+
* interval variable.
|
|
80
|
+
*/
|
|
81
|
+
type SumOverOk<O> = O extends AnyVar ? NumericVarOk<O> : O extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> : false;
|
|
82
|
+
/**
|
|
83
|
+
* A `min`/`max` input's judgment: an ORDERABLE variable — bool folds:
|
|
84
|
+
* `Max` is Any and `Min` is All, the two quantifiers as the 0/1 encoding's
|
|
85
|
+
* extremes (R3) — or the measure of an interval variable.
|
|
86
|
+
*/
|
|
76
87
|
type FoldOverOk<O> = O extends AnyVar ? OrderVarOk<O> : O extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> : false;
|
|
77
88
|
/**
|
|
78
89
|
* One find entry's judgment (off the entry's own descriptor — no env, no
|
|
79
90
|
* class map needed): a projected variable is ok, the measure and `pack`
|
|
80
91
|
* demand interval-typed variables, folds and Arg keys demand orderable ones.
|
|
81
92
|
*/
|
|
82
|
-
type FindEntryOk<E> = E extends AnyVar ? true : E extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> : E extends Agg<"count", undefined> ? true : E extends Agg<"countDistinct", AnyVar> ? true : E extends Agg<"sum"
|
|
93
|
+
type FindEntryOk<E> = E extends AnyVar ? true : E extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> : E extends Agg<"count", undefined> ? true : E extends Agg<"countDistinct", AnyVar> ? true : E extends Agg<"sum", infer O> ? SumOverOk<O> : E extends Agg<"min" | "max", infer O> ? FoldOverOk<O> : E extends Agg<"argMax" | "argMin", AnyVar, infer K extends AnyVar> ? OrderVarOk<K> extends true ? true : false : E extends Agg<"pack", infer V extends AnyVar> ? IntervalVarOk<V> : false;
|
|
83
94
|
/** The validated find record (intersect with the inferred entries — errors land on the offending key). */
|
|
84
95
|
type CheckFind<F extends FindShape> = {
|
|
85
96
|
readonly [K in keyof F]: FindEntryOk<F[K]> extends true ? F[K] : never;
|
package/dist/query/find.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"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"}
|
package/dist/query/find.js
CHANGED
|
@@ -31,18 +31,19 @@ function countDistinct(over) {
|
|
|
31
31
|
return aggregate("countDistinct", over, undefined);
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
|
-
* Exact checked sum over
|
|
35
|
-
*
|
|
36
|
-
*
|
|
34
|
+
* Exact checked sum over a NUMERIC (u64/i64) variable — wide accumulator,
|
|
35
|
+
* one finalize range check; overflow is the engine's typed runtime error —
|
|
36
|
+
* or over the measure (`r.sum(r.duration(w))`). Bool stays refused: a
|
|
37
|
+
* quantifier is not an addition (R3).
|
|
37
38
|
*/
|
|
38
39
|
function sum(over) {
|
|
39
40
|
return aggregate("sum", over, undefined);
|
|
40
41
|
}
|
|
41
|
-
/** Minimum over an orderable variable
|
|
42
|
+
/** Minimum over an orderable variable (u64/i64/bool — over bool, `Min` is the ALL quantifier; R3) or the measure. */
|
|
42
43
|
function min(over) {
|
|
43
44
|
return aggregate("min", over, undefined);
|
|
44
45
|
}
|
|
45
|
-
/** Maximum over an orderable variable
|
|
46
|
+
/** Maximum over an orderable variable (u64/i64/bool — over bool, `Max` is the ANY quantifier; R3) or the measure. */
|
|
46
47
|
function max(over) {
|
|
47
48
|
return aggregate("max", over, undefined);
|
|
48
49
|
}
|
package/dist/query/find.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAkCH,kCAAkC;AAClC,SAAS,SAAS,CACjB,EAAM,EACN,IAAU,EACV,GAAQ;IAER,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,4EAA4E;AAC5E,SAAS,KAAK;IACb,OAAO,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AAED,+FAA+F;AAC/F,SAAS,aAAa,CAAyB,IAAO;IACrD,OAAO,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACnD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAkCH,kCAAkC;AAClC,SAAS,SAAS,CACjB,EAAM,EACN,IAAU,EACV,GAAQ;IAER,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,4EAA4E;AAC5E,SAAS,KAAK;IACb,OAAO,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AAED,+FAA+F;AAC/F,SAAS,aAAa,CAAyB,IAAO;IACrD,OAAO,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACnD,CAAC;AAED;;;;;GAKG;AACH,SAAS,GAAG,CAAoC,IAAO;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACzC,CAAC;AAED,qHAAqH;AACrH,SAAS,GAAG,CAAoC,IAAO;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACzC,CAAC;AAED,qHAAqH;AACrH,SAAS,GAAG,CAAoC,IAAO;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACzC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,MAAM,CAAiD,KAAQ,EAAE,GAAM;IAC/E,OAAO,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC;AAED,4EAA4E;AAC5E,SAAS,MAAM,CAAiD,KAAQ,EAAE,GAAM;IAC/E,OAAO,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,IAAI,CAAyB,IAAO;IAC5C,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AAC1C,CAAC;AAgHD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bjornpagen/bumbledb",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Type-theoretic TypeScript SDK for the bumbledb embedded relational engine",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -40,9 +40,6 @@
|
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@superbuilders/errors": "^4.0.2"
|
|
42
42
|
},
|
|
43
|
-
"optionalDependencies": {
|
|
44
|
-
"@bjornpagen/bumbledb-darwin-arm64": "0.8.0"
|
|
45
|
-
},
|
|
46
43
|
"devDependencies": {
|
|
47
44
|
"@biomejs/biome": "^2.0.0-beta.5",
|
|
48
45
|
"@types/node": "^26.1.0",
|
|
@@ -55,6 +52,9 @@
|
|
|
55
52
|
"access": "public"
|
|
56
53
|
},
|
|
57
54
|
"private": false,
|
|
55
|
+
"optionalDependencies": {
|
|
56
|
+
"@bjornpagen/bumbledb-darwin-arm64": "0.9.0"
|
|
57
|
+
},
|
|
58
58
|
"scripts": {
|
|
59
59
|
"build": "node scripts/build.ts",
|
|
60
60
|
"typecheck": "tsc --noEmit",
|
package/src/index.ts
CHANGED
|
@@ -119,7 +119,7 @@ export type {
|
|
|
119
119
|
Staleness,
|
|
120
120
|
StatementKindTag
|
|
121
121
|
} from "#native.ts"
|
|
122
|
-
export type { Desc, SortKey } from "#order.ts"
|
|
122
|
+
export type { Desc, EngineOrderable, SortKey } from "#order.ts"
|
|
123
123
|
export { by, desc } from "#order.ts"
|
|
124
124
|
|
|
125
125
|
export type {
|
package/src/order.ts
CHANGED
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
* `by(...)` into one row-typed comparator. Cross-type cells cannot arise
|
|
11
11
|
* within one column (one column, one domain), and the cell order is TOTAL
|
|
12
12
|
* anyway (the type-rank wall), so the comparator never throws.
|
|
13
|
+
*
|
|
14
|
+
* ZERO keys is the identity key (ruled 2026-07-25): `by()` / `desc()` are
|
|
15
|
+
* the same two spellings over BARE scalar arrays (`bigint[]` of ids, map
|
|
16
|
+
* keys) — with no column to name, the value itself is the key, there is
|
|
17
|
+
* nothing to fold, and the comparator IS the result. One ordering
|
|
18
|
+
* vocabulary, no sibling names. The identity arms are typed to EXACTLY the
|
|
19
|
+
* engine-orderable roster ({@link EngineOrderable}) because a bare scalar
|
|
20
|
+
* carries no decoded-row provenance — the type wall must carry the
|
|
21
|
+
* orderability law itself, where the row arm's cells arrive under their
|
|
22
|
+
* columns' law-typed proof.
|
|
13
23
|
*/
|
|
14
24
|
|
|
15
25
|
import type { FactValue } from "#native.ts"
|
|
@@ -23,6 +33,23 @@ interface Desc<K extends string> {
|
|
|
23
33
|
/** One sort key: a bare column name (ascending — the punning spelling) or `desc(name)`. */
|
|
24
34
|
type SortKey<K extends string> = K | Desc<K>
|
|
25
35
|
|
|
36
|
+
/**
|
|
37
|
+
* The engine-orderable scalar roster in the SDK's representation — `bigint`
|
|
38
|
+
* (U64/I64) and `boolean` (false < true — the strict 0/1 encoding IS the
|
|
39
|
+
* order), EXACTLY as `docs/architecture/10-data-model.md` § "Orderability,
|
|
40
|
+
* complete" admits it (ruled 2026-07-23, R3/R4), and nothing more:
|
|
41
|
+
* `string` is deliberately absent (intern ids are meaningless to order — a
|
|
42
|
+
* typed refusal, not a gap) and `number` is not an engine scalar at all.
|
|
43
|
+
* The identity comparators `by()`/`desc()` constrain on this alias, so
|
|
44
|
+
* sorting a `string[]` or `number[]` through them is a COMPILE error naming
|
|
45
|
+
* this roster. ONE OWNER for scalar ordering semantics: both identity arms
|
|
46
|
+
* route through the same cell order the row arm uses, whose bigint and
|
|
47
|
+
* boolean arms mirror the engine's U64/I64/Bool order exactly — a host
|
|
48
|
+
* sort over these values can never disagree with an engine order judgment
|
|
49
|
+
* (`Lt`-family, `Min`/`Max`) over the same column.
|
|
50
|
+
*/
|
|
51
|
+
type EngineOrderable = bigint | boolean
|
|
52
|
+
|
|
26
53
|
/**
|
|
27
54
|
* The type-rank wall: boolean 0, bigint 1, string 2, bytes 3, interval 4.
|
|
28
55
|
* One column carries one domain, so a mixed pair never arises from decoded
|
|
@@ -116,8 +143,38 @@ function cellCmp(left: FactValue, right: FactValue): number {
|
|
|
116
143
|
return cellRank(left) - cellRank(right)
|
|
117
144
|
}
|
|
118
145
|
|
|
119
|
-
/**
|
|
120
|
-
|
|
146
|
+
/**
|
|
147
|
+
* The ascending identity comparator `by()` returns — one value, minted
|
|
148
|
+
* once (`by() === by()`), {@link cellCmp} narrowed to the engine-orderable
|
|
149
|
+
* roster (the one owner of the cell order).
|
|
150
|
+
*/
|
|
151
|
+
function identityAscending<T extends EngineOrderable>(left: T, right: T): number {
|
|
152
|
+
return cellCmp(left, right)
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/** The descending identity comparator `desc()` returns — the same owner, sides flipped. */
|
|
156
|
+
function identityDescending<T extends EngineOrderable>(left: T, right: T): number {
|
|
157
|
+
return cellCmp(right, left)
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* The descending spelling — ONE name, both arities of one ordering
|
|
162
|
+
* vocabulary. `desc(name)` marks one sort key DESCENDING: plain data for
|
|
163
|
+
* {@link by} to fold (a bare name is already ascending). `desc()` — zero
|
|
164
|
+
* keys, the identity key (ruled 2026-07-25) — is the descending comparator
|
|
165
|
+
* over engine-orderable scalars themselves: a bare `bigint[]` or
|
|
166
|
+
* `boolean[]` has no column to name, so the value IS the key, there is
|
|
167
|
+
* nothing to fold, and the comparator is the result directly. The identity
|
|
168
|
+
* arm covers EXACTLY the {@link EngineOrderable} roster — `string` and
|
|
169
|
+
* `number` refuse at compile time, citing the orderability law
|
|
170
|
+
* (`10-data-model.md` § "Orderability, complete").
|
|
171
|
+
*/
|
|
172
|
+
function desc(): <T extends EngineOrderable>(left: T, right: T) => number
|
|
173
|
+
function desc<const K extends string>(key: K): Desc<K>
|
|
174
|
+
function desc<const K extends string>(key?: K): Desc<K> | (<T extends EngineOrderable>(left: T, right: T) => number) {
|
|
175
|
+
if (key === undefined) {
|
|
176
|
+
return identityDescending
|
|
177
|
+
}
|
|
121
178
|
const marker: Desc<K> = { key, desc: true }
|
|
122
179
|
return Object.freeze(marker)
|
|
123
180
|
}
|
|
@@ -130,12 +187,33 @@ function desc<const K extends string>(key: K): Desc<K> {
|
|
|
130
187
|
* carries that proof here (parse-don't-validate). The generic RETURN is the
|
|
131
188
|
* load-bearing trick: `rows.sort(by("rank"))` instantiates `Row` from the
|
|
132
189
|
* array's own element type and checks the key set right there.
|
|
190
|
+
*
|
|
191
|
+
* ZERO keys is the identity key (ruled 2026-07-25): `by()` is the
|
|
192
|
+
* ascending comparator over engine-orderable scalars themselves —
|
|
193
|
+
* `ids.sort(by())` — for the bare arrays (`bigint[]`, map keys) the
|
|
194
|
+
* row-typed arm cannot reach because they have no column to name. One
|
|
195
|
+
* vocabulary, both arities. The identity arm is typed to EXACTLY the
|
|
196
|
+
* {@link EngineOrderable} roster: with no law-typed column standing proof
|
|
197
|
+
* over the values, the type wall carries the orderability law itself —
|
|
198
|
+
* `string` ordering is deliberately refused and `number` is not an engine
|
|
199
|
+
* scalar (`10-data-model.md` § "Orderability, complete"), so both refuse
|
|
200
|
+
* at compile time and a host sort can never disagree with an engine order
|
|
201
|
+
* judgment.
|
|
133
202
|
*/
|
|
203
|
+
function by(): <T extends EngineOrderable>(left: T, right: T) => number
|
|
134
204
|
function by<const K extends string>(
|
|
135
205
|
first: SortKey<K>,
|
|
136
206
|
...rest: ReadonlyArray<SortKey<K>>
|
|
137
|
-
): <Row extends Readonly<Record<K, FactValue>>>(left: Row, right: Row) => number
|
|
138
|
-
|
|
207
|
+
): <Row extends Readonly<Record<K, FactValue>>>(left: Row, right: Row) => number
|
|
208
|
+
function by<const K extends string>(
|
|
209
|
+
...keys: ReadonlyArray<SortKey<K>>
|
|
210
|
+
):
|
|
211
|
+
| (<T extends EngineOrderable>(left: T, right: T) => number)
|
|
212
|
+
| (<Row extends Readonly<Record<K, FactValue>>>(left: Row, right: Row) => number) {
|
|
213
|
+
if (keys.length === 0) {
|
|
214
|
+
return identityAscending
|
|
215
|
+
}
|
|
216
|
+
const entries = keys.map(function normalizeKey(sortKey): { readonly key: K; readonly factor: 1 | -1 } {
|
|
139
217
|
if (typeof sortKey === "string") {
|
|
140
218
|
return { key: sortKey, factor: 1 }
|
|
141
219
|
}
|
|
@@ -152,5 +230,5 @@ function by<const K extends string>(
|
|
|
152
230
|
}
|
|
153
231
|
}
|
|
154
232
|
|
|
155
|
-
export type { Desc, SortKey }
|
|
233
|
+
export type { Desc, EngineOrderable, SortKey }
|
|
156
234
|
export { by, desc }
|
package/src/query/atom.ts
CHANGED
|
@@ -335,8 +335,8 @@ type EqRight = AnyVar | Param<string> | SetParam<string> | bigint | string | boo
|
|
|
335
335
|
/** What `ne`'s right side accepts. */
|
|
336
336
|
type NeRight = AnyVar | Param<string> | bigint | string | boolean | Uint8Array | IntervalValue
|
|
337
337
|
|
|
338
|
-
/** One side of an order comparison: orderable terms only (the IR's comparison rules). */
|
|
339
|
-
type OrderSide = AnyVar | Param<string> | Duration | bigint
|
|
338
|
+
/** One side of an order comparison: orderable terms only (the IR's comparison rules — bool orders, `false < true`, R3). */
|
|
339
|
+
type OrderSide = AnyVar | Param<string> | Duration | bigint | boolean
|
|
340
340
|
|
|
341
341
|
/** The point side of `pointIn`. */
|
|
342
342
|
type PointSide = AnyVar | Param<string> | bigint
|
|
@@ -388,7 +388,7 @@ function order<Op extends "lt" | "le" | "gt" | "ge", const L extends OrderSide,
|
|
|
388
388
|
return comparison(op, left, right, undefined)
|
|
389
389
|
}
|
|
390
390
|
|
|
391
|
-
/** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only, never intervals/bytes/strings
|
|
391
|
+
/** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only (bool included: `false < true`, R3), never intervals/bytes/strings. */
|
|
392
392
|
function lt<const L extends OrderSide, const R extends OrderSide>(left: L, right: R): Cmp<"lt", L, R> {
|
|
393
393
|
return order("lt", left, right)
|
|
394
394
|
}
|
|
@@ -531,19 +531,32 @@ function isRecTarget(value: MatchOwner | RecTarget): value is RecTarget {
|
|
|
531
531
|
}
|
|
532
532
|
|
|
533
533
|
/**
|
|
534
|
-
* Whether a variable's OWN field is
|
|
534
|
+
* Whether a variable's OWN field is NUMERIC (u64/i64) — the judgment the
|
|
535
|
+
* point side of `pointIn` and the `sum` input read: a point lives in the
|
|
536
|
+
* interval's element domain, and a quantifier is not an addition, so bool
|
|
537
|
+
* (orderable, never numeric) is exactly here refused. A CLOSED reference
|
|
535
538
|
* is excluded even though its kind is `u64`: a vocabulary's declaration-id
|
|
536
539
|
* order is an accident, not semantics (`docs/architecture/10-data-model.md`
|
|
537
540
|
* § orderability), so every order-comparison and fold position refuses
|
|
538
|
-
* closed-bound terms —
|
|
539
|
-
*
|
|
541
|
+
* closed-bound terms — the construction-time validations in
|
|
542
|
+
* `#query/lower.ts` are that ban's runtime twin.
|
|
540
543
|
*/
|
|
541
|
-
type
|
|
544
|
+
type NumericVarOk<V extends AnyVar> = V["field"] extends { readonly closed: ClosedRoster }
|
|
542
545
|
? false
|
|
543
546
|
: V["field"]["kind"] extends "u64" | "i64"
|
|
544
547
|
? true
|
|
545
548
|
: false
|
|
546
549
|
|
|
550
|
+
/**
|
|
551
|
+
* Whether a variable's OWN field is ORDERABLE (u64/i64/bool) — the one gate
|
|
552
|
+
* every order-comparison side, `min`/`max` input, and Arg key reads. Bool
|
|
553
|
+
* orders: `false < true`, the strict 0/1 encoding IS the order (ruled R3),
|
|
554
|
+
* exactly the engine's operand screen
|
|
555
|
+
* (`bumbledb/crates/bumbledb/src/ir/validate/context.rs`); bool has no
|
|
556
|
+
* closed variant, so the closed exclusion rides in {@link NumericVarOk}.
|
|
557
|
+
*/
|
|
558
|
+
type OrderVarOk<V extends AnyVar> = V["field"]["kind"] extends "bool" ? true : NumericVarOk<V>
|
|
559
|
+
|
|
547
560
|
/** Whether a variable's OWN field is interval-typed. */
|
|
548
561
|
type IntervalVarOk<V extends AnyVar> = V["field"]["kind"] extends "interval" ? true : false
|
|
549
562
|
|
|
@@ -554,8 +567,8 @@ type OrderSideOk<T> = T extends AnyVar
|
|
|
554
567
|
? IntervalVarOk<V>
|
|
555
568
|
: true
|
|
556
569
|
|
|
557
|
-
/** One point side's judgment. */
|
|
558
|
-
type PointSideOk<T> = T extends AnyVar ?
|
|
570
|
+
/** One point side's judgment (numeric only — a point lives in the interval's element domain, never bool). */
|
|
571
|
+
type PointSideOk<T> = T extends AnyVar ? NumericVarOk<T> : true
|
|
559
572
|
|
|
560
573
|
/** One interval side's judgment. */
|
|
561
574
|
type IntervalSideOk<T> = T extends AnyVar ? IntervalVarOk<T> : true
|
|
@@ -677,8 +690,18 @@ type EqParams<L, R> = L extends AnyVar
|
|
|
677
690
|
: never
|
|
678
691
|
: never
|
|
679
692
|
|
|
680
|
-
/**
|
|
681
|
-
|
|
693
|
+
/**
|
|
694
|
+
* An order side's params contribution, typed by the SIBLING side — the
|
|
695
|
+
* runtime anchors a param to its sibling variable's field, so a bool var
|
|
696
|
+
* orders against a `boolean` param; every var-less pairing stays `bigint`.
|
|
697
|
+
*/
|
|
698
|
+
type OrderSideParams<T, Sib> =
|
|
699
|
+
T extends Param<infer P extends string>
|
|
700
|
+
? { readonly [Q in P]: Sib extends AnyVar ? Infer<Sib["field"]> : bigint }
|
|
701
|
+
: never
|
|
702
|
+
|
|
703
|
+
/** The point side's params contribution (a point is always `bigint`). */
|
|
704
|
+
type PointParams<T> = T extends Param<infer P extends string> ? { readonly [Q in P]: bigint } : never
|
|
682
705
|
|
|
683
706
|
/** An interval side's params contribution. */
|
|
684
707
|
type IntervalSideParams<T> = T extends Param<infer P extends string> ? { readonly [Q in P]: IntervalValue } : never
|
|
@@ -697,9 +720,9 @@ type CondParams<C> = [AnyTreeChild] extends [C]
|
|
|
697
720
|
? Op extends "eq" | "ne"
|
|
698
721
|
? EqParams<L, R>
|
|
699
722
|
: Op extends "lt" | "le" | "gt" | "ge"
|
|
700
|
-
? OrderSideParams<L> | OrderSideParams<R>
|
|
723
|
+
? OrderSideParams<L, R> | OrderSideParams<R, L>
|
|
701
724
|
: Op extends "pointIn"
|
|
702
|
-
? IntervalSideParams<L> |
|
|
725
|
+
? IntervalSideParams<L> | PointParams<R>
|
|
703
726
|
: Op extends "allen"
|
|
704
727
|
? IntervalSideParams<L> | IntervalSideParams<R> | MaskParams<M>
|
|
705
728
|
: never
|
|
@@ -749,6 +772,7 @@ export type {
|
|
|
749
772
|
MatchShape,
|
|
750
773
|
NotAtom,
|
|
751
774
|
NotIdbAtom,
|
|
775
|
+
NumericVarOk,
|
|
752
776
|
OrderSide,
|
|
753
777
|
OrderVarOk,
|
|
754
778
|
ParamUse,
|
package/src/query/find.ts
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
import type { Infer } from "#fields.ts"
|
|
23
23
|
import type { SchemaClasses } from "#law.ts"
|
|
24
|
-
import type { IntervalVarOk, OrderVarOk } from "#query/atom.ts"
|
|
24
|
+
import type { IntervalVarOk, NumericVarOk, OrderVarOk } from "#query/atom.ts"
|
|
25
25
|
import type { AnyVar, Duration, MintSlotOf } from "#query/scope.ts"
|
|
26
26
|
|
|
27
27
|
/** One aggregate operator name of the find vocabulary. */
|
|
@@ -71,20 +71,21 @@ function countDistinct<const V extends AnyVar>(over: V): Agg<"countDistinct", V>
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
|
-
* Exact checked sum over
|
|
75
|
-
*
|
|
76
|
-
*
|
|
74
|
+
* Exact checked sum over a NUMERIC (u64/i64) variable — wide accumulator,
|
|
75
|
+
* one finalize range check; overflow is the engine's typed runtime error —
|
|
76
|
+
* or over the measure (`r.sum(r.duration(w))`). Bool stays refused: a
|
|
77
|
+
* quantifier is not an addition (R3).
|
|
77
78
|
*/
|
|
78
79
|
function sum<const O extends AnyVar | Duration>(over: O): Agg<"sum", O> {
|
|
79
80
|
return aggregate("sum", over, undefined)
|
|
80
81
|
}
|
|
81
82
|
|
|
82
|
-
/** Minimum over an orderable variable
|
|
83
|
+
/** Minimum over an orderable variable (u64/i64/bool — over bool, `Min` is the ALL quantifier; R3) or the measure. */
|
|
83
84
|
function min<const O extends AnyVar | Duration>(over: O): Agg<"min", O> {
|
|
84
85
|
return aggregate("min", over, undefined)
|
|
85
86
|
}
|
|
86
87
|
|
|
87
|
-
/** Maximum over an orderable variable
|
|
88
|
+
/** Maximum over an orderable variable (u64/i64/bool — over bool, `Max` is the ANY quantifier; R3) or the measure. */
|
|
88
89
|
function max<const O extends AnyVar | Duration>(over: O): Agg<"max", O> {
|
|
89
90
|
return aggregate("max", over, undefined)
|
|
90
91
|
}
|
|
@@ -116,7 +117,22 @@ function pack<const V extends AnyVar>(over: V): Agg<"pack", V> {
|
|
|
116
117
|
return aggregate("pack", over, undefined)
|
|
117
118
|
}
|
|
118
119
|
|
|
119
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* A `sum` input's judgment: a NUMERIC variable — Sum over bool stays
|
|
122
|
+
* refused, a quantifier is not an addition (R3) — or the measure of an
|
|
123
|
+
* interval variable.
|
|
124
|
+
*/
|
|
125
|
+
type SumOverOk<O> = O extends AnyVar
|
|
126
|
+
? NumericVarOk<O>
|
|
127
|
+
: O extends Duration<infer V extends AnyVar>
|
|
128
|
+
? IntervalVarOk<V>
|
|
129
|
+
: false
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* A `min`/`max` input's judgment: an ORDERABLE variable — bool folds:
|
|
133
|
+
* `Max` is Any and `Min` is All, the two quantifiers as the 0/1 encoding's
|
|
134
|
+
* extremes (R3) — or the measure of an interval variable.
|
|
135
|
+
*/
|
|
120
136
|
type FoldOverOk<O> = O extends AnyVar
|
|
121
137
|
? OrderVarOk<O>
|
|
122
138
|
: O extends Duration<infer V extends AnyVar>
|
|
@@ -136,15 +152,17 @@ type FindEntryOk<E> = E extends AnyVar
|
|
|
136
152
|
? true
|
|
137
153
|
: E extends Agg<"countDistinct", AnyVar>
|
|
138
154
|
? true
|
|
139
|
-
: E extends Agg<"sum"
|
|
140
|
-
?
|
|
141
|
-
: E extends Agg<"
|
|
142
|
-
?
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
:
|
|
155
|
+
: E extends Agg<"sum", infer O>
|
|
156
|
+
? SumOverOk<O>
|
|
157
|
+
: E extends Agg<"min" | "max", infer O>
|
|
158
|
+
? FoldOverOk<O>
|
|
159
|
+
: E extends Agg<"argMax" | "argMin", AnyVar, infer K extends AnyVar>
|
|
160
|
+
? OrderVarOk<K> extends true
|
|
161
|
+
? true
|
|
162
|
+
: false
|
|
163
|
+
: E extends Agg<"pack", infer V extends AnyVar>
|
|
164
|
+
? IntervalVarOk<V>
|
|
165
|
+
: false
|
|
148
166
|
|
|
149
167
|
/** The validated find record (intersect with the inferred entries — errors land on the offending key). */
|
|
150
168
|
type CheckFind<F extends FindShape> = {
|