@bjornpagen/bumbledb 1.0.1 → 1.1.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 +64 -27
- package/README.md +21 -20
- package/dist/changes.d.ts +2 -3
- package/dist/changes.d.ts.map +1 -1
- package/dist/changes.js +35 -32
- package/dist/changes.js.map +1 -1
- package/dist/codec.d.ts +4 -5
- package/dist/codec.d.ts.map +1 -1
- package/dist/codec.js +6 -6
- package/dist/codec.js.map +1 -1
- package/dist/compile.d.ts +1 -2
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +5 -5
- package/dist/compile.js.map +1 -1
- package/dist/db-native.d.ts +37 -41
- package/dist/db-native.d.ts.map +1 -1
- package/dist/db-native.js.map +1 -1
- package/dist/db.d.ts +37 -22
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +71 -57
- package/dist/db.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/log.d.ts +4 -4
- package/dist/internal/log.d.ts.map +1 -1
- package/dist/internal/log.js +1 -1
- package/dist/internal/log.js.map +1 -1
- package/dist/law.d.ts +1 -1
- package/dist/migration.d.ts +2 -3
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +5 -5
- package/dist/migration.js.map +1 -1
- package/dist/native.d.ts +1 -1
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js.map +1 -1
- package/dist/result.d.ts +10 -25
- package/dist/result.d.ts.map +1 -1
- package/dist/result.js +7 -12
- package/dist/result.js.map +1 -1
- package/dist/rows.d.ts +5 -11
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +6 -40
- package/dist/rows.js.map +1 -1
- package/dist/runtime-codes.d.ts +1 -1
- package/dist/runtime-codes.d.ts.map +1 -1
- package/dist/runtime-codes.js +1 -2
- package/dist/runtime-codes.js.map +1 -1
- package/dist/runtime-errors.d.ts +3 -15
- package/dist/runtime-errors.d.ts.map +1 -1
- package/dist/runtime-errors.js +1 -5
- package/dist/runtime-errors.js.map +1 -1
- package/dist/runtime-native.d.ts +16 -34
- package/dist/runtime-native.d.ts.map +1 -1
- package/dist/runtime-native.js.map +1 -1
- package/dist/runtime.d.ts +11 -28
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +14 -54
- package/dist/runtime.js.map +1 -1
- package/pack-provenance.json +3 -3
- package/package.json +4 -4
- package/src/changes.ts +46 -44
- package/src/codec.ts +7 -23
- package/src/compile.ts +5 -6
- package/src/db-native.ts +31 -68
- package/src/db.ts +148 -127
- package/src/index.ts +5 -4
- package/src/internal/log.ts +2 -5
- package/src/law.ts +1 -1
- package/src/migration.ts +5 -12
- package/src/native.ts +0 -1
- package/src/result.ts +16 -45
- package/src/rows.ts +6 -56
- package/src/runtime-codes.ts +1 -2
- package/src/runtime-errors.ts +1 -5
- package/src/runtime-native.ts +13 -46
- package/src/runtime.ts +51 -119
package/dist/runtime.d.ts
CHANGED
|
@@ -1,37 +1,20 @@
|
|
|
1
1
|
import { Context, Duration, Effect, Layer } from "effect";
|
|
2
2
|
import type { CloseReport, OutstandingWork } from "./runtime-errors.js";
|
|
3
3
|
import { DbError } from "./runtime-errors.js";
|
|
4
|
-
import type { OperationHandle,
|
|
5
|
-
export interface ExecutionPolicy {
|
|
6
|
-
readonly inputBytes: bigint;
|
|
7
|
-
readonly workingBytes: bigint;
|
|
8
|
-
readonly scratchBytes: bigint;
|
|
9
|
-
readonly resultBytes: bigint;
|
|
10
|
-
readonly rows: bigint;
|
|
11
|
-
readonly workUnits: bigint;
|
|
12
|
-
readonly timeout: Duration.Input;
|
|
13
|
-
}
|
|
4
|
+
import type { OperationHandle, RuntimeHandle } from "./runtime-native.js";
|
|
14
5
|
export interface NativeRuntimeOptions {
|
|
15
|
-
readonly workers
|
|
16
|
-
readonly queueCapacity
|
|
17
|
-
readonly cleanupCapacity
|
|
18
|
-
readonly ownerCapacity
|
|
19
|
-
readonly nativeHandleCapacity
|
|
20
|
-
readonly
|
|
21
|
-
readonly workingBytes: bigint;
|
|
22
|
-
readonly scratchBytes: bigint;
|
|
23
|
-
readonly resultBytes: bigint;
|
|
24
|
-
readonly chunkBytes: bigint;
|
|
25
|
-
readonly cleanupTimeout: Duration.Input;
|
|
6
|
+
readonly workers?: number;
|
|
7
|
+
readonly queueCapacity?: number;
|
|
8
|
+
readonly cleanupCapacity?: number;
|
|
9
|
+
readonly ownerCapacity?: number;
|
|
10
|
+
readonly nativeHandleCapacity?: number;
|
|
11
|
+
readonly cleanupTimeout?: Duration.Input;
|
|
26
12
|
}
|
|
27
13
|
interface RuntimeService {
|
|
28
14
|
readonly close: () => Effect.Effect<CloseReport>;
|
|
29
|
-
readonly inspect: (
|
|
15
|
+
readonly inspect: () => Effect.Effect<OutstandingWork, DbError>;
|
|
30
16
|
}
|
|
31
|
-
export declare function policyWire(work: ExecutionPolicy, operation: string): PolicyWire;
|
|
32
17
|
export declare function finalizeClose(operation: string, report: CloseReport): Effect.Effect<void>;
|
|
33
|
-
/** Independent caps intersect: a delivery request cannot enlarge `work.resultBytes`. */
|
|
34
|
-
export declare function deliveryResultBytes(requested: bigint, work: ExecutionPolicy): bigint;
|
|
35
18
|
/** Registration returns the native lease before any completion can run in JS.
|
|
36
19
|
* Interruption cancels and joins that lease, including a late successful result.
|
|
37
20
|
* No Promise or libuv job is created for ordinary native work.
|
|
@@ -40,7 +23,7 @@ export declare function nativeOperation<A>(operation: string, start: (callback:
|
|
|
40
23
|
export declare function nativeOperationWith<A, Value>(operation: string, start: (callback: () => void) => OperationHandle, take: (operation: OperationHandle) => Value, accept: (value: Value) => A): Effect.Effect<A, DbError>;
|
|
41
24
|
declare const NativeRuntime_base: Context.ServiceClass<NativeRuntime, "@bjornpagen/bumbledb/NativeRuntime", RuntimeService>;
|
|
42
25
|
export declare class NativeRuntime extends NativeRuntime_base {
|
|
43
|
-
static layer(options
|
|
26
|
+
static layer(options?: NativeRuntimeOptions): Layer.Layer<NativeRuntime, DbError>;
|
|
44
27
|
}
|
|
45
28
|
/** Private core/log integration: captures the already acquired shared service. */
|
|
46
29
|
export declare const runtimeHandle: () => Effect.Effect<RuntimeHandle, DbError, NativeRuntime>;
|
|
@@ -63,11 +46,11 @@ export interface RepositoryLock {
|
|
|
63
46
|
* and acquire failure all run the same slot finalizer — empty slot is
|
|
64
47
|
* a no-op. No `runtimeDirectoryAcquire`, no core `Db`, no JS bookkeeping.
|
|
65
48
|
*/
|
|
66
|
-
export declare const internalAcquireRepositoryLock: (operation: string, directory: string
|
|
49
|
+
export declare const internalAcquireRepositoryLock: (operation: string, directory: string) => Effect.Effect<Readonly<{
|
|
67
50
|
directory: string;
|
|
68
51
|
release: Effect.Effect<void, never, never>;
|
|
69
52
|
}>, DbError, NativeRuntime | import("effect/Scope").Scope>;
|
|
70
53
|
/** Internal first executor consumer; not a replacement row codec or public hash API. */
|
|
71
|
-
export declare const hashChunk: (input: Uint8Array<ArrayBufferLike
|
|
54
|
+
export declare const hashChunk: (input: Uint8Array<ArrayBufferLike>) => Effect.Effect<Uint8Array<ArrayBufferLike>, DbError, NativeRuntime>;
|
|
72
55
|
export {};
|
|
73
56
|
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAQ,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAgB,OAAO,EAAW,MAAM,oBAAoB,CAAA;AACnE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAQ,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAgB,OAAO,EAAW,MAAM,oBAAoB,CAAA;AACnE,OAAO,KAAK,EAAa,eAAe,EAAqC,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGtH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;CACxC;AAED,UAAU,cAAc;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;CAC/D;AAwDD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAEzF;AAwED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAChC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,eAAe,EAChD,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,KAAK,CAAC,GACrC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAE3B;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAC3C,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,eAAe,EAChD,IAAI,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,KAAK,EAC3C,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,GACzB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CA4B3B;;AA4ED,qBAAa,aAAc,SAAQ,kBAElC;IACA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAE,oBAAyB,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAEpF;CACD;AAED,kFAAkF;AAClF,eAAO,MAAM,aAAa,4DAKxB,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACrC;AAQD;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B;;;0DAyCxC,CAAA;AAEF,wFAAwF;AACxF,eAAO,MAAM,SAAS,4GAepB,CAAA"}
|
package/dist/runtime.js
CHANGED
|
@@ -10,42 +10,21 @@ function count(value, operation) {
|
|
|
10
10
|
throw invalid(operation);
|
|
11
11
|
return value;
|
|
12
12
|
}
|
|
13
|
-
function bytes(value, operation) {
|
|
14
|
-
if (typeof value !== "bigint" || value < 0n || value > 0xffffffffffffffffn)
|
|
15
|
-
throw invalid(operation);
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
13
|
function millis(value, operation) {
|
|
19
14
|
const duration = Duration.toMillis(value);
|
|
20
15
|
if (!Number.isFinite(duration) || duration < 0 || duration > 0xffffffff)
|
|
21
16
|
throw invalid(operation);
|
|
22
17
|
return Math.ceil(duration);
|
|
23
18
|
}
|
|
24
|
-
export function policyWire(work, operation) {
|
|
25
|
-
return {
|
|
26
|
-
inputBytes: bytes(work.inputBytes, operation),
|
|
27
|
-
workingBytes: bytes(work.workingBytes, operation),
|
|
28
|
-
scratchBytes: bytes(work.scratchBytes, operation),
|
|
29
|
-
resultBytes: bytes(work.resultBytes, operation),
|
|
30
|
-
rows: bytes(work.rows, operation),
|
|
31
|
-
workUnits: bytes(work.workUnits, operation),
|
|
32
|
-
timeoutMs: millis(work.timeout, operation)
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
19
|
function options(value) {
|
|
36
20
|
const operation = "NativeRuntime.acquire";
|
|
37
21
|
return {
|
|
38
|
-
workers: count(value.workers, operation),
|
|
39
|
-
queueCapacity: count(value.queueCapacity, operation),
|
|
40
|
-
cleanupCapacity: count(value.cleanupCapacity, operation),
|
|
41
|
-
ownerCapacity: count(value.ownerCapacity, operation),
|
|
42
|
-
nativeHandleCapacity: count(value.nativeHandleCapacity, operation),
|
|
43
|
-
|
|
44
|
-
workingBytes: bytes(value.workingBytes, operation),
|
|
45
|
-
scratchBytes: bytes(value.scratchBytes, operation),
|
|
46
|
-
resultBytes: bytes(value.resultBytes, operation),
|
|
47
|
-
chunkBytes: bytes(value.chunkBytes, operation),
|
|
48
|
-
cleanupTimeoutMs: count(millis(value.cleanupTimeout, operation), operation)
|
|
22
|
+
workers: value.workers === undefined ? undefined : count(value.workers, operation),
|
|
23
|
+
queueCapacity: value.queueCapacity === undefined ? undefined : count(value.queueCapacity, operation),
|
|
24
|
+
cleanupCapacity: value.cleanupCapacity === undefined ? undefined : count(value.cleanupCapacity, operation),
|
|
25
|
+
ownerCapacity: value.ownerCapacity === undefined ? undefined : count(value.ownerCapacity, operation),
|
|
26
|
+
nativeHandleCapacity: value.nativeHandleCapacity === undefined ? undefined : count(value.nativeHandleCapacity, operation),
|
|
27
|
+
cleanupTimeoutMs: value.cleanupTimeout === undefined ? undefined : count(millis(value.cleanupTimeout, operation), operation)
|
|
49
28
|
};
|
|
50
29
|
}
|
|
51
30
|
function failure(operation, cause) {
|
|
@@ -103,13 +82,6 @@ function afterClose(operation, report, effect) {
|
|
|
103
82
|
}
|
|
104
83
|
return effect.pipe(Effect.onExit(() => Effect.die(new CloseFailure({ operation, report }))));
|
|
105
84
|
}
|
|
106
|
-
/** Independent caps intersect: a delivery request cannot enlarge `work.resultBytes`. */
|
|
107
|
-
export function deliveryResultBytes(requested, work) {
|
|
108
|
-
if (typeof requested !== "bigint" || requested < 0n) {
|
|
109
|
-
throw invalid("deliveryResultBytes");
|
|
110
|
-
}
|
|
111
|
-
return requested < work.resultBytes ? requested : work.resultBytes;
|
|
112
|
-
}
|
|
113
85
|
function close(handle) {
|
|
114
86
|
return drain("NativeRuntime.close", (callback) => runtimeNative.runtimeClose(handle, callback));
|
|
115
87
|
}
|
|
@@ -170,15 +142,7 @@ const acquire = Effect.fn("NativeRuntime.acquire")(function* (configuration) {
|
|
|
170
142
|
const wire = options(configuration);
|
|
171
143
|
handle = runtimeNative.runtimeOpen(wire);
|
|
172
144
|
const owner = handle;
|
|
173
|
-
const lease = runtimeNative.runtimeReady(owner, {
|
|
174
|
-
inputBytes: 0n,
|
|
175
|
-
workingBytes: 0n,
|
|
176
|
-
scratchBytes: 0n,
|
|
177
|
-
resultBytes: 0n,
|
|
178
|
-
rows: 0n,
|
|
179
|
-
workUnits: 1n,
|
|
180
|
-
timeoutMs: wire.cleanupTimeoutMs
|
|
181
|
-
}, () => {
|
|
145
|
+
const lease = runtimeNative.runtimeReady(owner, () => {
|
|
182
146
|
if (signal.aborted) {
|
|
183
147
|
try {
|
|
184
148
|
runtimeNative.runtimeClose(owner, (report) => {
|
|
@@ -194,8 +158,8 @@ const acquire = Effect.fn("NativeRuntime.acquire")(function* (configuration) {
|
|
|
194
158
|
runtimeNative.runtimeTake(lease);
|
|
195
159
|
const service = {
|
|
196
160
|
close: () => close(owner),
|
|
197
|
-
inspect: Effect.fn("NativeRuntime.inspect")(function* (
|
|
198
|
-
yield* nativeOperation("NativeRuntime.inspect", (callback) => runtimeNative.runtimeReady(owner,
|
|
161
|
+
inspect: Effect.fn("NativeRuntime.inspect")(function* () {
|
|
162
|
+
yield* nativeOperation("NativeRuntime.inspect", (callback) => runtimeNative.runtimeReady(owner, callback), () => undefined);
|
|
199
163
|
return runtimeNative.runtimeInspect(owner);
|
|
200
164
|
})
|
|
201
165
|
};
|
|
@@ -221,7 +185,7 @@ const acquire = Effect.fn("NativeRuntime.acquire")(function* (configuration) {
|
|
|
221
185
|
}), (service) => service.close().pipe(Effect.flatMap((report) => finalizeClose("NativeRuntime.release", report))), { interruptible: true });
|
|
222
186
|
});
|
|
223
187
|
export class NativeRuntime extends Context.Service()("@bjornpagen/bumbledb/NativeRuntime") {
|
|
224
|
-
static layer(options) {
|
|
188
|
+
static layer(options = {}) {
|
|
225
189
|
return Layer.effect(NativeRuntime, acquire(options));
|
|
226
190
|
}
|
|
227
191
|
}
|
|
@@ -243,15 +207,11 @@ function joinLockRelease(operation, owner) {
|
|
|
243
207
|
* and acquire failure all run the same slot finalizer — empty slot is
|
|
244
208
|
* a no-op. No `runtimeDirectoryAcquire`, no core `Db`, no JS bookkeeping.
|
|
245
209
|
*/
|
|
246
|
-
export const internalAcquireRepositoryLock = Effect.fn("internalAcquireRepositoryLock")(function* (operation, directory
|
|
210
|
+
export const internalAcquireRepositoryLock = Effect.fn("internalAcquireRepositoryLock")(function* (operation, directory) {
|
|
247
211
|
if (directory.length === 0) {
|
|
248
212
|
return yield* Effect.fail(invalid(operation));
|
|
249
213
|
}
|
|
250
214
|
const runtime = yield* runtimeHandle();
|
|
251
|
-
const wire = yield* Effect.try({
|
|
252
|
-
try: () => policyWire(work, operation),
|
|
253
|
-
catch: () => invalid(operation)
|
|
254
|
-
});
|
|
255
215
|
const closeOp = `${operation}.repositoryLock`;
|
|
256
216
|
return yield* Effect.uninterruptibleMask((restore) => Effect.gen(function* () {
|
|
257
217
|
const slot = { owner: undefined };
|
|
@@ -265,7 +225,7 @@ export const internalAcquireRepositoryLock = Effect.fn("internalAcquireRepositor
|
|
|
265
225
|
})));
|
|
266
226
|
});
|
|
267
227
|
yield* Effect.addFinalizer(() => release);
|
|
268
|
-
const owner = yield* restore(nativeOperationWith(operation, (callback) => runtimeNative.logRepositoryLockAcquire(runtime,
|
|
228
|
+
const owner = yield* restore(nativeOperationWith(operation, (callback) => runtimeNative.logRepositoryLockAcquire(runtime, directory, callback), runtimeNative.logRepositoryLockTake, (value) => value));
|
|
269
229
|
slot.owner = owner;
|
|
270
230
|
return Object.freeze({
|
|
271
231
|
directory,
|
|
@@ -274,7 +234,7 @@ export const internalAcquireRepositoryLock = Effect.fn("internalAcquireRepositor
|
|
|
274
234
|
}));
|
|
275
235
|
});
|
|
276
236
|
/** Internal first executor consumer; not a replacement row codec or public hash API. */
|
|
277
|
-
export const hashChunk = Effect.fn("bumbledb.hashChunk")(function* (input
|
|
237
|
+
export const hashChunk = Effect.fn("bumbledb.hashChunk")(function* (input) {
|
|
278
238
|
const runtime = yield* NativeRuntime;
|
|
279
239
|
const handle = owners.get(runtime);
|
|
280
240
|
if (handle === undefined)
|
|
@@ -282,7 +242,7 @@ export const hashChunk = Effect.fn("bumbledb.hashChunk")(function* (input, work)
|
|
|
282
242
|
return yield* nativeOperation("hashChunk", (callback) => {
|
|
283
243
|
if (!(input instanceof Uint8Array) || !(input.buffer instanceof ArrayBuffer))
|
|
284
244
|
throw invalid("hashChunk");
|
|
285
|
-
return runtimeNative.runtimeHash(handle,
|
|
245
|
+
return runtimeNative.runtimeHash(handle, input, callback);
|
|
286
246
|
}, (value) => {
|
|
287
247
|
if (value === null)
|
|
288
248
|
throw dbError("hashChunk", { _tag: "Internal" });
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/pack-provenance.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"candidateSourceDigest": "
|
|
2
|
+
"candidateSourceDigest": "ce683a6eea8a6632f1c805e0fd7f94d74c0fd2b46736cf609b3f26e6913d24a8",
|
|
3
3
|
"specificationRevision": "87e9a83ee21d1f843c73ac6e7057b2b740db75aae70a553b8053b4f38e87bd2d",
|
|
4
|
-
"stagedAt": "2026-09-
|
|
4
|
+
"stagedAt": "2026-09-08T18:31:11.245Z",
|
|
5
5
|
"package": "@bjornpagen/bumbledb",
|
|
6
|
-
"version": "1.0
|
|
6
|
+
"version": "1.1.0"
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bjornpagen/bumbledb",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
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.1.0",
|
|
61
|
+
"@bjornpagen/bumbledb-linux-arm64": "1.1.0",
|
|
62
|
+
"@bjornpagen/bumbledb-linux-x64": "1.1.0"
|
|
63
63
|
}
|
|
64
64
|
}
|
package/src/changes.ts
CHANGED
|
@@ -8,9 +8,8 @@ import { dbNative } from "#db-native.ts"
|
|
|
8
8
|
import { lower } from "#lower.ts"
|
|
9
9
|
import type { AnyRelation, Fact } from "#relation.ts"
|
|
10
10
|
import type { CellValue } from "#rows.ts"
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
13
|
-
import { nativeOperationWith, policyWire, runtimeHandle } from "#runtime.ts"
|
|
11
|
+
import { cellOf, hostCellCharge, recordOf } from "#rows.ts"
|
|
12
|
+
import { nativeOperationWith, runtimeHandle } from "#runtime.ts"
|
|
14
13
|
import type { CloseReport } from "#runtime-errors.ts"
|
|
15
14
|
import { DbError } from "#runtime-errors.ts"
|
|
16
15
|
import type { AnySchema } from "#schema.ts"
|
|
@@ -33,7 +32,7 @@ interface ChangeSet<S extends AnySchema> {
|
|
|
33
32
|
/**
|
|
34
33
|
* `ChangeDraft` — the scoped, database-free construction capability.
|
|
35
34
|
* Every method constructs a LAZY effect; execution reads the then-current
|
|
36
|
-
* iterable
|
|
35
|
+
* iterable again on every sequential rerun (no hidden
|
|
37
36
|
* memoization, no automatic retry, no iterator replay). Input must stay
|
|
38
37
|
* stable from an ingestion effect's execution start through its Exit;
|
|
39
38
|
* after successful ingestion the accepted native bytes are independent.
|
|
@@ -53,16 +52,14 @@ interface ChangeDraft<S extends AnySchema> {
|
|
|
53
52
|
* Host-copy granularity: one bounded host-to-native message per chunk, so
|
|
54
53
|
* real event-loop turns happen between chunks (each chunk completes through
|
|
55
54
|
* a native callback, not a microtask chain). These are converter
|
|
56
|
-
* granularity
|
|
57
|
-
*
|
|
58
|
-
* calls and chunks (chunks never reset it).
|
|
55
|
+
* granularity targets, not database-size limits. One larger row travels
|
|
56
|
+
* alone; otherwise native callbacks provide backpressure between batches.
|
|
59
57
|
*/
|
|
60
58
|
const CHUNK_BYTES = 65536n
|
|
61
59
|
const CHUNK_ROWS = 4096
|
|
62
60
|
|
|
63
61
|
interface DraftState {
|
|
64
62
|
readonly handle: DraftHandle
|
|
65
|
-
readonly policy: ExecutionPolicy
|
|
66
63
|
readonly theory: AnySchema
|
|
67
64
|
spent: boolean
|
|
68
65
|
inFlight: boolean
|
|
@@ -107,7 +104,7 @@ function hostFactCharge(relation: AnyRelation, record: Readonly<Record<string, u
|
|
|
107
104
|
if (value === undefined) {
|
|
108
105
|
throw refusal("ChangeDraft.ingest", "InvalidArgument")
|
|
109
106
|
}
|
|
110
|
-
bytes +=
|
|
107
|
+
bytes += hostCellCharge(value)
|
|
111
108
|
}
|
|
112
109
|
return bytes
|
|
113
110
|
}
|
|
@@ -150,7 +147,7 @@ function pullChunk(relation: AnyRelation, iterator: Iterator<object>, pending: o
|
|
|
150
147
|
leftover = current
|
|
151
148
|
break
|
|
152
149
|
}
|
|
153
|
-
|
|
150
|
+
for (const cell of projectFact(relation, record)) cells.push(cell)
|
|
154
151
|
bytes += charge
|
|
155
152
|
rows += 1n
|
|
156
153
|
current = undefined
|
|
@@ -197,38 +194,45 @@ function ingest(
|
|
|
197
194
|
return yield* Effect.fail(refusal(operation, "InvalidArgument"))
|
|
198
195
|
}
|
|
199
196
|
state.inFlight = true
|
|
200
|
-
const wire = yield* Effect.try({
|
|
201
|
-
try: () => policyWire(state.policy, operation),
|
|
202
|
-
catch: () => refusal(operation, "InvalidArgument")
|
|
203
|
-
})
|
|
204
197
|
const body = Effect.gen(function* () {
|
|
205
|
-
const iterator =
|
|
198
|
+
const iterator = yield* Effect.try({
|
|
199
|
+
try: () => rows[Symbol.iterator](),
|
|
200
|
+
catch: () => refusal(operation, "InvalidArgument")
|
|
201
|
+
})
|
|
206
202
|
let leftover: object | undefined
|
|
207
203
|
let done = false
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
Effect.
|
|
227
|
-
|
|
228
|
-
|
|
204
|
+
return yield* Effect.gen(function* () {
|
|
205
|
+
while (!done) {
|
|
206
|
+
const chunk = yield* Effect.try({
|
|
207
|
+
try: () => pullChunk(relation, iterator, leftover),
|
|
208
|
+
catch: (cause) => (cause instanceof DbError ? cause : refusal(operation, "InvalidArgument"))
|
|
209
|
+
}).pipe(Effect.catch((error) => spendAndDrain(state, operation).pipe(Effect.andThen(Effect.fail(error)))))
|
|
210
|
+
leftover = chunk.leftover
|
|
211
|
+
done = chunk.done && leftover === undefined
|
|
212
|
+
if (chunk.rows === 0n) {
|
|
213
|
+
continue
|
|
214
|
+
}
|
|
215
|
+
yield* eventLoopTurn()
|
|
216
|
+
yield* nativeOperationWith(
|
|
217
|
+
operation,
|
|
218
|
+
(callback) => verb(state.handle, relationId, chunk.rows, chunk.cells, callback),
|
|
219
|
+
dbNative.runtimeReportTake,
|
|
220
|
+
() => undefined
|
|
221
|
+
).pipe(
|
|
222
|
+
Effect.catch((error) =>
|
|
223
|
+
Effect.sync(() => {
|
|
224
|
+
state.spent = true
|
|
225
|
+
}).pipe(Effect.andThen(Effect.fail(error)))
|
|
226
|
+
)
|
|
229
227
|
)
|
|
228
|
+
}
|
|
229
|
+
}).pipe(
|
|
230
|
+
Effect.ensuring(
|
|
231
|
+
Effect.sync(() => {
|
|
232
|
+
if (!done) iterator.return?.()
|
|
233
|
+
})
|
|
230
234
|
)
|
|
231
|
-
|
|
235
|
+
)
|
|
232
236
|
})
|
|
233
237
|
return yield* Effect.onExit(body, (exit) => {
|
|
234
238
|
state.inFlight = false
|
|
@@ -274,8 +278,7 @@ function makeDraft<S extends AnySchema>(state: DraftState, schemaId: SchemaId):
|
|
|
274
278
|
state.spent = true
|
|
275
279
|
const wire = yield* nativeOperationWith(
|
|
276
280
|
"ChangeDraft.finish",
|
|
277
|
-
(callback) =>
|
|
278
|
-
dbNative.runtimeDraftFinish(state.handle, policyWire(state.policy, "ChangeDraft.finish"), callback),
|
|
281
|
+
(callback) => dbNative.runtimeDraftFinish(state.handle, callback),
|
|
279
282
|
dbNative.runtimeChangesTake,
|
|
280
283
|
(value) => value
|
|
281
284
|
)
|
|
@@ -306,27 +309,26 @@ function makeDraft<S extends AnySchema>(state: DraftState, schemaId: SchemaId):
|
|
|
306
309
|
}
|
|
307
310
|
|
|
308
311
|
/**
|
|
309
|
-
* `ChangeSet.builder(schema
|
|
312
|
+
* `ChangeSet.builder(schema)` — lazy scoped acquisition of a
|
|
310
313
|
* database-free draft. Requires the acquired
|
|
311
314
|
* `NativeRuntime`; the draft's native resources release with its scope, and
|
|
312
315
|
* the scope finalizer surfaces incomplete/failed teardown as a
|
|
313
316
|
* `CloseFailure` defect.
|
|
314
317
|
*/
|
|
315
|
-
const builder = Effect.fn("ChangeSet.builder")(function* <S extends AnySchema>(schema: S
|
|
318
|
+
const builder = Effect.fn("ChangeSet.builder")(function* <S extends AnySchema>(schema: S) {
|
|
316
319
|
const handle = yield* runtimeHandle()
|
|
317
|
-
const compiled = yield* CoreSchema.compile(schema
|
|
320
|
+
const compiled = yield* CoreSchema.compile(schema)
|
|
318
321
|
const spec = lower(schema)
|
|
319
322
|
return yield* Effect.acquireRelease(
|
|
320
323
|
Effect.gen(function* () {
|
|
321
324
|
const draftHandle = yield* nativeOperationWith(
|
|
322
325
|
"ChangeSet.builder",
|
|
323
|
-
(callback) => dbNative.runtimeDraftOpen(handle,
|
|
326
|
+
(callback) => dbNative.runtimeDraftOpen(handle, spec, callback),
|
|
324
327
|
dbNative.runtimeDraftTake,
|
|
325
328
|
(value) => value
|
|
326
329
|
)
|
|
327
330
|
const state: DraftState = {
|
|
328
331
|
handle: draftHandle,
|
|
329
|
-
policy: work,
|
|
330
332
|
theory: schema,
|
|
331
333
|
spent: false,
|
|
332
334
|
inFlight: false
|
package/src/codec.ts
CHANGED
|
@@ -7,8 +7,7 @@ import { lower } from "#lower.ts"
|
|
|
7
7
|
import type { AnyRelation, Fact } from "#relation.ts"
|
|
8
8
|
import type { CellValue } from "#rows.ts"
|
|
9
9
|
import { factOfCells, flatRowsOf } from "#rows.ts"
|
|
10
|
-
import
|
|
11
|
-
import { nativeOperationWith, policyWire, runtimeHandle } from "#runtime.ts"
|
|
10
|
+
import { nativeOperationWith, runtimeHandle } from "#runtime.ts"
|
|
12
11
|
import { DbError } from "#runtime-errors.ts"
|
|
13
12
|
import type { AnySchema } from "#schema.ts"
|
|
14
13
|
import type { Rel } from "#shape.ts"
|
|
@@ -22,7 +21,7 @@ import { Uuid } from "#uuid.ts"
|
|
|
22
21
|
* Two layers:
|
|
23
22
|
*
|
|
24
23
|
* 1. The CANONICAL native row codec: `encodeRows`/`decodeRows` run the
|
|
25
|
-
* same
|
|
24
|
+
* same native implementation the engine, log and migrations
|
|
26
25
|
* share (owned bytes in, owned typed rows out; untrusted input cannot
|
|
27
26
|
* inject native capabilities). Effect-only, `NativeRuntime` required.
|
|
28
27
|
* 2. The schema-tagged JSON VALUE form for HTTP/export boundaries
|
|
@@ -312,7 +311,7 @@ function rowSchema<R extends AnyRelation>(relation: R) {
|
|
|
312
311
|
}
|
|
313
312
|
|
|
314
313
|
/**
|
|
315
|
-
* The
|
|
314
|
+
* The canonical native row codec (chapter 35 roster): owned bytes
|
|
316
315
|
* out, owned typed rows back in — the same implementation log sealing and
|
|
317
316
|
* migrations use. Binding parameters is ingestion: input must stay stable
|
|
318
317
|
* through execution, and no native work starts before the checked owned
|
|
@@ -320,8 +319,7 @@ function rowSchema<R extends AnyRelation>(relation: R) {
|
|
|
320
319
|
*/
|
|
321
320
|
const encodeRows = Effect.fn("encodeRows")(function* <R extends AnyRelation>(
|
|
322
321
|
shape: RowShape<R>,
|
|
323
|
-
rows: Iterable<Fact<R
|
|
324
|
-
work: ExecutionPolicy
|
|
322
|
+
rows: Iterable<Fact<R>>
|
|
325
323
|
) {
|
|
326
324
|
const runtime = yield* runtimeHandle()
|
|
327
325
|
const tables = schemaTables(shape.schema)
|
|
@@ -336,26 +334,13 @@ const encodeRows = Effect.fn("encodeRows")(function* <R extends AnyRelation>(
|
|
|
336
334
|
const spec = lower(shape.schema)
|
|
337
335
|
return yield* nativeOperationWith(
|
|
338
336
|
"encodeRows",
|
|
339
|
-
(callback) =>
|
|
340
|
-
dbNative.runtimeEncodeRows(
|
|
341
|
-
runtime,
|
|
342
|
-
policyWire(work, "encodeRows"),
|
|
343
|
-
spec,
|
|
344
|
-
relationId,
|
|
345
|
-
flat.rows,
|
|
346
|
-
flat.cells,
|
|
347
|
-
callback
|
|
348
|
-
),
|
|
337
|
+
(callback) => dbNative.runtimeEncodeRows(runtime, spec, relationId, flat.rows, flat.cells, callback),
|
|
349
338
|
dbNative.runtimeBytesTake,
|
|
350
339
|
(bytes) => bytes
|
|
351
340
|
)
|
|
352
341
|
})
|
|
353
342
|
|
|
354
|
-
const decodeRows = Effect.fn("decodeRows")(function* <R extends AnyRelation>(
|
|
355
|
-
shape: RowShape<R>,
|
|
356
|
-
input: Uint8Array,
|
|
357
|
-
work: ExecutionPolicy
|
|
358
|
-
) {
|
|
343
|
+
const decodeRows = Effect.fn("decodeRows")(function* <R extends AnyRelation>(shape: RowShape<R>, input: Uint8Array) {
|
|
359
344
|
const runtime = yield* runtimeHandle()
|
|
360
345
|
const tables = schemaTables(shape.schema)
|
|
361
346
|
const relationId = tables.relationIds.get(shape.relation.name)
|
|
@@ -368,8 +353,7 @@ const decodeRows = Effect.fn("decodeRows")(function* <R extends AnyRelation>(
|
|
|
368
353
|
const spec = lower(shape.schema)
|
|
369
354
|
return yield* nativeOperationWith(
|
|
370
355
|
"decodeRows",
|
|
371
|
-
(callback) =>
|
|
372
|
-
dbNative.runtimeDecodeRows(runtime, policyWire(work, "decodeRows"), spec, relationId, input, callback),
|
|
356
|
+
(callback) => dbNative.runtimeDecodeRows(runtime, spec, relationId, input, callback),
|
|
373
357
|
dbNative.runtimeRowsTake,
|
|
374
358
|
(rows) => Object.freeze(rows.map((row) => factOfCells(shape.relation, row as readonly CellValue[])))
|
|
375
359
|
)
|
package/src/compile.ts
CHANGED
|
@@ -5,8 +5,7 @@ import { SdkInvariantError } from "#errors.ts"
|
|
|
5
5
|
import type { SchemaClasses } from "#law.ts"
|
|
6
6
|
import { lower } from "#lower.ts"
|
|
7
7
|
import type { SealedDescriptor } from "#native.ts"
|
|
8
|
-
import
|
|
9
|
-
import { nativeOperationWith, policyWire, runtimeHandle } from "#runtime.ts"
|
|
8
|
+
import { nativeOperationWith, runtimeHandle } from "#runtime.ts"
|
|
10
9
|
import type { AnySchema, Schema as SchemaDeclaration, SchemaRelations } from "#schema.ts"
|
|
11
10
|
import type { Statement } from "#statements.ts"
|
|
12
11
|
|
|
@@ -98,19 +97,19 @@ function admitSchemaId(fingerprint: string): SchemaId {
|
|
|
98
97
|
}
|
|
99
98
|
|
|
100
99
|
/**
|
|
101
|
-
*
|
|
100
|
+
* Effectful native schema admission/compilation: a
|
|
102
101
|
* schema declaration is pure metadata and never a claim its theory has been
|
|
103
|
-
* admitted. Runs on the
|
|
102
|
+
* admitted. Runs on the shared executor, requires the
|
|
104
103
|
* acquired {@link NativeRuntime}, and yields detached immutable descriptor
|
|
105
104
|
* data plus the canonical schema identity. No database is opened and no
|
|
106
105
|
* native finalizer is created.
|
|
107
106
|
*/
|
|
108
|
-
const compile = Effect.fn("Schema.compile")(function* <S extends AnySchema>(schema: S
|
|
107
|
+
const compile = Effect.fn("Schema.compile")(function* <S extends AnySchema>(schema: S) {
|
|
109
108
|
const handle = yield* runtimeHandle()
|
|
110
109
|
const spec = lower(schema)
|
|
111
110
|
const descriptor = yield* nativeOperationWith(
|
|
112
111
|
"Schema.compile",
|
|
113
|
-
(callback) => dbNative.runtimeSchemaCompile(handle,
|
|
112
|
+
(callback) => dbNative.runtimeSchemaCompile(handle, spec, callback),
|
|
114
113
|
dbNative.runtimeSchemaTake,
|
|
115
114
|
(value) => value
|
|
116
115
|
)
|