@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.
Files changed (78) hide show
  1. package/COOKBOOK.md +64 -27
  2. package/README.md +21 -20
  3. package/dist/changes.d.ts +2 -3
  4. package/dist/changes.d.ts.map +1 -1
  5. package/dist/changes.js +35 -32
  6. package/dist/changes.js.map +1 -1
  7. package/dist/codec.d.ts +4 -5
  8. package/dist/codec.d.ts.map +1 -1
  9. package/dist/codec.js +6 -6
  10. package/dist/codec.js.map +1 -1
  11. package/dist/compile.d.ts +1 -2
  12. package/dist/compile.d.ts.map +1 -1
  13. package/dist/compile.js +5 -5
  14. package/dist/compile.js.map +1 -1
  15. package/dist/db-native.d.ts +37 -41
  16. package/dist/db-native.d.ts.map +1 -1
  17. package/dist/db-native.js.map +1 -1
  18. package/dist/db.d.ts +37 -22
  19. package/dist/db.d.ts.map +1 -1
  20. package/dist/db.js +71 -57
  21. package/dist/db.js.map +1 -1
  22. package/dist/index.d.ts +3 -3
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/internal/log.d.ts +4 -4
  27. package/dist/internal/log.d.ts.map +1 -1
  28. package/dist/internal/log.js +1 -1
  29. package/dist/internal/log.js.map +1 -1
  30. package/dist/law.d.ts +1 -1
  31. package/dist/migration.d.ts +2 -3
  32. package/dist/migration.d.ts.map +1 -1
  33. package/dist/migration.js +5 -5
  34. package/dist/migration.js.map +1 -1
  35. package/dist/native.d.ts +1 -1
  36. package/dist/native.d.ts.map +1 -1
  37. package/dist/native.js.map +1 -1
  38. package/dist/result.d.ts +10 -25
  39. package/dist/result.d.ts.map +1 -1
  40. package/dist/result.js +7 -12
  41. package/dist/result.js.map +1 -1
  42. package/dist/rows.d.ts +5 -11
  43. package/dist/rows.d.ts.map +1 -1
  44. package/dist/rows.js +6 -40
  45. package/dist/rows.js.map +1 -1
  46. package/dist/runtime-codes.d.ts +1 -1
  47. package/dist/runtime-codes.d.ts.map +1 -1
  48. package/dist/runtime-codes.js +1 -2
  49. package/dist/runtime-codes.js.map +1 -1
  50. package/dist/runtime-errors.d.ts +3 -15
  51. package/dist/runtime-errors.d.ts.map +1 -1
  52. package/dist/runtime-errors.js +1 -5
  53. package/dist/runtime-errors.js.map +1 -1
  54. package/dist/runtime-native.d.ts +16 -34
  55. package/dist/runtime-native.d.ts.map +1 -1
  56. package/dist/runtime-native.js.map +1 -1
  57. package/dist/runtime.d.ts +11 -28
  58. package/dist/runtime.d.ts.map +1 -1
  59. package/dist/runtime.js +14 -54
  60. package/dist/runtime.js.map +1 -1
  61. package/pack-provenance.json +3 -3
  62. package/package.json +4 -4
  63. package/src/changes.ts +46 -44
  64. package/src/codec.ts +7 -23
  65. package/src/compile.ts +5 -6
  66. package/src/db-native.ts +31 -68
  67. package/src/db.ts +148 -127
  68. package/src/index.ts +5 -4
  69. package/src/internal/log.ts +2 -5
  70. package/src/law.ts +1 -1
  71. package/src/migration.ts +5 -12
  72. package/src/native.ts +0 -1
  73. package/src/result.ts +16 -45
  74. package/src/rows.ts +6 -56
  75. package/src/runtime-codes.ts +1 -2
  76. package/src/runtime-errors.ts +1 -5
  77. package/src/runtime-native.ts +13 -46
  78. 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, PolicyWire, RuntimeHandle } from "./runtime-native.js";
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: number;
16
- readonly queueCapacity: number;
17
- readonly cleanupCapacity: number;
18
- readonly ownerCapacity: number;
19
- readonly nativeHandleCapacity: number;
20
- readonly inputBytes: bigint;
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: (work: ExecutionPolicy) => Effect.Effect<OutstandingWork, DbError>;
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: NativeRuntimeOptions): Layer.Layer<NativeRuntime, DbError>;
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, work: ExecutionPolicy) => Effect.Effect<Readonly<{
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>, work: ExecutionPolicy) => Effect.Effect<Uint8Array<ArrayBufferLike>, DbError, NativeRuntime>;
54
+ export declare const hashChunk: (input: Uint8Array<ArrayBufferLike>) => Effect.Effect<Uint8Array<ArrayBufferLike>, DbError, NativeRuntime>;
72
55
  export {};
73
56
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
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
- inputBytes: bytes(value.inputBytes, operation),
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* (work) {
198
- yield* nativeOperation("NativeRuntime.inspect", (callback) => runtimeNative.runtimeReady(owner, policyWire(work, "NativeRuntime.inspect"), callback), () => undefined);
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, work) {
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, wire, directory, callback), runtimeNative.logRepositoryLockTake, (value) => value));
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, work) {
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, policyWire(work, "hashChunk"), input, callback);
245
+ return runtimeNative.runtimeHash(handle, input, callback);
286
246
  }, (value) => {
287
247
  if (value === null)
288
248
  throw dbError("hashChunk", { _tag: "Internal" });
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  {
2
- "candidateSourceDigest": "2889a1f3027f53bdb6082570e9f215dfe27363d123593bae1f5cf479a217da4f",
2
+ "candidateSourceDigest": "ce683a6eea8a6632f1c805e0fd7f94d74c0fd2b46736cf609b3f26e6913d24a8",
3
3
  "specificationRevision": "87e9a83ee21d1f843c73ac6e7057b2b740db75aae70a553b8053b4f38e87bd2d",
4
- "stagedAt": "2026-09-07T15:15:57.980Z",
4
+ "stagedAt": "2026-09-08T18:31:11.245Z",
5
5
  "package": "@bjornpagen/bumbledb",
6
- "version": "1.0.1"
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.1",
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.1",
61
- "@bjornpagen/bumbledb-linux-arm64": "1.0.1",
62
- "@bjornpagen/bumbledb-linux-x64": "1.0.1"
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 { assertHostCellFits, cellOf, recordOf } from "#rows.ts"
12
- import type { ExecutionPolicy } from "#runtime.ts"
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 and charges its work again on every sequential rerun (no hidden
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 bounds, not database-size policy — the draft's aggregate
57
- * input/working/spill budget is charged natively and is CUMULATIVE across
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 += assertHostCellFits(`relation ${data.name} field ${declared.name}`, value, CHUNK_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
- cells.push(...projectFact(relation, record))
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 = rows[Symbol.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
- while (!done) {
209
- const chunk = yield* Effect.try({
210
- try: () => pullChunk(relation, iterator, leftover),
211
- catch: (cause) => (cause instanceof DbError ? cause : refusal(operation, "InvalidArgument"))
212
- }).pipe(Effect.catch((error) => spendAndDrain(state, operation).pipe(Effect.andThen(Effect.fail(error)))))
213
- leftover = chunk.leftover
214
- done = chunk.done && leftover === undefined
215
- if (chunk.rows === 0n) {
216
- continue
217
- }
218
- yield* eventLoopTurn()
219
- yield* nativeOperationWith(
220
- operation,
221
- (callback) => verb(state.handle, wire, relationId, chunk.rows, chunk.cells, callback),
222
- dbNative.runtimeReportTake,
223
- () => undefined
224
- ).pipe(
225
- Effect.catch((error) =>
226
- Effect.sync(() => {
227
- state.spent = true
228
- }).pipe(Effect.andThen(Effect.fail(error)))
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, work)` — lazy scoped acquisition of a
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, work: ExecutionPolicy) {
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, work)
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, policyWire(work, "ChangeSet.builder"), spec, callback),
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 type { ExecutionPolicy } from "#runtime.ts"
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 charged native implementation the engine, log and migrations
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 charged CANONICAL native row codec (chapter 35 roster): owned bytes
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 type { ExecutionPolicy } from "#runtime.ts"
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
- * Charged, effectful native schema admission/compilation: a
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 one bounded executor under `work`, requires 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, work: ExecutionPolicy) {
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, policyWire(work, "Schema.compile"), spec, callback),
112
+ (callback) => dbNative.runtimeSchemaCompile(handle, spec, callback),
114
113
  dbNative.runtimeSchemaTake,
115
114
  (value) => value
116
115
  )