@bjornpagen/bumbledb 1.3.1 → 2.0.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 (290) hide show
  1. package/COOKBOOK.md +153 -77
  2. package/README.md +107 -41
  3. package/dist/alternatives.d.ts +5 -6
  4. package/dist/alternatives.d.ts.map +1 -1
  5. package/dist/alternatives.js +5 -6
  6. package/dist/alternatives.js.map +1 -1
  7. package/dist/bin.d.ts +3 -0
  8. package/dist/bin.d.ts.map +1 -0
  9. package/dist/bin.js +85 -0
  10. package/dist/bin.js.map +1 -0
  11. package/dist/capacity.d.ts +14 -17
  12. package/dist/capacity.d.ts.map +1 -1
  13. package/dist/capacity.js +7 -7
  14. package/dist/capacity.js.map +1 -1
  15. package/dist/changes.d.ts +32 -40
  16. package/dist/changes.d.ts.map +1 -1
  17. package/dist/changes.js +86 -104
  18. package/dist/changes.js.map +1 -1
  19. package/dist/closed.d.ts +2 -2
  20. package/dist/closed.d.ts.map +1 -1
  21. package/dist/closed.js +5 -5
  22. package/dist/closed.js.map +1 -1
  23. package/dist/codec.d.ts +13 -27
  24. package/dist/codec.d.ts.map +1 -1
  25. package/dist/codec.js +20 -21
  26. package/dist/codec.js.map +1 -1
  27. package/dist/compile.d.ts +26 -50
  28. package/dist/compile.d.ts.map +1 -1
  29. package/dist/compile.js +75 -64
  30. package/dist/compile.js.map +1 -1
  31. package/dist/database/database.d.ts +98 -0
  32. package/dist/database/database.d.ts.map +1 -0
  33. package/dist/database/database.js +249 -0
  34. package/dist/database/database.js.map +1 -0
  35. package/dist/database/driver.d.ts +40 -0
  36. package/dist/database/driver.d.ts.map +1 -0
  37. package/dist/database/driver.js +68 -0
  38. package/dist/database/driver.js.map +1 -0
  39. package/dist/database/fs.d.ts +12 -0
  40. package/dist/database/fs.d.ts.map +1 -0
  41. package/dist/database/fs.js +120 -0
  42. package/dist/database/fs.js.map +1 -0
  43. package/dist/database/generate.d.ts +26 -0
  44. package/dist/database/generate.d.ts.map +1 -0
  45. package/dist/database/generate.js +102 -0
  46. package/dist/database/generate.js.map +1 -0
  47. package/dist/database/hosted.d.ts +32 -0
  48. package/dist/database/hosted.d.ts.map +1 -0
  49. package/dist/database/hosted.js +44 -0
  50. package/dist/database/hosted.js.map +1 -0
  51. package/dist/database/io.d.ts +94 -0
  52. package/dist/database/io.d.ts.map +1 -0
  53. package/dist/database/io.js +35 -0
  54. package/dist/database/io.js.map +1 -0
  55. package/dist/database/mem.d.ts +26 -0
  56. package/dist/database/mem.d.ts.map +1 -0
  57. package/dist/database/mem.js +67 -0
  58. package/dist/database/mem.js.map +1 -0
  59. package/dist/database/migration.d.ts +55 -0
  60. package/dist/database/migration.d.ts.map +1 -0
  61. package/dist/database/migration.js +46 -0
  62. package/dist/database/migration.js.map +1 -0
  63. package/dist/database/s3.d.ts +36 -0
  64. package/dist/database/s3.d.ts.map +1 -0
  65. package/dist/database/s3.js +141 -0
  66. package/dist/database/s3.js.map +1 -0
  67. package/dist/db.d.ts +44 -128
  68. package/dist/db.d.ts.map +1 -1
  69. package/dist/db.js +163 -287
  70. package/dist/db.js.map +1 -1
  71. package/dist/engine.d.ts +7 -0
  72. package/dist/engine.d.ts.map +1 -0
  73. package/dist/engine.js +2 -0
  74. package/dist/engine.js.map +1 -0
  75. package/dist/errors.d.ts +152 -46
  76. package/dist/errors.d.ts.map +1 -1
  77. package/dist/errors.js +107 -19
  78. package/dist/errors.js.map +1 -1
  79. package/dist/face.d.ts +5 -5
  80. package/dist/face.d.ts.map +1 -1
  81. package/dist/face.js +6 -6
  82. package/dist/face.js.map +1 -1
  83. package/dist/fields.d.ts +4 -5
  84. package/dist/fields.d.ts.map +1 -1
  85. package/dist/fields.js +3 -3
  86. package/dist/fields.js.map +1 -1
  87. package/dist/index.d.ts +60 -57
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +27 -28
  90. package/dist/index.js.map +1 -1
  91. package/dist/judgment.d.ts +1 -1
  92. package/dist/judgment.js +1 -1
  93. package/dist/law.d.ts +16 -68
  94. package/dist/law.d.ts.map +1 -1
  95. package/dist/law.js +3 -3
  96. package/dist/law.js.map +1 -1
  97. package/dist/lower.d.ts +3 -3
  98. package/dist/lower.d.ts.map +1 -1
  99. package/dist/lower.js +35 -39
  100. package/dist/lower.js.map +1 -1
  101. package/dist/native/addon.d.ts +23 -0
  102. package/dist/native/addon.d.ts.map +1 -0
  103. package/dist/native/addon.js +15 -0
  104. package/dist/native/addon.js.map +1 -0
  105. package/dist/native/binding.d.ts +996 -0
  106. package/dist/native/json.d.ts +14 -0
  107. package/dist/native/json.d.ts.map +1 -0
  108. package/dist/native/json.js +73 -0
  109. package/dist/native/json.js.map +1 -0
  110. package/dist/native/load.d.ts +9 -0
  111. package/dist/native/load.d.ts.map +1 -0
  112. package/dist/native/load.js +30 -0
  113. package/dist/native/load.js.map +1 -0
  114. package/dist/native/op.d.ts +29 -0
  115. package/dist/native/op.d.ts.map +1 -0
  116. package/dist/native/op.js +50 -0
  117. package/dist/native/op.js.map +1 -0
  118. package/dist/query/atom.d.ts +13 -14
  119. package/dist/query/atom.d.ts.map +1 -1
  120. package/dist/query/atom.js +2 -2
  121. package/dist/query/atom.js.map +1 -1
  122. package/dist/query/compute.d.ts +4 -4
  123. package/dist/query/compute.d.ts.map +1 -1
  124. package/dist/query/compute.js +4 -4
  125. package/dist/query/compute.js.map +1 -1
  126. package/dist/query/find.d.ts +8 -8
  127. package/dist/query/find.d.ts.map +1 -1
  128. package/dist/query/find.js +1 -1
  129. package/dist/query/lower.d.ts +22 -17
  130. package/dist/query/lower.d.ts.map +1 -1
  131. package/dist/query/lower.js +230 -343
  132. package/dist/query/lower.js.map +1 -1
  133. package/dist/query/run.d.ts +5 -5
  134. package/dist/query/run.d.ts.map +1 -1
  135. package/dist/query/run.js +32 -15
  136. package/dist/query/run.js.map +1 -1
  137. package/dist/query/scope.d.ts +20 -28
  138. package/dist/query/scope.d.ts.map +1 -1
  139. package/dist/query/scope.js +7 -7
  140. package/dist/query/scope.js.map +1 -1
  141. package/dist/query/segments.d.ts +2 -2
  142. package/dist/query/segments.d.ts.map +1 -1
  143. package/dist/query/segments.js +3 -3
  144. package/dist/query/segments.js.map +1 -1
  145. package/dist/relation.d.ts +1 -1
  146. package/dist/relation.d.ts.map +1 -1
  147. package/dist/relation.js +4 -4
  148. package/dist/relation.js.map +1 -1
  149. package/dist/result.d.ts +15 -22
  150. package/dist/result.d.ts.map +1 -1
  151. package/dist/result.js +30 -39
  152. package/dist/result.js.map +1 -1
  153. package/dist/rows.d.ts +9 -33
  154. package/dist/rows.d.ts.map +1 -1
  155. package/dist/rows.js +8 -12
  156. package/dist/rows.js.map +1 -1
  157. package/dist/runtime.d.ts +17 -20
  158. package/dist/runtime.d.ts.map +1 -1
  159. package/dist/runtime.js +41 -205
  160. package/dist/runtime.js.map +1 -1
  161. package/dist/scalar.d.ts +4 -4
  162. package/dist/scalar.d.ts.map +1 -1
  163. package/dist/scalar.js +24 -8
  164. package/dist/scalar.js.map +1 -1
  165. package/dist/schema.d.ts +7 -18
  166. package/dist/schema.d.ts.map +1 -1
  167. package/dist/schema.js +18 -228
  168. package/dist/schema.js.map +1 -1
  169. package/dist/selection.d.ts +4 -4
  170. package/dist/selection.d.ts.map +1 -1
  171. package/dist/selection.js +5 -5
  172. package/dist/selection.js.map +1 -1
  173. package/dist/shape.d.ts +5 -5
  174. package/dist/shape.d.ts.map +1 -1
  175. package/dist/spec.d.ts +7 -79
  176. package/dist/spec.d.ts.map +1 -1
  177. package/dist/spec.js.map +1 -1
  178. package/dist/statements.d.ts +3 -3
  179. package/dist/statements.d.ts.map +1 -1
  180. package/dist/statements.js +10 -10
  181. package/dist/statements.js.map +1 -1
  182. package/dist/uuid.d.ts +1 -1
  183. package/dist/uuid.d.ts.map +1 -1
  184. package/dist/uuid.js +1 -1
  185. package/dist/uuid.js.map +1 -1
  186. package/dist/values.d.ts +2 -2
  187. package/dist/values.d.ts.map +1 -1
  188. package/dist/values.js +2 -2
  189. package/dist/values.js.map +1 -1
  190. package/package.json +18 -18
  191. package/src/alternatives.ts +7 -8
  192. package/src/bin.ts +82 -0
  193. package/src/capacity.ts +20 -23
  194. package/src/changes.ts +134 -191
  195. package/src/closed.ts +5 -5
  196. package/src/codec.ts +35 -49
  197. package/src/compile.ts +91 -113
  198. package/src/database/database.ts +413 -0
  199. package/src/database/driver.ts +134 -0
  200. package/src/database/fs.ts +119 -0
  201. package/src/database/generate.ts +116 -0
  202. package/src/database/hosted.ts +102 -0
  203. package/src/database/io.ts +134 -0
  204. package/src/database/mem.ts +113 -0
  205. package/src/database/migration.ts +107 -0
  206. package/src/database/s3.ts +231 -0
  207. package/src/db.ts +290 -547
  208. package/src/engine.ts +14 -0
  209. package/src/errors.ts +118 -39
  210. package/src/face.ts +9 -9
  211. package/src/fields.ts +6 -7
  212. package/src/index.ts +92 -105
  213. package/src/judgment.ts +1 -1
  214. package/src/law.ts +18 -70
  215. package/src/lower.ts +61 -72
  216. package/src/native/addon.ts +54 -0
  217. package/src/native/binding.d.ts +996 -0
  218. package/src/native/json.ts +100 -0
  219. package/src/native/load.ts +31 -0
  220. package/src/native/op.ts +73 -0
  221. package/src/query/atom.ts +15 -16
  222. package/src/query/compute.ts +7 -7
  223. package/src/query/find.ts +8 -8
  224. package/src/query/lower.ts +270 -392
  225. package/src/query/run.ts +42 -21
  226. package/src/query/scope.ts +29 -37
  227. package/src/query/segments.ts +4 -4
  228. package/src/relation.ts +4 -4
  229. package/src/result.ts +53 -80
  230. package/src/rows.ts +18 -46
  231. package/src/runtime.ts +50 -277
  232. package/src/scalar.ts +32 -12
  233. package/src/schema.ts +23 -284
  234. package/src/selection.ts +6 -6
  235. package/src/shape.ts +5 -5
  236. package/src/spec.ts +7 -85
  237. package/src/statements.ts +11 -11
  238. package/src/uuid.ts +1 -1
  239. package/src/values.ts +4 -4
  240. package/dist/close.d.ts +0 -24
  241. package/dist/close.d.ts.map +0 -1
  242. package/dist/close.js +0 -34
  243. package/dist/close.js.map +0 -1
  244. package/dist/db-native.d.ts +0 -189
  245. package/dist/db-native.d.ts.map +0 -1
  246. package/dist/db-native.js +0 -13
  247. package/dist/db-native.js.map +0 -1
  248. package/dist/internal/log.d.ts +0 -26
  249. package/dist/internal/log.d.ts.map +0 -1
  250. package/dist/internal/log.js +0 -12
  251. package/dist/internal/log.js.map +0 -1
  252. package/dist/native.d.ts +0 -562
  253. package/dist/native.d.ts.map +0 -1
  254. package/dist/native.js +0 -123
  255. package/dist/native.js.map +0 -1
  256. package/dist/query/description.d.ts +0 -41
  257. package/dist/query/description.d.ts.map +0 -1
  258. package/dist/query/description.js +0 -311
  259. package/dist/query/description.js.map +0 -1
  260. package/dist/query/parse-ir.d.ts +0 -10
  261. package/dist/query/parse-ir.d.ts.map +0 -1
  262. package/dist/query/parse-ir.js +0 -280
  263. package/dist/query/parse-ir.js.map +0 -1
  264. package/dist/runtime-codes.d.ts +0 -2
  265. package/dist/runtime-codes.d.ts.map +0 -1
  266. package/dist/runtime-codes.js +0 -19
  267. package/dist/runtime-codes.js.map +0 -1
  268. package/dist/runtime-errors.d.ts +0 -138
  269. package/dist/runtime-errors.d.ts.map +0 -1
  270. package/dist/runtime-errors.js +0 -111
  271. package/dist/runtime-errors.js.map +0 -1
  272. package/dist/runtime-native.d.ts +0 -136
  273. package/dist/runtime-native.d.ts.map +0 -1
  274. package/dist/runtime-native.js +0 -5
  275. package/dist/runtime-native.js.map +0 -1
  276. package/dist/schema-file.d.ts +0 -7
  277. package/dist/schema-file.d.ts.map +0 -1
  278. package/dist/schema-file.js +0 -24
  279. package/dist/schema-file.js.map +0 -1
  280. package/pack-provenance.json +0 -7
  281. package/src/close.ts +0 -53
  282. package/src/db-native.ts +0 -235
  283. package/src/internal/log.ts +0 -46
  284. package/src/native.ts +0 -736
  285. package/src/query/description.ts +0 -424
  286. package/src/query/parse-ir.ts +0 -293
  287. package/src/runtime-codes.ts +0 -18
  288. package/src/runtime-errors.ts +0 -122
  289. package/src/runtime-native.ts +0 -181
  290. package/src/schema-file.ts +0 -38
package/dist/runtime.js CHANGED
@@ -1,216 +1,52 @@
1
- import { Context, Duration, Effect, Exit, Layer } from "effect";
2
- import { CloseFailure, DbError, dbError } from "#runtime-errors.ts";
3
- import { runtimeNative } from "#runtime-native.ts";
4
- const owners = new WeakMap();
5
- function invalid(operation) {
6
- return new DbError({ operation, reason: { _tag: "InvalidArgument" } });
7
- }
8
- function count(value, operation) {
9
- if (!Number.isSafeInteger(value) || value <= 0 || value > 0xffffffff)
10
- throw invalid(operation);
11
- return value;
12
- }
13
- function millis(value, operation) {
14
- const duration = Duration.toMillis(value);
15
- if (!Number.isFinite(duration) || duration < 0 || duration > 0xffffffff)
16
- throw invalid(operation);
17
- return Math.ceil(duration);
18
- }
19
- function options(value) {
20
- const operation = "NativeRuntime.acquire";
21
- return {
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)
28
- };
29
- }
30
- function failure(operation, cause) {
31
- return cause instanceof DbError ? cause : dbError(operation, cause);
32
- }
33
- function closeReport(operation, report) {
34
- // A payload-less native "failed" drain (cleanup capacity exhausted, or
35
- // owner teardown failed) decodes as the core `Internal` reason — the
36
- // same mapping the log bridge applies, so one wire arm has one meaning.
37
- // It is deliberately NOT `QueueFull`: a failed drain is never retryable
38
- // submit backpressure.
39
- return report.kind === "failed" ? { kind: "failed", error: dbError(operation, { _tag: "Internal" }) } : report;
40
- }
41
- function drain(operation, start) {
42
- return Effect.callback((resume) => {
43
- try {
44
- start((report) => resume(Effect.succeed(closeReport(operation, report))));
45
- }
46
- catch (cause) {
47
- resume(Effect.succeed({ kind: "failed", error: failure(operation, cause) }));
48
- }
49
- }).pipe(Effect.uninterruptible);
50
- }
51
- export function finalizeClose(operation, report) {
52
- return report.kind === "closed" ? Effect.void : Effect.die(new CloseFailure({ operation, report }));
53
- }
54
- /**
55
- * Effect.callback's returned finalizer is interruption cleanup only
56
- * (`asyncFinalizer` runs solely on interrupt Cause). If that finalizer
57
- * dies, the original interrupt is dropped. Join the native drain here and
58
- * always succeed so the interrupt Cause is kept; attach CloseFailure via
59
- * `onExit` so both appear in the final Cause.
60
- */
61
- function joinInterruptDrain(operation, start, stash) {
62
- return drain(operation, start).pipe(Effect.tap((report) => {
63
- stash.report = report;
64
- return Effect.void;
65
- }), Effect.asVoid);
66
- }
67
- function attachInterruptClose(operation, stash) {
68
- return (effect) => effect.pipe(Effect.onExit((exit) => {
69
- if (!Exit.hasInterrupts(exit)) {
70
- return Effect.void;
71
- }
72
- const report = stash.report;
73
- if (report === undefined || report.kind === "closed") {
74
- return Effect.void;
75
- }
76
- return Effect.die(new CloseFailure({ operation, report }));
77
- }));
78
- }
79
- function afterClose(operation, report, effect) {
80
- if (report.kind === "closed") {
81
- return effect;
1
+ import { Context, Duration, Effect, Layer } from "effect";
2
+ import { DbError, dbError } from "./errors.js";
3
+ import { addon } from "./native/addon.js";
4
+ import { call, scoped } from "./native/op.js";
5
+ function wire(options) {
6
+ const timeout = options.cleanupTimeout === undefined ? undefined : Duration.toMillis(options.cleanupTimeout);
7
+ if (timeout !== undefined && !Number.isFinite(timeout)) {
8
+ throw new DbError({ operation: "Bumble.layer", reason: { _tag: "InvalidArgument" } });
82
9
  }
83
- return effect.pipe(Effect.onExit(() => Effect.die(new CloseFailure({ operation, report }))));
84
- }
85
- function close(handle) {
86
- return drain("NativeRuntime.close", (callback) => runtimeNative.runtimeClose(handle, callback));
87
- }
88
- /** Kick `runtimeCancel` without joining. Used when the completion
89
- * callback arrives after abort: JS must not `take`; L12 drain reclaims
90
- * queued Page/Rows. A second call is native-idempotent (Committed
91
- * mutations stay; only unpublished delivery is dropped).
92
- */
93
- function startCancelDrain(operation, lease, stash) {
94
- try {
95
- runtimeNative.runtimeCancel(lease, (report) => {
96
- stash.report = closeReport(operation, report);
10
+ const input = {
11
+ ...(options.workers === undefined ? {} : { workers: options.workers }),
12
+ ...(options.queueCapacity === undefined ? {} : { queueCapacity: options.queueCapacity }),
13
+ ...(options.cleanupCapacity === undefined ? {} : { cleanupCapacity: options.cleanupCapacity }),
14
+ ...(options.ownerCapacity === undefined ? {} : { ownerCapacity: options.ownerCapacity }),
15
+ ...(options.nativeHandleCapacity === undefined ? {} : { nativeHandleCapacity: options.nativeHandleCapacity }),
16
+ ...(timeout === undefined ? {} : { cleanupTimeoutMs: Math.ceil(timeout) })
17
+ };
18
+ return JSON.stringify(input);
19
+ }
20
+ /** The live native runtime: one worker pool and handle registry per process. */
21
+ export class Runtime {
22
+ #handle;
23
+ /** The runtime's outstanding native work, after every operation queued before it settles. */
24
+ inspect;
25
+ constructor(handle) {
26
+ this.#handle = handle;
27
+ this.inspect = Effect.fn("Bumble.inspect")(function* () {
28
+ yield* call("Bumble.inspect", (done) => addon.runtimeReady(handle, done), addon.runtimeTake);
29
+ return addon.runtimeInspect(handle);
97
30
  });
98
31
  }
99
- catch (cause) {
100
- stash.report = { kind: "failed", error: failure(operation, cause) };
32
+ static handle(runtime) {
33
+ return runtime.#handle;
101
34
  }
102
35
  }
103
- /** Registration returns the native lease before any completion can run in JS.
104
- * Interruption cancels and joins that lease, including a late successful result.
105
- * No Promise or libuv job is created for ordinary native work.
106
- */
107
- export function nativeOperation(operation, start, accept) {
108
- return nativeOperationWith(operation, start, runtimeNative.runtimeTake, accept);
109
- }
110
- export function nativeOperationWith(operation, start, take, accept) {
111
- const stash = {};
112
- const cancelOp = `${operation}.cancel`;
113
- return attachInterruptClose(cancelOp, stash)(Effect.callback((resume, signal) => {
114
- let lease;
115
- try {
116
- lease = start(() => {
117
- if (signal.aborted) {
118
- startCancelDrain(cancelOp, lease, stash);
119
- return;
120
- }
121
- try {
122
- resume(Effect.succeed(accept(take(lease))));
123
- }
124
- catch (cause) {
125
- resume(Effect.fail(failure(operation, cause)));
126
- }
127
- });
128
- }
129
- catch (cause) {
130
- resume(Effect.fail(failure(operation, cause)));
131
- return;
132
- }
133
- return joinInterruptDrain(cancelOp, (callback) => runtimeNative.runtimeCancel(lease, callback), stash);
134
- }));
135
- }
136
- const acquire = Effect.fn("NativeRuntime.acquire")(function* (configuration) {
137
- return yield* Effect.acquireRelease(Effect.suspend(() => {
138
- const stash = {};
139
- return attachInterruptClose("NativeRuntime.acquire.cancel", stash)(Effect.callback((resume, signal) => {
140
- let handle;
141
- try {
142
- const wire = options(configuration);
143
- handle = runtimeNative.runtimeOpen(wire);
144
- const owner = handle;
145
- const lease = runtimeNative.runtimeReady(owner, () => {
146
- if (signal.aborted) {
147
- try {
148
- runtimeNative.runtimeClose(owner, (report) => {
149
- stash.report = closeReport("NativeRuntime.acquire.cancel", report);
150
- });
151
- }
152
- catch (cause) {
153
- stash.report = { kind: "failed", error: failure("NativeRuntime.acquire.cancel", cause) };
154
- }
155
- return;
156
- }
157
- try {
158
- runtimeNative.runtimeTake(lease);
159
- const service = {
160
- close: () => close(owner),
161
- inspect: Effect.fn("NativeRuntime.inspect")(function* () {
162
- yield* nativeOperation("NativeRuntime.inspect", (callback) => runtimeNative.runtimeReady(owner, callback), () => undefined);
163
- return runtimeNative.runtimeInspect(owner);
164
- })
165
- };
166
- owners.set(service, owner);
167
- resume(Effect.succeed(service));
168
- }
169
- catch (cause) {
170
- const error = failure("NativeRuntime.acquire", cause);
171
- resume(close(owner).pipe(Effect.flatMap((report) => afterClose("NativeRuntime.acquire", report, Effect.fail(error)))));
172
- }
173
- });
174
- }
175
- catch (cause) {
176
- const error = failure("NativeRuntime.acquire", cause);
177
- resume(handle === undefined
178
- ? Effect.fail(error)
179
- : close(handle).pipe(Effect.flatMap((report) => afterClose("NativeRuntime.acquire", report, Effect.fail(error)))));
180
- }
181
- return handle === undefined
182
- ? Effect.void
183
- : joinInterruptDrain("NativeRuntime.acquire.cancel", (callback) => runtimeNative.runtimeClose(handle, callback), stash);
184
- }));
185
- }), (service) => service.close().pipe(Effect.flatMap((report) => finalizeClose("NativeRuntime.release", report))), { interruptible: true });
36
+ const acquire = Effect.fn("Bumble.layer")(function* (options) {
37
+ const input = yield* Effect.try({ try: () => wire(options), catch: (cause) => dbError("Bumble.layer", cause) });
38
+ const handle = yield* scoped("Bumble.release", Effect.try({ try: () => addon.runtimeOpen(input), catch: (cause) => dbError("Bumble.layer", cause) }), (owner) => (done) => addon.runtimeClose(owner, done));
39
+ yield* call("Bumble.layer", (done) => addon.runtimeReady(handle, done), addon.runtimeTake);
40
+ return new Runtime(handle);
186
41
  });
187
- export class NativeRuntime extends Context.Service()("@bjornpagen/bumbledb/NativeRuntime") {
42
+ /** The native runtime as an Effect service. Provide `Bumble.layer()` once in the application graph. */
43
+ export class Bumble extends Context.Service()("@bjornpagen/bumbledb/Bumble") {
188
44
  static layer(options = {}) {
189
- return Layer.effect(NativeRuntime, acquire(options));
45
+ return Layer.effect(Bumble, acquire(options));
190
46
  }
191
47
  }
192
- /** Private core/log integration: captures the already acquired shared service. */
193
- export const runtimeHandle = Effect.fn("NativeRuntime.handle")(function* () {
194
- const runtime = yield* NativeRuntime;
195
- const handle = owners.get(runtime);
196
- if (handle === undefined)
197
- return yield* Effect.fail(invalid("NativeRuntime.handle"));
198
- return handle;
199
- });
200
- /** Internal first executor consumer; not a replacement row codec or public hash API. */
201
- export const hashChunk = Effect.fn("bumbledb.hashChunk")(function* (input) {
202
- const runtime = yield* NativeRuntime;
203
- const handle = owners.get(runtime);
204
- if (handle === undefined)
205
- return yield* Effect.fail(invalid("hashChunk"));
206
- return yield* nativeOperation("hashChunk", (callback) => {
207
- if (!(input instanceof Uint8Array) || !(input.buffer instanceof ArrayBuffer))
208
- throw invalid("hashChunk");
209
- return runtimeNative.runtimeHash(handle, input, callback);
210
- }, (value) => {
211
- if (value === null)
212
- throw dbError("hashChunk", { _tag: "Internal" });
213
- return value;
214
- });
48
+ /** The provided runtime's native handle. */
49
+ export const runtimeHandle = Effect.gen(function* () {
50
+ return Runtime.handle(yield* Bumble);
215
51
  });
216
52
  //# sourceMappingURL=runtime.js.map
@@ -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/dist/scalar.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { ScalarExprIr } from "./native.js";
2
- import type { ValueSpec } from "./spec.js";
1
+ import type { ScalarExprIn } from "./native/binding.d.ts";
2
+ import type { ValueSpec } from "./spec.ts";
3
3
  /** The engine's scalar result vocabulary — distinct at the type level. */
4
4
  type ScalarKind = "u64" | "i64" | "f64" | "bool";
5
5
  /** Cached result kind: known only when derivable; otherwise honestly unresolved. */
@@ -110,8 +110,8 @@ declare function scalarCast(where: string, cast: NumericCast, result: ScalarKind
110
110
  declare function scalarFloatPredicate(where: string, op: "isNaN" | "isFinite", expr: ScalarNode): ScalarNode<"bool">;
111
111
  /** Query-var leaves collected once at find-binding time — not during construction. */
112
112
  declare function queryVarsOf(node: ScalarNode): readonly ScalarQueryVar[];
113
- /** Lower each query variable through its existing binding. */
114
- declare function scalarWire(node: ScalarNode, leaf: (node: QueryVarLeaf) => number): ScalarExprIr;
113
+ /** Lowers a scalar expression to the addon's `ScalarExprIn`; `leaf` numbers the rule variables. */
114
+ declare function scalarWire(node: ScalarNode, leaf: (node: QueryVarLeaf) => number): ScalarExprIn;
115
115
  export type { IntervalKind, NumericCast, NumericKind, QueryVarLeaf, Rounding, ScalarInputKind, ScalarKind, ScalarLiteral, ScalarNode, ScalarOpKind, ScalarQueryVar, ScalarResultKind, ScalarValue };
116
116
  export { assertDepth, assertNumeric, assertSameKind, checkBool, checkF64, checkI64, checkU64, isScalarNode, literalKindOf, literalValue, literalWireOf, MAX_SCALAR_DEPTH, queryVarLeaf, queryVarsOf, roundingMode, scalarAuthoringWork, scalarBinary, scalarCast, scalarFloatPredicate, scalarLiteral, scalarMeasure, scalarMulDiv, scalarNegate, scalarWire };
117
117
  //# sourceMappingURL=scalar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scalar.d.ts","sourceRoot":"","sources":["../src/scalar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scalar.d.ts","sourceRoot":"","sources":["../src/scalar.ts"],"names":[],"mappings":"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"}
package/dist/scalar.js CHANGED
@@ -1,11 +1,12 @@
1
1
  /** Query scalar nodes, with cached kind and depth. Construction is constant
2
2
  * work; native preparation binds variables and evaluates the expressions. */
3
- import { AuthoringError } from "#errors.ts";
3
+ import { AuthoringError } from "./errors.js";
4
+ import { valueIn } from "./native/json.js";
4
5
  const MAX_SCALAR_DEPTH = 128;
5
6
  const U64_MAX = (1n << 64n) - 1n;
6
7
  const I64_MIN = -(1n << 63n);
7
8
  const I64_MAX = (1n << 63n) - 1n;
8
- /** Constructor admissions only — not descendant visits. D27 construction-work pin. */
9
+ /** Constructor admissions only, not descendant visits. */
9
10
  let authoringWork = 0;
10
11
  function scalarAuthoringWork() {
11
12
  return authoringWork;
@@ -230,27 +231,42 @@ function queryVarsOf(node) {
230
231
  return vars;
231
232
  }
232
233
  /** Lower each query variable through its existing binding. */
234
+ const ROUNDING = {
235
+ towardZero: "TowardZero",
236
+ nearestTiesAwayFromZero: "NearestTiesAwayFromZero",
237
+ nearestTiesToEven: "NearestTiesToEven"
238
+ };
239
+ const CAST = { toF64: "ToF64", toF64Exact: "ToF64Exact", toI64Exact: "ToI64Exact", toU64Exact: "ToU64Exact" };
240
+ const UNARY = { measure: "Measure", negate: "Negate", isNaN: "IsNaN", isFinite: "IsFinite" };
241
+ const BINARY = { add: "Add", subtract: "Subtract", multiply: "Multiply", divide: "Divide" };
242
+ /** Lowers a scalar expression to the addon's `ScalarExprIn`; `leaf` numbers the rule variables. */
233
243
  function scalarWire(node, leaf) {
234
244
  const walk = (expr) => scalarWire(expr, leaf);
235
245
  switch (node.kind) {
236
246
  case "var":
237
- return { kind: "var", var: leaf(node) };
247
+ return { kind: "Var", var: leaf(node) };
238
248
  case "literal":
239
- return { kind: "literal", value: literalWireOf(node.value) };
249
+ return { kind: "Literal", value: valueIn(literalWireOf(node.value)) };
240
250
  case "measure":
241
251
  case "negate":
242
252
  case "isNaN":
243
253
  case "isFinite":
244
- return { kind: node.kind, expr: walk(node.expr) };
254
+ return { kind: UNARY[node.kind], expr: walk(node.expr) };
245
255
  case "cast":
246
- return { kind: node.kind, cast: node.cast, expr: walk(node.expr) };
256
+ return { kind: "Cast", cast: CAST[node.cast], expr: walk(node.expr) };
247
257
  case "mulDiv":
248
- return { kind: node.kind, a: walk(node.a), b: walk(node.b), divisor: walk(node.divisor), rounding: node.rounding };
258
+ return {
259
+ kind: "MulDiv",
260
+ a: walk(node.a),
261
+ b: walk(node.b),
262
+ divisor: walk(node.divisor),
263
+ rounding: ROUNDING[node.rounding]
264
+ };
249
265
  case "add":
250
266
  case "subtract":
251
267
  case "multiply":
252
268
  case "divide":
253
- return { kind: node.kind, left: walk(node.left), right: walk(node.right) };
269
+ return { kind: BINARY[node.kind], left: walk(node.left), right: walk(node.right) };
254
270
  }
255
271
  }
256
272
  export { assertDepth, assertNumeric, assertSameKind, checkBool, checkF64, checkI64, checkU64, isScalarNode, literalKindOf, literalValue, literalWireOf, MAX_SCALAR_DEPTH, queryVarLeaf, queryVarsOf, roundingMode, scalarAuthoringWork, scalarBinary, scalarCast, scalarFloatPredicate, scalarLiteral, scalarMeasure, scalarMulDiv, scalarNegate, scalarWire };
@@ -1 +1 @@
1
- {"version":3,"file":"scalar.js","sourceRoot":"","sources":["../src/scalar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scalar.js","sourceRoot":"","sources":["../src/scalar.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -1,23 +1,12 @@
1
1
  /**
2
- * `schema` — assembles relations and statements into a theory value (the
3
- * `Theory` analog; what `Db.create`/`Db.open` take). Construction-time
4
- * validation is the macro-EXPANSION-boundary analog: membership,
5
- * implied-key duplicates, duplicate statements, a belt-and-braces handle
6
- * re-verification — and the TARGET-KEY WALL ({@link verifyTargetKeys}),
7
- * the value tier of the two-tier containment law
8
- * (60-containment-parity): every containment/mirrors/capacity target
9
- * projection must set-match a key of its relation, judged HERE with the
10
- * engine's exact rule so `lower` never emits an engine-refused
11
- * containment. The type tier is `law.ts`'s `TargetKeyWall` (best effort,
12
- * statically known tuples); every OTHER semantic judgment (key-internal
13
- * legality, …) stays the engine's `SchemaError` at
14
- * `Db.create` — the engine is the final authority for every boundary,
15
- * this wall just makes the SDK agree with it first.
2
+ * `schema` assembles relations and statements into a schema value and has the engine compile it.
3
+ * The SDK checks only what the engine cannot see: that every statement names this schema's own
4
+ * relation values. Every other judgment is the engine's, reported as an `AuthoringError`.
16
5
  */
17
- import type { AnyClosed } from "./closed.js";
18
- import { type ClassesOf, type LawfulStatements, type SchemaClasses } from "./law.js";
19
- import type { AnyRelation } from "./relation.js";
20
- import { type Statement } from "./statements.js";
6
+ import type { AnyClosed } from "./closed.ts";
7
+ import { type ClassesOf, type LawfulStatements, type SchemaClasses } from "./law.ts";
8
+ import type { AnyRelation } from "./relation.ts";
9
+ import { type Statement } from "./statements.ts";
21
10
  type SchemaRelation = AnyRelation | AnyClosed;
22
11
  type SchemaRelations = Record<string, SchemaRelation>;
23
12
  interface Schema<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAK3C,OAAO,EAAE,KAAK,SAAS,EAAmC,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAA;AACpH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,EAAmB,KAAK,SAAS,EAAuB,MAAM,gBAAgB,CAAA;AAmRrF,KAAK,cAAc,GAAG,WAAW,GAAG,SAAS,CAAA;AAE7C,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAErD,UAAU,MAAM,CAAC,IAAI,SAAS,eAAe,EAAE,OAAO,SAAS,aAAa,GAAG,aAAa;IAC3F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CACzB;AAED,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;AAExC;;;;GAIG;AACH,iBAAS,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,GAAG,OAAO,CA0B1E;AAID,iBAAS,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;AAC3D,iBAAS,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;AAsBpD,KAAK,gBAAgB,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,aAAa,GACrE;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG;QAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE;CAAE,GACpE,KAAK,CAAA;AAaR,iBAAS,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,eAAe,EAAE,KAAK,CAAC,KAAK,SAAS,SAAS,SAAS,EAAE,EAC3F,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,IAAI,EACf,UAAU,EAAE,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,GAC/C,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CA2BxD;AAED,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAI5C,OAAO,EAAE,KAAK,SAAS,EAAmC,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AACrH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAmB,KAAK,SAAS,EAAuB,MAAM,iBAAiB,CAAA;AAwCtF,KAAK,cAAc,GAAG,WAAW,GAAG,SAAS,CAAA;AAE7C,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAErD,UAAU,MAAM,CAAC,IAAI,SAAS,eAAe,EAAE,OAAO,SAAS,aAAa,GAAG,aAAa;IAC3F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CACzB;AAED,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;AAExC;;;;GAIG;AACH,iBAAS,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,GAAG,OAAO,CA0B1E;AAID,iBAAS,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;AAC3D,iBAAS,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;AAsBpD,KAAK,gBAAgB,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,aAAa,GACrE;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG;QAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE;CAAE,GACpE,KAAK,CAAA;AAaR,iBAAS,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,eAAe,EAAE,KAAK,CAAC,KAAK,SAAS,SAAS,SAAS,EAAE,EAC3F,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,IAAI,EACf,UAAU,EAAE,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,GAC/C,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAaxD;AAED,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAA"}