@bjornpagen/bumbledb 1.0.0 → 1.0.1
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/README.md +1 -1
- package/dist/capacity.d.ts +1 -1
- package/dist/changes.d.ts +2 -2
- package/dist/changes.js +2 -2
- package/dist/changes.js.map +1 -1
- package/dist/close.d.ts +2 -2
- package/dist/codec.d.ts +1 -1
- package/dist/compile.d.ts +3 -4
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +2 -2
- package/dist/compile.js.map +1 -1
- package/dist/db-native.d.ts +6 -15
- package/dist/db-native.d.ts.map +1 -1
- package/dist/db-native.js.map +1 -1
- package/dist/db.d.ts +7 -7
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +6 -6
- package/dist/db.js.map +1 -1
- package/dist/errors.d.ts +4 -8
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +4 -8
- package/dist/errors.js.map +1 -1
- package/dist/fields.d.ts +4 -5
- package/dist/fields.d.ts.map +1 -1
- package/dist/fields.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/log.d.ts +1 -1
- package/dist/internal/log.d.ts.map +1 -1
- package/dist/internal/log.js.map +1 -1
- package/dist/migration.d.ts +3 -4
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +3 -4
- package/dist/migration.js.map +1 -1
- package/dist/native.d.ts +1 -1
- package/dist/query/lower.d.ts +1 -1
- package/dist/result.d.ts +3 -3
- package/dist/rows.d.ts +8 -8
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +7 -10
- package/dist/rows.js.map +1 -1
- package/dist/runtime-native.d.ts +2 -14
- package/dist/runtime-native.d.ts.map +1 -1
- package/dist/runtime-native.js.map +1 -1
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +2 -3
- package/dist/runtime.js.map +1 -1
- package/dist/shape.d.ts +3 -4
- package/dist/shape.d.ts.map +1 -1
- package/dist/spec.d.ts +2 -2
- package/dist/spec.js +1 -1
- package/dist/statements.js +2 -2
- package/dist/statements.js.map +1 -1
- package/pack-provenance.json +3 -3
- package/package.json +4 -4
- package/src/capacity.ts +1 -1
- package/src/changes.ts +4 -4
- package/src/close.ts +2 -2
- package/src/codec.ts +1 -1
- package/src/compile.ts +4 -5
- package/src/db-native.ts +6 -15
- package/src/db.ts +9 -9
- package/src/errors.ts +4 -8
- package/src/fields.ts +4 -5
- package/src/index.ts +1 -1
- package/src/internal/log.ts +0 -2
- package/src/migration.ts +3 -4
- package/src/native.ts +2 -2
- package/src/query/lower.ts +1 -1
- package/src/result.ts +3 -3
- package/src/rows.ts +11 -14
- package/src/runtime-native.ts +2 -22
- package/src/runtime.ts +2 -3
- package/src/shape.ts +3 -4
- package/src/spec.ts +2 -2
- package/src/statements.ts +2 -2
package/dist/statements.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"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"}
|
package/pack-provenance.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"candidateSourceDigest": "
|
|
2
|
+
"candidateSourceDigest": "2889a1f3027f53bdb6082570e9f215dfe27363d123593bae1f5cf479a217da4f",
|
|
3
3
|
"specificationRevision": "87e9a83ee21d1f843c73ac6e7057b2b740db75aae70a553b8053b4f38e87bd2d",
|
|
4
|
-
"stagedAt": "2026-09-
|
|
4
|
+
"stagedAt": "2026-09-07T15:15:57.980Z",
|
|
5
5
|
"package": "@bjornpagen/bumbledb",
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.1"
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bjornpagen/bumbledb",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Effect-native embedded relational database for TypeScript: typed schemas and queries, exact floats, commit-time constraints",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
},
|
|
58
58
|
"private": false,
|
|
59
59
|
"optionalDependencies": {
|
|
60
|
-
"@bjornpagen/bumbledb-darwin-arm64": "1.0.
|
|
61
|
-
"@bjornpagen/bumbledb-linux-arm64": "1.0.
|
|
62
|
-
"@bjornpagen/bumbledb-linux-x64": "1.0.
|
|
60
|
+
"@bjornpagen/bumbledb-darwin-arm64": "1.0.1",
|
|
61
|
+
"@bjornpagen/bumbledb-linux-arm64": "1.0.1",
|
|
62
|
+
"@bjornpagen/bumbledb-linux-x64": "1.0.1"
|
|
63
63
|
}
|
|
64
64
|
}
|
package/src/capacity.ts
CHANGED
|
@@ -103,7 +103,7 @@ type NegativeBan<N extends bigint> = bigint extends N
|
|
|
103
103
|
: unknown
|
|
104
104
|
|
|
105
105
|
/**
|
|
106
|
-
* The spelling-ban tables are DELETED
|
|
106
|
+
* The spelling-ban tables are DELETED: `{n..n}`, `{0..0}`,
|
|
107
107
|
* unit floors `{1..*}`/`{N..*}` and the vacuous `{0..*}` are harmless
|
|
108
108
|
* equivalent spellings that lower to the one canonical `(lo, hi)` law at
|
|
109
109
|
* the mint. Genuinely different semantics still refuse: negative bounds
|
package/src/changes.ts
CHANGED
|
@@ -17,8 +17,8 @@ import type { AnySchema } from "#schema.ts"
|
|
|
17
17
|
import type { Rel } from "#shape.ts"
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* `ChangeSet` — the
|
|
21
|
-
*
|
|
20
|
+
* `ChangeSet` — the engine's checked immutable delta:
|
|
21
|
+
* schema-fingerprint-bound canonical native bytes with
|
|
22
22
|
* one-command `(add, remove ∖ add)` normalization and exact same-fact
|
|
23
23
|
* add-wins. Immutable and reusable while open; sealing/submitting it later
|
|
24
24
|
* retains the SAME native value — no second JS row walk ever happens.
|
|
@@ -184,7 +184,7 @@ function ingest(
|
|
|
184
184
|
}
|
|
185
185
|
if (state.inFlight) {
|
|
186
186
|
// Reentrant construction refuses AND spends/drains — there is
|
|
187
|
-
// no implicit queue
|
|
187
|
+
// no implicit queue.
|
|
188
188
|
yield* spendAndDrain(state, operation)
|
|
189
189
|
return yield* Effect.fail(refusal(operation, "SpentHandle"))
|
|
190
190
|
}
|
|
@@ -307,7 +307,7 @@ function makeDraft<S extends AnySchema>(state: DraftState, schemaId: SchemaId):
|
|
|
307
307
|
|
|
308
308
|
/**
|
|
309
309
|
* `ChangeSet.builder(schema, work)` — lazy scoped acquisition of a
|
|
310
|
-
* database-free draft
|
|
310
|
+
* database-free draft. Requires the acquired
|
|
311
311
|
* `NativeRuntime`; the draft's native resources release with its scope, and
|
|
312
312
|
* the scope finalizer surfaces incomplete/failed teardown as a
|
|
313
313
|
* `CloseFailure` defect.
|
package/src/close.ts
CHANGED
|
@@ -4,8 +4,8 @@ import type { CloseReport } from "#runtime-errors.ts"
|
|
|
4
4
|
import { DbError } from "#runtime-errors.ts"
|
|
5
5
|
/**
|
|
6
6
|
* Shared close/drain adapters for scoped core owners (drafts, changes,
|
|
7
|
-
* snapshots, sessions, results, cursors, databases).
|
|
8
|
-
*
|
|
7
|
+
* snapshots, sessions, results, cursors, databases). Early `close()` joins
|
|
8
|
+
* the native close transition and
|
|
9
9
|
* returns the honest {@link CloseReport}; a scope FINALIZER runs the same
|
|
10
10
|
* close and surfaces `incomplete`/`failed` as a structured `CloseFailure`
|
|
11
11
|
* DEFECT in the finalizer Cause — never catch-and-log, never false
|
package/src/codec.ts
CHANGED
package/src/compile.ts
CHANGED
|
@@ -11,8 +11,7 @@ import type { AnySchema, Schema as SchemaDeclaration, SchemaRelations } from "#s
|
|
|
11
11
|
import type { Statement } from "#statements.ts"
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* `SchemaId` — the canonical schema
|
|
15
|
-
* vocabulary): the engine's canonical schema fingerprint as lowercase hex.
|
|
14
|
+
* `SchemaId` — the engine's canonical schema fingerprint as lowercase hex.
|
|
16
15
|
* Independent of database identity; a branded string so arbitrary text does
|
|
17
16
|
* not typecheck where a schema identity is required.
|
|
18
17
|
*/
|
|
@@ -22,7 +21,7 @@ type SchemaId = string & { readonly [schemaIdBrand]: "bumbledb.SchemaId" }
|
|
|
22
21
|
|
|
23
22
|
/**
|
|
24
23
|
* `CompiledSchema<S>` — bounded detached immutable descriptor data plus the
|
|
25
|
-
* canonical `schemaId
|
|
24
|
+
* canonical `schemaId`. NOT a tenant handle or a second
|
|
26
25
|
* user-authored schema: it needs no native finalizer, holds no native
|
|
27
26
|
* resource, and open/create/build compile through the same implementation —
|
|
28
27
|
* prior compilation is optional, never a mandatory prepare ceremony.
|
|
@@ -99,7 +98,7 @@ function admitSchemaId(fingerprint: string): SchemaId {
|
|
|
99
98
|
}
|
|
100
99
|
|
|
101
100
|
/**
|
|
102
|
-
* Charged, effectful native schema admission/compilation
|
|
101
|
+
* Charged, effectful native schema admission/compilation: a
|
|
103
102
|
* schema declaration is pure metadata and never a claim its theory has been
|
|
104
103
|
* admitted. Runs on the one bounded executor under `work`, requires the
|
|
105
104
|
* acquired {@link NativeRuntime}, and yields detached immutable descriptor
|
|
@@ -139,7 +138,7 @@ type Schema<Rels extends SchemaRelations, Classes extends SchemaClasses = Schema
|
|
|
139
138
|
|
|
140
139
|
/**
|
|
141
140
|
* The core `Schema` namespace (import as `BumbleSchema` when Effect Schema
|
|
142
|
-
* is also in scope
|
|
141
|
+
* is also in scope). The `Schema<Rels>` type remains the pure
|
|
143
142
|
* declaration from `#schema.ts` (the local alias above); this value owns
|
|
144
143
|
* the effectful half. One exported name, two meanings.
|
|
145
144
|
*/
|
package/src/db-native.ts
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Private
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* OWNERSHIP NOTE (recorded in implementation/packets/P07.md): the addon
|
|
7
|
-
* implementation of every verb below is P06R's lane (`ts/crate/src/`,
|
|
8
|
-
* worker-affine sessions per P06.md's reactor design) on top of P02's C04
|
|
9
|
-
* owned snapshots and P03's C05 completed results. This file declares the
|
|
10
|
-
* exact shapes P07 codes against, exactly as `#runtime-native.ts` pins the
|
|
11
|
-
* landed runtime/directory/fs handshake. Every verb runs on the ONE bounded
|
|
12
|
-
* executor (no AsyncTask/libuv bypass), registers under the runtime's
|
|
2
|
+
* Private database bridge over worker-owned core snapshots and results.
|
|
3
|
+
* The implementation lives in `ts/crate/src/`; this is not a public API.
|
|
4
|
+
* Every verb runs on the shared bounded executor, registers under its
|
|
13
5
|
* operation accounting, takes a `PolicyWire` converted once at admission,
|
|
14
6
|
* and completes through the registered callback; `runtimeCancel` cancels
|
|
15
7
|
* and joins any of them. Close verbs report the real drain outcome through
|
|
@@ -116,7 +108,7 @@ interface DbBridge {
|
|
|
116
108
|
* Complete bounded execution. The snapshot variant owns an internal
|
|
117
109
|
* one-shot session and closes it before publishing the result; the
|
|
118
110
|
* session variant reuses the caller's session. Either way the result is
|
|
119
|
-
* sealed and independent only after ALL evaluation succeeded
|
|
111
|
+
* sealed and independent only after ALL evaluation succeeded.
|
|
120
112
|
*/
|
|
121
113
|
runtimeSnapshotExecute(
|
|
122
114
|
snapshot: SnapshotHandle,
|
|
@@ -221,9 +213,8 @@ interface DbBridge {
|
|
|
221
213
|
): OperationHandle
|
|
222
214
|
|
|
223
215
|
/**
|
|
224
|
-
* Read-only migration-codec integration
|
|
225
|
-
* `
|
|
226
|
-
* lanes reached through the P06 executor). `hashChunk`-shaped: bounded
|
|
216
|
+
* Read-only migration-codec integration over native `schema_file` and
|
|
217
|
+
* `migration::{plan, manifest}` through the shared executor: bounded
|
|
227
218
|
* owned input, bounded owned JSON response bytes, one registered
|
|
228
219
|
* cancellable operation. Neither verb opens, initializes, freezes or
|
|
229
220
|
* migrates a database.
|
package/src/db.ts
CHANGED
|
@@ -35,7 +35,7 @@ import type { AnySchema } from "#schema.ts"
|
|
|
35
35
|
import type { Key, QueryTemplate, Rel } from "#shape.ts"
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
* The
|
|
38
|
+
* The core surface: `Db.create`/`Db.open`, scoped coherent
|
|
39
39
|
* `Snapshot`s, reusable `ExecutionSession`s, the shared `QueryReader`
|
|
40
40
|
* capability, one immutable final-state `apply`, bounded `inspect` and
|
|
41
41
|
* honest `close`. Effect-only: every method constructs a lazy effect; all
|
|
@@ -59,7 +59,7 @@ interface CoreWitness {
|
|
|
59
59
|
|
|
60
60
|
type ApplyExpected = { readonly kind: "any" } | { readonly kind: "exact"; readonly at: CoreWitness }
|
|
61
61
|
|
|
62
|
-
/** Core work policy plus the expected-state intent
|
|
62
|
+
/** Core work policy plus the expected-state intent. */
|
|
63
63
|
type ApplyOptions = ExecutionPolicy & { readonly expected: ApplyExpected }
|
|
64
64
|
|
|
65
65
|
type ApplyOutcome =
|
|
@@ -80,7 +80,7 @@ interface DbInspection {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
/**
|
|
83
|
-
* The
|
|
83
|
+
* The shared read capability: the same typed `get` and
|
|
84
84
|
* `execute` on a core snapshot and on a log published snapshot, so a
|
|
85
85
|
* cross-package read helper takes this interface with no adapter. Missing
|
|
86
86
|
* key is `Option.none`, never a fake I/O error or nullable row. It carries
|
|
@@ -374,7 +374,7 @@ function makeDb<S extends AnySchema>(theory: S, state: DbState): Db<S> {
|
|
|
374
374
|
},
|
|
375
375
|
close() {
|
|
376
376
|
// The one close authority: database child first, then the
|
|
377
|
-
// directory owner releases its kernel lock LAST
|
|
377
|
+
// directory owner releases its kernel lock LAST. Both
|
|
378
378
|
// joins are idempotent natively.
|
|
379
379
|
return drainClose("Db.close", (callback) => runtimeNative.runtimeManagedDbClose(state.db, callback)).pipe(
|
|
380
380
|
Effect.flatMap((report) =>
|
|
@@ -413,7 +413,7 @@ function openDatabase<S extends AnySchema>(
|
|
|
413
413
|
try: () => policyWire(work, operation),
|
|
414
414
|
catch: () => refusal(operation, "InvalidArgument")
|
|
415
415
|
})
|
|
416
|
-
// Compound acquisition
|
|
416
|
+
// Compound acquisition: register the directory owner and
|
|
417
417
|
// its finalizer BEFORE any interruptible child-open step.
|
|
418
418
|
const directory = yield* Effect.acquireRelease(
|
|
419
419
|
nativeOperationWith(
|
|
@@ -477,7 +477,7 @@ const dbStates = new WeakMap<object, DbState>()
|
|
|
477
477
|
/**
|
|
478
478
|
* `Db.create` is the explicit constructor and refuses existing authority;
|
|
479
479
|
* `Db.open` of a missing or unreadable database never creates an empty
|
|
480
|
-
* replacement
|
|
480
|
+
* replacement. Both compile the schema through the same
|
|
481
481
|
* implementation as `Schema.compile` — prior compilation is optional.
|
|
482
482
|
*/
|
|
483
483
|
const Db = Object.freeze({
|
|
@@ -490,11 +490,11 @@ const Db = Object.freeze({
|
|
|
490
490
|
})
|
|
491
491
|
|
|
492
492
|
/**
|
|
493
|
-
* Private log
|
|
493
|
+
* Private log integration: wraps a published core snapshot
|
|
494
494
|
* handle — minted by the internal log machine's native open/snapshot verbs
|
|
495
495
|
* — in the exact core `QueryReader` plus the scoped session acquisition
|
|
496
|
-
* (
|
|
497
|
-
*
|
|
496
|
+
* (the log adds identity, stamps and freshness around this capability,
|
|
497
|
+
* never a second reader).
|
|
498
498
|
* The argument is the log package's branded handle for the same native
|
|
499
499
|
* registry entry, so the one cast below is a cross-package respelling of
|
|
500
500
|
* one native capability — the native side re-judges kind/generation/owner
|
package/src/errors.ts
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { Data } from "effect"
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Pure authoring
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* outcome. Every operational failure of effectful work is the single
|
|
9
|
-
* `DbError` tagged-reason class in `#runtime-errors.ts` — the old
|
|
10
|
-
* per-surface `Err*` wrapper family is deleted (duplicate error wrappers
|
|
11
|
-
* are banned by C02/C10).
|
|
4
|
+
* Pure authoring failures, SDK-invariant defects and internal native-boundary
|
|
5
|
+
* diagnostics. AST misuse can throw synchronously without I/O. Runtime
|
|
6
|
+
* adapters translate operational failures into the public `DbError` class
|
|
7
|
+
* in `#runtime-errors.ts`; contradictions in SDK/native state remain defects.
|
|
12
8
|
*/
|
|
13
9
|
|
|
14
10
|
/** A pure schema, query, parameter, or value-authoring refusal. */
|
package/src/fields.ts
CHANGED
|
@@ -21,8 +21,8 @@ interface IntervalValue {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* A half-open dense float interval `[start, end)` as a plain value object
|
|
25
|
-
*
|
|
24
|
+
* A half-open dense float interval `[start, end)` as a plain value object:
|
|
25
|
+
* two canonical binary64 bounds on the dense numeric line.
|
|
26
26
|
* NaN is never an endpoint, signed zero is normalized at the checked
|
|
27
27
|
* constructor and again by the native boundary, and strict `start < end`
|
|
28
28
|
* makes empty spans unrepresentable through {@link span}. Infinite bounds
|
|
@@ -35,8 +35,7 @@ interface FloatIntervalValue {
|
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* Constructs a checked interval literal — the `start..end` spelling.
|
|
38
|
-
* Half-open and nonempty by construction.
|
|
39
|
-
* "checked small interval constructors": genuinely fallible pure parsing
|
|
38
|
+
* Half-open and nonempty by construction. Fallible pure parsing
|
|
40
39
|
* returns `Result` (use `Effect.fromResult(span(...))` inside a generator),
|
|
41
40
|
* never hidden I/O and never a thrown domain outcome.
|
|
42
41
|
*
|
|
@@ -109,7 +108,7 @@ interface F64Field {
|
|
|
109
108
|
}
|
|
110
109
|
|
|
111
110
|
/**
|
|
112
|
-
* The application-owned 128-bit identity scalar
|
|
111
|
+
* The application-owned 128-bit identity scalar: sixteen
|
|
113
112
|
* exact bytes, spelled as the canonical hyphenated UUID {@link Uuid}
|
|
114
113
|
* host value. There is no `fresh` mark anywhere: the database issues no
|
|
115
114
|
* identity, and key laws are declared statements.
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @bjornpagen/bumbledb — the Effect-native TypeScript SDK for the
|
|
3
|
-
* bumbledb embedded relational engine
|
|
3
|
+
* bumbledb embedded relational engine. Pure
|
|
4
4
|
* schema/query/scalar construction is synchronous metadata; all work is
|
|
5
5
|
* lazy, scoped and bounded on the one native runtime. No Promise, sync,
|
|
6
6
|
* or disposal twin. The raw native bridge is not exported from this barrel.
|
package/src/internal/log.ts
CHANGED
|
@@ -37,7 +37,6 @@ export type { CloseReport, OutstandingWork } from "#runtime-errors.ts"
|
|
|
37
37
|
export { CloseFailure, DbError, dbError, runtimeErrorCodes } from "#runtime-errors.ts"
|
|
38
38
|
export type {
|
|
39
39
|
Capability,
|
|
40
|
-
CloseDrain,
|
|
41
40
|
CloseWire,
|
|
42
41
|
DirectoryHandle,
|
|
43
42
|
InspectionWire,
|
|
@@ -45,7 +44,6 @@ export type {
|
|
|
45
44
|
OperationHandle,
|
|
46
45
|
PolicyWire,
|
|
47
46
|
RepositoryLockHandle,
|
|
48
|
-
ResourceHeader,
|
|
49
47
|
RuntimeHandle
|
|
50
48
|
} from "#runtime-native.ts"
|
|
51
49
|
export { runtimeNative } from "#runtime-native.ts"
|
package/src/migration.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Private log-migration integration entrypoints
|
|
2
|
+
* Private log-migration integration entrypoints: the two read-only
|
|
3
3
|
* native migration-codec verbs the `@bjornpagen/bumbledb-log/migrations`
|
|
4
|
-
* generator
|
|
5
|
-
*
|
|
6
|
-
* native `schema_file`/`migration::plan`/`migration::manifest` lanes.
|
|
4
|
+
* generator imports, wired over the shared executor onto the native
|
|
5
|
+
* `schema_file`, `migration::plan` and `migration::manifest` modules.
|
|
7
6
|
*
|
|
8
7
|
* Both follow `hashChunk`'s shape: bounded owned input, bounded owned JSON
|
|
9
8
|
* response bytes, ONE registered cancellable operation under the acquired
|
package/src/native.ts
CHANGED
|
@@ -38,7 +38,7 @@ interface F64IntervalValue {
|
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
40
|
* One marshalled cell. An application-owned Uuid crosses as its
|
|
41
|
-
* canonical hyphenated UUID string
|
|
41
|
+
* canonical hyphenated UUID string; there is no fresh
|
|
42
42
|
* range, reservation counter or issuance value anywhere on this wire.
|
|
43
43
|
*/
|
|
44
44
|
type FactValue = boolean | bigint | number | string | Uint8Array | IntervalValue | F64IntervalValue
|
|
@@ -438,7 +438,7 @@ type Violation =
|
|
|
438
438
|
// #runtime-native.ts (accepted | rejected | refused); reads, writes and
|
|
439
439
|
// queries are worker-affine session verbs there too. The historical
|
|
440
440
|
// raw-pointer `dbRead`/`dbWrite`/`tx*`/`instance*`/`prepared*` synchronous
|
|
441
|
-
// surface — a JS callback inside a native transaction — is deleted
|
|
441
|
+
// surface — a JS callback inside a native transaction — is deleted,
|
|
442
442
|
// as are the fresh/reserve issuance verbs (`WireFreshRange`).
|
|
443
443
|
|
|
444
444
|
type ErrorFamilyKind =
|
package/src/query/lower.ts
CHANGED
|
@@ -166,7 +166,7 @@ interface QueryRuleScope<Rels extends SchemaRelations, Classes extends SchemaCla
|
|
|
166
166
|
): QueryRuleChain<Rels, BindParamsShape<MatchFields<R>, B>, Classes>
|
|
167
167
|
|
|
168
168
|
/**
|
|
169
|
-
* Nonrecursive composition
|
|
169
|
+
* Nonrecursive composition: a typed query template of the
|
|
170
170
|
* SAME schema is a relation expression — its whole body splices as a
|
|
171
171
|
* derived stage; every head column must be bound to a variable minted
|
|
172
172
|
* by `v(imported)`. Naming materializes nothing.
|
package/src/result.ts
CHANGED
|
@@ -10,15 +10,15 @@ import { deliveryResultBytes, nativeOperationWith, policyWire } from "#runtime.t
|
|
|
10
10
|
import type { CloseReport, DbError } from "#runtime-errors.ts"
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
* `CompleteResult<A>` — the sealed owner of one
|
|
14
|
-
*
|
|
13
|
+
* `CompleteResult<A>` — the sealed owner of one completed query answer:
|
|
14
|
+
* published only after all evaluation/finalization succeeded,
|
|
15
15
|
* possibly backed by temporary LMDB scratch. Owned and independent of its
|
|
16
16
|
* source snapshot/session.
|
|
17
17
|
*
|
|
18
18
|
* `collect` materializes a bounded owned array and leaves the result
|
|
19
19
|
* available; it refuses (`ResourceLimit`) before allocating past
|
|
20
20
|
* `maxBytes`, and a cap failure leaves the sealed backing available for
|
|
21
|
-
* `pages`. `pages` is
|
|
21
|
+
* `pages`. `pages` is a one-shot consuming stream over the
|
|
22
22
|
* completed result: its first execution atomically spends the result and
|
|
23
23
|
* moves the backing storage into a private cursor owned by the stream's
|
|
24
24
|
* scope — construction alone spends nothing, a second run fails
|
package/src/rows.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AuthoringError, SdkInvariantError } from "#errors.ts"
|
|
2
2
|
/**
|
|
3
|
-
* The
|
|
3
|
+
* The row codec: fact object ⇄ positional cell array by field
|
|
4
4
|
* ordinal, schema-directed, in ONE place. The write side lowers named host
|
|
5
5
|
* objects to rows in the relation's field-declaration order (declaration
|
|
6
6
|
* order = ordinal ids); the read side decodes owned rows back to named
|
|
7
7
|
* objects of BARE structural values. This module is the one fact⇄row
|
|
8
|
-
* projector. It covers
|
|
8
|
+
* projector. It covers all value types: bool, u64, i64,
|
|
9
9
|
* f64, uuid, str, bytes<N>, discrete intervals and dense float intervals,
|
|
10
10
|
* plus the closed-handle bijection (name ⇄ declaration-order row id).
|
|
11
11
|
*
|
|
@@ -14,7 +14,7 @@ import { AuthoringError, SdkInvariantError } from "#errors.ts"
|
|
|
14
14
|
* the pure {@link AuthoringError}; the Effect ingestion boundary catches
|
|
15
15
|
* and types it (never an untracked partial draft). SharedArrayBuffer-backed
|
|
16
16
|
* views are refused before any copy. Host length is judged before string
|
|
17
|
-
* scans and byte copies
|
|
17
|
+
* scans and byte copies.
|
|
18
18
|
*/
|
|
19
19
|
import type { AnyClosedRoster, AnyField } from "#fields.ts"
|
|
20
20
|
import { isFloatIntervalValue, isIntervalValue, literalShapeError, rosterOf } from "#fields.ts"
|
|
@@ -27,7 +27,7 @@ const HOST_CELL_MAX = 65536n
|
|
|
27
27
|
/**
|
|
28
28
|
* One owned cell at the private bridge boundary. The declared sealed field
|
|
29
29
|
* type disambiguates the union: `string` is text, an `uuid` in its
|
|
30
|
-
* canonical hyphenated UUID spelling
|
|
30
|
+
* canonical hyphenated UUID spelling, or a closed handle
|
|
31
31
|
* before lowering (closed handles cross as `bigint` row ids),
|
|
32
32
|
* `Uint8Array` is `bytes<N>`, `{ start, end }` bigints are a discrete
|
|
33
33
|
* interval and numbers a dense float interval.
|
|
@@ -64,8 +64,9 @@ function refuseShared(context: string, value: Uint8Array): void {
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
|
-
* Cheap host charge before any string scan or byte copy
|
|
68
|
-
* code
|
|
67
|
+
* Cheap host charge before any string scan or byte copy. Strings charge
|
|
68
|
+
* two bytes per UTF-16 code unit, not their UTF-8 wire size. Native admission
|
|
69
|
+
* measures and bounds UTF-8 separately; byte views charge their length.
|
|
69
70
|
*/
|
|
70
71
|
function hostCellCharge(value: unknown): bigint {
|
|
71
72
|
if (typeof value === "string") {
|
|
@@ -133,9 +134,8 @@ function cellBytes(cell: CellValue): bigint {
|
|
|
133
134
|
return 8n
|
|
134
135
|
}
|
|
135
136
|
if (typeof cell === "string") {
|
|
136
|
-
//
|
|
137
|
-
//
|
|
138
|
-
// cells with cheap length bounds before costly conversion).
|
|
137
|
+
// Account for the host string here; native admission separately
|
|
138
|
+
// checks and charges its exact UTF-8 encoding.
|
|
139
139
|
return BigInt(cell.length) * 2n
|
|
140
140
|
}
|
|
141
141
|
if (cell instanceof Uint8Array) {
|
|
@@ -186,9 +186,7 @@ function cellOf(context: string, field: AnyField, value: unknown): CellValue {
|
|
|
186
186
|
if (!Uuid.isUuid(value)) {
|
|
187
187
|
throw literalShapeError(context, "a UUID (canonical UUID text)", value)
|
|
188
188
|
}
|
|
189
|
-
//
|
|
190
|
-
// canonical hyphenated UUID STRING (the native marshal's spelling),
|
|
191
|
-
// never as sixteen raw bytes.
|
|
189
|
+
// UUIDs cross as canonical hyphenated text, not raw bytes.
|
|
192
190
|
return value
|
|
193
191
|
}
|
|
194
192
|
case "bytes": {
|
|
@@ -362,8 +360,7 @@ function isCompleteFact<R extends AnyRelation>(
|
|
|
362
360
|
|
|
363
361
|
/**
|
|
364
362
|
* The read half: one owned positional row into a plain frozen record in
|
|
365
|
-
* declared field order
|
|
366
|
-
* 35's stable row shape rule; no Proxy, no per-cell closures).
|
|
363
|
+
* declared field order: stable field names and shapes, no Proxy or per-cell closures.
|
|
367
364
|
*/
|
|
368
365
|
function factOfCells<R extends AnyRelation>(relation: R, row: readonly unknown[]): Fact<R> {
|
|
369
366
|
const data = relation.data
|
package/src/runtime-native.ts
CHANGED
|
@@ -33,20 +33,11 @@ export interface RepositoryLockHandle {
|
|
|
33
33
|
readonly __repositoryLock: unique symbol
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
/**
|
|
36
|
+
/** Resource kinds installed in native worker tables. */
|
|
37
37
|
export type NativeKind = "snapshot" | "result" | "cursor" | "draft" | "changes" | "repository-lock"
|
|
38
38
|
|
|
39
|
-
/** Worker-routed capability header (C7). Never holds payload bytes. */
|
|
40
|
-
export interface ResourceHeader {
|
|
41
|
-
readonly runtime: bigint
|
|
42
|
-
readonly worker: number
|
|
43
|
-
readonly kind: NativeKind
|
|
44
|
-
readonly id: bigint
|
|
45
|
-
readonly generation: bigint
|
|
46
|
-
}
|
|
47
|
-
|
|
48
39
|
/**
|
|
49
|
-
* Checked capability into the native registry
|
|
40
|
+
* Checked capability into the native registry. JS tokens validate
|
|
50
41
|
* these five fields; native re-judges kind/generation/owner on every verb.
|
|
51
42
|
*/
|
|
52
43
|
export interface Capability {
|
|
@@ -57,11 +48,6 @@ export interface Capability {
|
|
|
57
48
|
readonly generation: bigint
|
|
58
49
|
}
|
|
59
50
|
|
|
60
|
-
/** Coalesced close obligation — already-owned drain, not rejectable work. */
|
|
61
|
-
export interface CloseDrain {
|
|
62
|
-
readonly header: ResourceHeader
|
|
63
|
-
}
|
|
64
|
-
|
|
65
51
|
export type ManagedDbOutcome =
|
|
66
52
|
| { readonly tag: "accepted"; readonly db: DbHandle }
|
|
67
53
|
| { readonly tag: "rejected"; readonly violations: readonly Violation[] }
|
|
@@ -71,12 +57,6 @@ export type ManagedDbOutcome =
|
|
|
71
57
|
readonly message: string
|
|
72
58
|
}
|
|
73
59
|
|
|
74
|
-
// The 0.x five-verb JS filesystem transport (`runtimeFs`/`runtimeFsTake`,
|
|
75
|
-
// FsRequestWire/FsResultWire) is DELETED with the TS CAS authority: all
|
|
76
|
-
// object-store work is native (C07, P05's store rewrite); the log machine
|
|
77
|
-
// drives FsStore/S3Store inside `ts/crate` and no JS layer holds a
|
|
78
|
-
// conditional-store verb anymore.
|
|
79
|
-
|
|
80
60
|
export type LogTakeWire =
|
|
81
61
|
| { readonly ok: false; readonly kind: LogCommandKind | LogChainKind; readonly message: string }
|
|
82
62
|
| {
|
package/src/runtime.ts
CHANGED
|
@@ -97,8 +97,7 @@ function failure(operation: string, cause: unknown): DbError {
|
|
|
97
97
|
|
|
98
98
|
function closeReport(operation: string, report: CloseWire): CloseReport {
|
|
99
99
|
// A payload-less native "failed" drain (cleanup capacity exhausted, or
|
|
100
|
-
// owner teardown failed)
|
|
101
|
-
// CloseReport policy: it decodes as the core `Internal` reason — the
|
|
100
|
+
// owner teardown failed) decodes as the core `Internal` reason — the
|
|
102
101
|
// same mapping the log bridge applies, so one wire arm has one meaning.
|
|
103
102
|
// It is deliberately NOT `QueueFull`: a failed drain is never retryable
|
|
104
103
|
// submit backpressure.
|
|
@@ -368,7 +367,7 @@ function joinLockRelease(operation: string, owner: RepositoryLockHandle): Effect
|
|
|
368
367
|
|
|
369
368
|
/**
|
|
370
369
|
* Internal log seam: stamped mint only. Cleanup is registered before
|
|
371
|
-
* the interruptible acquire
|
|
370
|
+
* the interruptible acquire: `acquireRelease({ interruptible })`
|
|
372
371
|
* installs the finalizer only after acquire succeeds. Interrupt, defect,
|
|
373
372
|
* and acquire failure all run the same slot finalizer — empty slot is
|
|
374
373
|
* a no-op. No `runtimeDirectoryAcquire`, no core `Db`, no JS bookkeeping.
|
package/src/shape.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Query } from "#query/lower.ts"
|
|
2
2
|
import type { ParamsRecord } from "#query/scope.ts"
|
|
3
3
|
/**
|
|
4
|
-
* Shared derived
|
|
4
|
+
* Shared derived types: `S` is a
|
|
5
5
|
* declared core schema value's type, `Rel<S>` its ordinary (writable)
|
|
6
6
|
* relations, `Fact<R>` the inferred row object, `Key<R>` the primary-key
|
|
7
7
|
* object accepted by `QueryReader.get`, and `QueryTemplate<S, P, A>` the
|
|
@@ -17,15 +17,14 @@ type Rel<S extends AnySchema> = Extract<S["relations"][keyof S["relations"]], An
|
|
|
17
17
|
/**
|
|
18
18
|
* The primary-key object of a relation: the fields of its FIRST
|
|
19
19
|
* materialized key statement (a closed relation's synthetic `(id)`,
|
|
20
|
-
* otherwise the first declared `key`).
|
|
21
|
-
* there is no fresh-implied key — so the exact projection is a schema
|
|
20
|
+
* otherwise the first declared `key`). The exact projection is a schema
|
|
22
21
|
* fact, verified at execution against the compiled tables; the type admits
|
|
23
22
|
* any subset of the fact's own fields and the runtime refuses a mismatch
|
|
24
23
|
* with a typed `DbError` before any native work.
|
|
25
24
|
*/
|
|
26
25
|
type Key<R extends AnyRelation> = Partial<Fact<R>>
|
|
27
26
|
|
|
28
|
-
/**
|
|
27
|
+
/** Immutable typed query template. */
|
|
29
28
|
type QueryTemplate<S extends AnySchema, P extends ParamsRecord, A> = Query<S["relations"], A, P>
|
|
30
29
|
|
|
31
30
|
export type { Key, QueryTemplate, Rel }
|
package/src/spec.ts
CHANGED
|
@@ -58,7 +58,7 @@ type CapacityWindowSpec =
|
|
|
58
58
|
/**
|
|
59
59
|
* One field: name, structural type, and host newtype label. There is no
|
|
60
60
|
* `fresh` mark: the database issues no identity, and key laws are declared
|
|
61
|
-
* statements
|
|
61
|
+
* statements.
|
|
62
62
|
*/
|
|
63
63
|
interface FieldSpec {
|
|
64
64
|
readonly name: string
|
|
@@ -207,7 +207,7 @@ function renderLiteral(literal: LiteralSpec): string {
|
|
|
207
207
|
|
|
208
208
|
/**
|
|
209
209
|
* The canonical binary64 bit image as sixteen lowercase hex digits — the
|
|
210
|
-
* one f64 rendering
|
|
210
|
+
* one f64 rendering: every NaN is the quiet canonical NaN and
|
|
211
211
|
* `-0` renders as `+0`, mirroring the engine's `f64:0x{bits:016x}`.
|
|
212
212
|
*/
|
|
213
213
|
function f64BitsHex(value: number): string {
|
package/src/statements.ts
CHANGED
|
@@ -275,9 +275,9 @@ function capacity(
|
|
|
275
275
|
weight = options.weight.weight
|
|
276
276
|
}
|
|
277
277
|
const window = windowValue.window
|
|
278
|
-
// The unit-floor and vacuous-window ban tables are deleted
|
|
278
|
+
// The unit-floor and vacuous-window ban tables are deleted:
|
|
279
279
|
// `{1..*}`, `{N..*}` and `{0..*}` are accepted canonical laws now.
|
|
280
|
-
// CapacityDimensionMixing
|
|
280
|
+
// CapacityDimensionMixing remains — genuinely different semantics.
|
|
281
281
|
if (weight.kind === "unit" && window.kind === "range" && window.hi.kind === "durationField") {
|
|
282
282
|
throw new AuthoringError({
|
|
283
283
|
message: `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`
|