@bjornpagen/bumbledb 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COOKBOOK.md +155 -136
- package/README.md +3 -7
- package/dist/capacity.d.ts +14 -1
- package/dist/capacity.d.ts.map +1 -1
- package/dist/capacity.js.map +1 -1
- package/dist/db.d.ts +77 -109
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +121 -339
- package/dist/db.js.map +1 -1
- package/dist/index.d.ts +11 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -10
- package/dist/index.js.map +1 -1
- package/dist/lower.d.ts.map +1 -1
- package/dist/lower.js +8 -1
- package/dist/lower.js.map +1 -1
- package/dist/native.d.ts +69 -50
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js.map +1 -1
- package/dist/query/atom.d.ts +162 -122
- package/dist/query/atom.d.ts.map +1 -1
- package/dist/query/atom.js +26 -22
- package/dist/query/atom.js.map +1 -1
- package/dist/query/find.d.ts +18 -35
- package/dist/query/find.d.ts.map +1 -1
- package/dist/query/find.js +13 -32
- package/dist/query/find.js.map +1 -1
- package/dist/query/lower.d.ts +113 -122
- package/dist/query/lower.d.ts.map +1 -1
- package/dist/query/lower.js +336 -260
- package/dist/query/lower.js.map +1 -1
- package/dist/query/parse-ir.d.ts +12 -0
- package/dist/query/parse-ir.d.ts.map +1 -0
- package/dist/query/parse-ir.js +71 -0
- package/dist/query/parse-ir.js.map +1 -0
- package/dist/query/run.d.ts +2 -2
- package/dist/query/run.d.ts.map +1 -1
- package/dist/query/run.js +2 -13
- package/dist/query/run.js.map +1 -1
- package/dist/query/scope.d.ts +4 -16
- package/dist/query/scope.d.ts.map +1 -1
- package/dist/query/scope.js +1 -6
- package/dist/query/scope.js.map +1 -1
- package/dist/schema.js +2 -2
- package/dist/schema.js.map +1 -1
- package/dist/statements.d.ts +15 -9
- package/dist/statements.d.ts.map +1 -1
- package/dist/statements.js +14 -9
- package/dist/statements.js.map +1 -1
- package/package.json +2 -2
- package/src/capacity.ts +24 -1
- package/src/db.ts +182 -443
- package/src/index.ts +9 -23
- package/src/lower.ts +8 -1
- package/src/native.ts +69 -42
- package/src/query/atom.ts +255 -165
- package/src/query/find.ts +39 -80
- package/src/query/lower.ts +578 -432
- package/src/query/parse-ir.ts +82 -0
- package/src/query/run.ts +2 -14
- package/src/query/scope.ts +3 -21
- package/src/schema.ts +2 -2
- package/src/statements.ts +33 -17
- package/dist/order.d.ts +0 -87
- package/dist/order.d.ts.map +0 -1
- package/dist/order.js +0 -153
- package/dist/order.js.map +0 -1
- package/dist/query/predicate.d.ts +0 -91
- package/dist/query/predicate.d.ts.map +0 -1
- package/dist/query/predicate.js +0 -156
- package/dist/query/predicate.js.map +0 -1
- package/src/order.ts +0 -234
- package/src/query/predicate.ts +0 -269
package/dist/statements.d.ts
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
* `Db.create`/`Db.open` (the two-boundary split, engine as final
|
|
34
34
|
* authority).
|
|
35
35
|
*/
|
|
36
|
-
import { type BoundsOnTarget, type CapacityWeight, type CapacityWindow, type UnitWindowBan, type WeightOnSource } from "#capacity.ts";
|
|
36
|
+
import { type BoundsOnTarget, type CapacityWeight, type CapacityWindow, type UnitDimensionBan, type UnitWindowBan, type WeightOnSource } from "#capacity.ts";
|
|
37
37
|
import { type AnyFace, type FaceData, type SameArity, type SameShapes } from "#face.ts";
|
|
38
38
|
import type { AnyRelation, RelationFields } from "#relation.ts";
|
|
39
39
|
import { type CapacityWindowSpec, type WeightSpec } from "#spec.ts";
|
|
@@ -54,7 +54,11 @@ interface ContainmentData<Src extends FaceData = FaceData, Tgt extends FaceData
|
|
|
54
54
|
readonly kind: "containment";
|
|
55
55
|
readonly source: Src;
|
|
56
56
|
readonly target: Tgt;
|
|
57
|
-
|
|
57
|
+
}
|
|
58
|
+
interface MirrorsData<Src extends FaceData = FaceData, Tgt extends FaceData = FaceData> {
|
|
59
|
+
readonly kind: "mirrors";
|
|
60
|
+
readonly source: Src;
|
|
61
|
+
readonly target: Tgt;
|
|
58
62
|
}
|
|
59
63
|
/**
|
|
60
64
|
* A capacity statement's runtime description — target-left, in the
|
|
@@ -70,7 +74,7 @@ interface CapacityData<Tgt extends FaceData = FaceData, Src extends FaceData = F
|
|
|
70
74
|
readonly source: Src;
|
|
71
75
|
}
|
|
72
76
|
/** One statement's runtime description, tagged by form. */
|
|
73
|
-
type StatementData = KeyData<AnyRelation, readonly string[]> | ContainmentData | CapacityData;
|
|
77
|
+
type StatementData = KeyData<AnyRelation, readonly string[]> | ContainmentData | MirrorsData | CapacityData;
|
|
74
78
|
/**
|
|
75
79
|
* The admission brand — a module-private symbol, deliberately unexported
|
|
76
80
|
* (the `capacity.ts` pattern): `Statement` is a public structural type, so
|
|
@@ -104,7 +108,7 @@ declare function isStatement(value: unknown): value is Statement;
|
|
|
104
108
|
* {@link Statement}.
|
|
105
109
|
*/
|
|
106
110
|
interface ContainedStatement<Src extends FaceData, Tgt extends FaceData> extends Statement {
|
|
107
|
-
readonly data: ContainmentData<Src, Tgt>;
|
|
111
|
+
readonly data: ContainmentData<Src, Tgt> | MirrorsData<Src, Tgt>;
|
|
108
112
|
}
|
|
109
113
|
/** A capacity statement as a TYPED value — the {@link ContainedStatement} of the capacity form. */
|
|
110
114
|
interface CapacityStatement<Tgt extends FaceData, Src extends FaceData> extends Statement {
|
|
@@ -168,11 +172,13 @@ declare function mirrors<A extends AnyFace, B extends AnyFace>(source: A, target
|
|
|
168
172
|
* on(Device, "pool"))` bounds each pool's summed draw by the pool's own
|
|
169
173
|
* row. The two faces pair by arity AND structural shape
|
|
170
174
|
* ({@link SameShapes}), exactly as containment — the grouping join reads
|
|
171
|
-
* the same positionwise field pairing. The weight-sensitive
|
|
172
|
-
*
|
|
173
|
-
* statement "positive total" is a different, weaker law than containment)
|
|
175
|
+
* the same positionwise field pairing. The weight-sensitive bans ride the
|
|
176
|
+
* UNIT overload only: `{1..*}` ({@link UnitWindowBan} — on a weighted
|
|
177
|
+
* statement "positive total" is a different, weaker law than containment)
|
|
178
|
+
* and the `duration()` bound ({@link UnitDimensionBan} — a count of facts
|
|
179
|
+
* bounded by a span of time mixes dimensions, C18).
|
|
174
180
|
*/
|
|
175
|
-
declare function capacity<B extends AnyFace, W extends CapacityWindow, A extends AnyFace>(target: B, window: W & UnitWindowBan<W> & BoundsOnTarget<W, B>, source: A & SameArity<B, A> & SameShapes<B, A>): CapacityStatement<B["data"], A["data"]>;
|
|
181
|
+
declare function capacity<B extends AnyFace, W extends CapacityWindow, A extends AnyFace>(target: B, window: W & UnitWindowBan<W> & UnitDimensionBan<W> & BoundsOnTarget<W, B>, source: A & SameArity<B, A> & SameShapes<B, A>): CapacityStatement<B["data"], A["data"]>;
|
|
176
182
|
declare function capacity<B extends AnyFace, M extends CapacityWeight, W extends CapacityWindow, A extends AnyFace>(target: B, weight: M & WeightOnSource<M, A>, window: W & BoundsOnTarget<W, B>, source: A & SameArity<B, A> & SameShapes<B, A>): CapacityStatement<B["data"], A["data"]>;
|
|
177
183
|
/**
|
|
178
184
|
* Renders one statement in the CANONICAL macro spelling
|
|
@@ -187,6 +193,6 @@ declare function capacity<B extends AnyFace, M extends CapacityWeight, W extends
|
|
|
187
193
|
* utterance falls out of the one printer.
|
|
188
194
|
*/
|
|
189
195
|
declare function renderStatement(statement: Statement): string;
|
|
190
|
-
export type { CapacityData, CapacityStatement, ContainedStatement, ContainmentData, KeyData, KeyStatement, Statement, StatementData };
|
|
196
|
+
export type { CapacityData, CapacityStatement, ContainedStatement, ContainmentData, KeyData, KeyStatement, MirrorsData, Statement, StatementData };
|
|
191
197
|
export { capacity, contained, isStatement, key, mirrors, renderStatement };
|
|
192
198
|
//# sourceMappingURL=statements.d.ts.map
|
package/dist/statements.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAGnB,KAAK,aAAa,EAElB,KAAK,cAAc,EACnB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAc,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AAEnG,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,KAAK,kBAAkB,EAAsC,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AAEvG,+FAA+F;AAC/F,UAAU,OAAO,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,SAAS,SAAS,MAAM,EAAE;IAC5E,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;CAC/B;AAED;;;;;;GAMG;AACH,UAAU,eAAe,CAAC,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ;IACzF,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAA;IACpB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"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"}
|
package/dist/statements.js
CHANGED
|
@@ -142,8 +142,7 @@ function contained(source, target) {
|
|
|
142
142
|
const data = Object.freeze({
|
|
143
143
|
kind: "containment",
|
|
144
144
|
source: source.data,
|
|
145
|
-
target: target.data
|
|
146
|
-
bidirectional: false
|
|
145
|
+
target: target.data
|
|
147
146
|
});
|
|
148
147
|
const statement = Object.freeze({ data, [admitted]: true });
|
|
149
148
|
assertArityAgreement(data.source, data.target, statement);
|
|
@@ -161,10 +160,9 @@ function contained(source, target) {
|
|
|
161
160
|
*/
|
|
162
161
|
function mirrors(source, target) {
|
|
163
162
|
const data = Object.freeze({
|
|
164
|
-
kind: "
|
|
163
|
+
kind: "mirrors",
|
|
165
164
|
source: source.data,
|
|
166
|
-
target: target.data
|
|
167
|
-
bidirectional: true
|
|
165
|
+
target: target.data
|
|
168
166
|
});
|
|
169
167
|
const statement = Object.freeze({ data, [admitted]: true });
|
|
170
168
|
assertArityAgreement(data.source, data.target, statement);
|
|
@@ -238,6 +236,13 @@ function capacity(target, second, third, fourth) {
|
|
|
238
236
|
if (weight.kind === "unit" && window.kind === "floor" && window.lo.kind === "lit" && window.lo.value === 1n) {
|
|
239
237
|
throw errors.new("`{1..*}` on the unit instance says only what the bare containment says — drop the annotation and write the containment: contained(source, target)");
|
|
240
238
|
}
|
|
239
|
+
// The C18 dimension gate, unit instance (the engine's
|
|
240
|
+
// CapacityDimensionMixing twin — ruled 2026-07-24): a count of facts
|
|
241
|
+
// bounded by a span of time mixes dimensions. Judged here for untyped
|
|
242
|
+
// callers; the engine's validate_capacity stays the final authority.
|
|
243
|
+
if (weight.kind === "unit" && window.kind === "range" && window.hi.kind === "durationField") {
|
|
244
|
+
throw errors.new(`a unit (count) window against the duration() bound on ${window.hi.field} mixes dimensions (C18) — weigh the source with weigh(duration(field)), or bound by a u64 field or literal`);
|
|
245
|
+
}
|
|
241
246
|
const data = Object.freeze({
|
|
242
247
|
kind: "capacity",
|
|
243
248
|
target: target.data,
|
|
@@ -269,10 +274,10 @@ function renderStatement(statement) {
|
|
|
269
274
|
switch (data.kind) {
|
|
270
275
|
case "key":
|
|
271
276
|
return `${data.owner.name}(${data.projection.join(", ")}) -> ${data.owner.name}`;
|
|
272
|
-
case "containment":
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
277
|
+
case "containment":
|
|
278
|
+
return `${renderFace(data.source)} <= ${renderFace(data.target)}`;
|
|
279
|
+
case "mirrors":
|
|
280
|
+
return `${renderFace(data.source)} == ${renderFace(data.target)}`;
|
|
276
281
|
case "capacity":
|
|
277
282
|
return `${renderFace(data.target)} <=${renderWeight(data.weight)}${renderCapacityWindow(data.window)} ${renderFace(data.source)}`;
|
|
278
283
|
}
|
package/dist/statements.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAIN,gBAAgB,EAChB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bjornpagen/bumbledb",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Type-theoretic TypeScript SDK for the bumbledb embedded relational engine",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
},
|
|
54
54
|
"private": false,
|
|
55
55
|
"optionalDependencies": {
|
|
56
|
-
"@bjornpagen/bumbledb-darwin-arm64": "0.
|
|
56
|
+
"@bjornpagen/bumbledb-darwin-arm64": "0.11.0"
|
|
57
57
|
},
|
|
58
58
|
"scripts": {
|
|
59
59
|
"build": "node scripts/build.ts",
|
package/src/capacity.ts
CHANGED
|
@@ -196,6 +196,20 @@ type UnitWindowBan<W extends CapacityWindow> = W["window"] extends {
|
|
|
196
196
|
? BannedWindow<"`{1..*}` on the unit instance says only what the bare containment says — write contained(source, target)">
|
|
197
197
|
: unknown
|
|
198
198
|
|
|
199
|
+
/**
|
|
200
|
+
* The C18 dimension gate's ban row, unit instance (the engine's
|
|
201
|
+
* `CapacityDimensionMixing` twin, ruled 2026-07-24): a unit (count)
|
|
202
|
+
* window against a `duration()` bound counts facts against a span of
|
|
203
|
+
* time — a dimension error. Judged on the `capacity()` UNIT overload
|
|
204
|
+
* only: Duration weights pair with Duration-capable bounds, so the
|
|
205
|
+
* weighted overload takes the same window freely.
|
|
206
|
+
*/
|
|
207
|
+
type UnitDimensionBan<W extends CapacityWindow> = W["window"] extends {
|
|
208
|
+
readonly hi: { readonly kind: "durationField" }
|
|
209
|
+
}
|
|
210
|
+
? BannedWindow<"a count of facts bounded by a span of time mixes dimensions (C18) — weigh the source with weigh(duration(field)), or bound by a u64 field or literal">
|
|
211
|
+
: unknown
|
|
212
|
+
|
|
199
213
|
/** The projected kind of one field of a face's source, read off the schema type. */
|
|
200
214
|
type KindAt<S extends FaceSource, K extends string> =
|
|
201
215
|
ProjectedShape<S, K> extends readonly [infer Kind, ...unknown[]] ? Kind : undefined
|
|
@@ -450,5 +464,14 @@ function duration<const F extends string>(field: F & PathBan<F>): DurationRef<F>
|
|
|
450
464
|
return Object.freeze({ kind: "durationField", field: assertRowLocal(field, "Duration measure") }) as DurationRef<F>
|
|
451
465
|
}
|
|
452
466
|
|
|
453
|
-
export type {
|
|
467
|
+
export type {
|
|
468
|
+
BoundsOnTarget,
|
|
469
|
+
CapacityWeight,
|
|
470
|
+
CapacityWindow,
|
|
471
|
+
DurationRef,
|
|
472
|
+
FieldRef,
|
|
473
|
+
UnitDimensionBan,
|
|
474
|
+
UnitWindowBan,
|
|
475
|
+
WeightOnSource
|
|
476
|
+
}
|
|
454
477
|
export { duration, isCapacityWeight, isCapacityWindow, ref, unitWeight, weigh, within }
|