@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
@@ -1,136 +0,0 @@
1
- /** Exact-version internal bridge, shared by core and log. Not a public API. */
2
- import type { DbHandle, LogChainKind, LogCommandKind, LogCommandMetadata, LogCommandRef, LogCondition, LogDecisionStamp, LogIdentity, LogLimits, LogOutcomeWire, LogSchemaHandle, LogStateStamp, Violation } from "./native.js";
3
- import { native } from "./native.js";
4
- import type { SchemaSpec } from "./spec.js";
5
- export interface RuntimeHandle {
6
- readonly __runtime: unique symbol;
7
- }
8
- export interface OperationHandle {
9
- readonly __operation: unique symbol;
10
- }
11
- export interface DirectoryHandle {
12
- readonly __directory: unique symbol;
13
- }
14
- /** Resource kinds installed in native worker tables. */
15
- export type NativeKind = "snapshot" | "prepared" | "result" | "cursor" | "draft" | "changes" | "repository-lock";
16
- /**
17
- * Checked capability into the native registry. JS tokens validate
18
- * these five fields; native re-judges kind/generation/owner on every verb.
19
- */
20
- export interface Capability {
21
- readonly runtime: bigint;
22
- readonly worker: number;
23
- readonly kind: NativeKind;
24
- readonly id: bigint;
25
- readonly generation: bigint;
26
- }
27
- export type ManagedDbOutcome = {
28
- readonly tag: "accepted";
29
- readonly db: DbHandle;
30
- } | {
31
- readonly tag: "rejected";
32
- readonly violations: readonly Violation[];
33
- } | {
34
- readonly tag: "refused";
35
- readonly kind: "schemaError" | "newtypeMismatch" | "fingerprintMismatch" | "destinationExists";
36
- readonly message: string;
37
- readonly diagnostic?: Extract<import("./runtime-errors.js").DbError["reason"], {
38
- _tag: "Engine";
39
- }>["diagnostic"];
40
- };
41
- export type LogTakeWire = {
42
- readonly ok: false;
43
- readonly kind: LogCommandKind | LogChainKind;
44
- readonly message: string;
45
- } | {
46
- /** Command sealed: envelope bytes + reference. */
47
- readonly ok: true;
48
- readonly bytes: Uint8Array;
49
- readonly ref: LogCommandRef;
50
- } | {
51
- /** Command parsed. */
52
- readonly ok: true;
53
- readonly identity: LogIdentity;
54
- readonly receiptEpoch: bigint;
55
- readonly requestId: string;
56
- readonly condition: LogCondition;
57
- readonly changes: Uint8Array;
58
- readonly result: Uint8Array;
59
- readonly ref: LogCommandRef;
60
- } | {
61
- /** Decision framed. */
62
- readonly ok: true;
63
- readonly bytes: Uint8Array;
64
- readonly digest: Uint8Array;
65
- } | {
66
- /** Decision decoded (and chain-verified when a parent was given). */
67
- readonly ok: true;
68
- readonly identity: LogIdentity;
69
- readonly seq: bigint;
70
- readonly parent: LogDecisionStamp;
71
- readonly beforeState: LogStateStamp;
72
- readonly afterState: LogStateStamp;
73
- readonly commandBytes: Uint8Array;
74
- readonly command: LogCommandRef;
75
- readonly outcome: LogOutcomeWire;
76
- readonly digest: Uint8Array;
77
- };
78
- export interface OptionsWire {
79
- readonly workers?: number | undefined;
80
- readonly queueCapacity?: number | undefined;
81
- readonly cleanupCapacity?: number | undefined;
82
- readonly ownerCapacity?: number | undefined;
83
- readonly nativeHandleCapacity?: number | undefined;
84
- readonly cleanupTimeoutMs?: number | undefined;
85
- }
86
- export interface InspectionWire {
87
- readonly phase: "open" | "closing" | "closed";
88
- readonly queued: bigint;
89
- readonly active: bigint;
90
- readonly retained: bigint;
91
- readonly owners: bigint;
92
- readonly databases: bigint;
93
- readonly natives: bigint;
94
- }
95
- export type CloseWire = {
96
- readonly kind: "closed";
97
- } | {
98
- readonly kind: "incomplete";
99
- readonly outstanding: InspectionWire;
100
- } | {
101
- readonly kind: "failed";
102
- };
103
- interface RuntimeNative {
104
- runtimeErrorCodes(): readonly string[];
105
- runtimeOpen(options: OptionsWire): RuntimeHandle;
106
- runtimeReady(runtime: RuntimeHandle, callback: () => void): OperationHandle;
107
- runtimeHash(runtime: RuntimeHandle, bytes: Uint8Array, callback: () => void): OperationHandle;
108
- runtimeTake(operation: OperationHandle): Uint8Array | null;
109
- runtimeCancel(operation: OperationHandle, callback: (report: CloseWire) => void): void;
110
- runtimeClose(runtime: RuntimeHandle, callback: (report: CloseWire) => void): void;
111
- runtimeInspect(runtime: RuntimeHandle): InspectionWire;
112
- /**
113
- * L12 request (D12/D25): one-shot arm. Next `dispatch_payload_message`
114
- * must cancel after `work()` returns and the post-work `checkpoint()`
115
- * (`runtime.rs` ~860–862), before `complete_operation` writes
116
- * `operation.output`. A local `QueuedOutput` is not registration.
117
- * Predelivery: no JS take; cursor stays on row1 so retry does not skip.
118
- */
119
- runtimeArmPublicationCancel(runtime: RuntimeHandle): void;
120
- runtimeDirectoryAcquire(runtime: RuntimeHandle, path: string, callback: () => void): OperationHandle;
121
- runtimeDirectoryTake(operation: OperationHandle): DirectoryHandle;
122
- runtimeDirectoryBegin(owner: DirectoryHandle): OperationHandle;
123
- runtimeDirectoryCheck(operation: OperationHandle): void;
124
- runtimeDirectoryEnd(operation: OperationHandle): void;
125
- runtimeDirectoryClose(owner: DirectoryHandle, remove: boolean, callback: (report: CloseWire) => void): void;
126
- runtimeDirectoryDbOpen(owner: DirectoryHandle, childName: string, spec: SchemaSpec, create: boolean, callback: () => void): OperationHandle;
127
- runtimeDbTake(operation: OperationHandle): ManagedDbOutcome;
128
- runtimeManagedDbClose(db: DbHandle, callback: (report: CloseWire) => void): void;
129
- runtimeLogCommandSeal(runtime: RuntimeHandle, schema: LogSchemaHandle, metadata: LogCommandMetadata, changes: Uint8Array, result: Uint8Array | null, limits: LogLimits, callback: () => void): OperationHandle;
130
- runtimeLogCommandParse(runtime: RuntimeHandle, schema: LogSchemaHandle, bytes: Uint8Array, limits: LogLimits, callback: () => void): OperationHandle;
131
- runtimeLogDecisionDecode(runtime: RuntimeHandle, bytes: Uint8Array, parent: LogDecisionStamp | null, limits: LogLimits, callback: () => void): OperationHandle;
132
- runtimeLogTake(operation: OperationHandle): LogTakeWire;
133
- }
134
- export declare const runtimeNative: typeof native & RuntimeNative;
135
- export {};
136
- //# sourceMappingURL=runtime-native.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-native.d.ts","sourceRoot":"","sources":["../src/runtime-native.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /** Exact-version internal bridge, shared by core and log. Not a public API. */
2
- import { native } from "#native.ts";
3
- // The checked source/fresh-addon roster test pins this private declaration.
4
- export const runtimeNative = native;
5
- //# sourceMappingURL=runtime-native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-native.js","sourceRoot":"","sources":["../src/runtime-native.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAiB/E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAkKnC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAuC,CAAA"}
@@ -1,7 +0,0 @@
1
- import { Effect } from "effect";
2
- import { DbError } from "./runtime-errors.js";
3
- import type { SchemaSpec } from "./spec.js";
4
- declare const internalSchemaSnapshot: (spec: SchemaSpec) => Effect.Effect<string, DbError, import("./runtime.js").NativeRuntime>;
5
- declare const internalSchemaBindings: (snapshot: string) => Effect.Effect<string, DbError, import("./runtime.js").NativeRuntime>;
6
- export { internalSchemaBindings, internalSchemaSnapshot };
7
- //# sourceMappingURL=schema-file.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-file.d.ts","sourceRoot":"","sources":["../src/schema-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,OAAO,EAAE,OAAO,EAAW,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAS1C,QAAA,MAAM,sBAAsB,2FAQ1B,CAAA;AAEF,QAAA,MAAM,sBAAsB,2FAY1B,CAAA;AAEF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAA"}
@@ -1,24 +0,0 @@
1
- import { Effect } from "effect";
2
- import { dbNative } from "#db-native.ts";
3
- import { nativeOperationWith, runtimeHandle } from "#runtime.ts";
4
- import { DbError, dbError } from "#runtime-errors.ts";
5
- const decoder = new TextDecoder("utf-8", { fatal: true });
6
- function text(operation, bytes) {
7
- if (bytes === null)
8
- throw dbError(operation, { _tag: "Internal" });
9
- return decoder.decode(bytes);
10
- }
11
- const internalSchemaSnapshot = Effect.fn("internalSchemaSnapshot")(function* (spec) {
12
- const runtime = yield* runtimeHandle();
13
- return yield* nativeOperationWith("internalSchemaSnapshot", (callback) => dbNative.runtimeSchemaSnapshot(runtime, spec, callback), dbNative.runtimeBytesTake, (bytes) => text("internalSchemaSnapshot", bytes));
14
- });
15
- const internalSchemaBindings = Effect.fn("internalSchemaBindings")(function* (snapshot) {
16
- if (typeof snapshot !== "string" || !snapshot.isWellFormed()) {
17
- return yield* Effect.fail(new DbError({ operation: "internalSchemaBindings", reason: { _tag: "InvalidArgument" } }));
18
- }
19
- const runtime = yield* runtimeHandle();
20
- const bytes = new TextEncoder().encode(snapshot);
21
- return yield* nativeOperationWith("internalSchemaBindings", (callback) => dbNative.runtimeSchemaBindings(runtime, bytes, callback), dbNative.runtimeBytesTake, (bytes) => text("internalSchemaBindings", bytes));
22
- });
23
- export { internalSchemaBindings, internalSchemaSnapshot };
24
- //# sourceMappingURL=schema-file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-file.js","sourceRoot":"","sources":["../src/schema-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAGrD,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAEzD,SAAS,IAAI,CAAC,SAAiB,EAAE,KAAwB;IACxD,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;IAClE,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,sBAAsB,GAAG,MAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAgB;IAC7F,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,EAAE,CAAA;IACtC,OAAO,KAAK,CAAC,CAAC,mBAAmB,CAChC,wBAAwB,EACxB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EACrE,QAAQ,CAAC,gBAAgB,EACzB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAChD,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,MAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAgB;IAC7F,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAA;IACrH,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,EAAE,CAAA;IACtC,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChD,OAAO,KAAK,CAAC,CAAC,mBAAmB,CAChC,wBAAwB,EACxB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,EACtE,QAAQ,CAAC,gBAAgB,EACzB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAChD,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAA"}
@@ -1,7 +0,0 @@
1
- {
2
- "candidateSourceDigest": "7109ef17978c17a195301260c8b4cd2736ce785646c46c61d61bf7850c4299da",
3
- "specificationRevision": "91f64ebf5ccf285a072aeff41ca364d1e837259e4273f9be12a0a5959c38a45e",
4
- "stagedAt": "2026-09-12T00:04:00.990Z",
5
- "package": "@bjornpagen/bumbledb",
6
- "version": "1.3.1"
7
- }
package/src/close.ts DELETED
@@ -1,53 +0,0 @@
1
- import { Effect } from "effect"
2
- import { finalizeClose } from "#runtime.ts"
3
- import type { CloseReport } from "#runtime-errors.ts"
4
- import { DbError } from "#runtime-errors.ts"
5
- /**
6
- * Shared close/drain adapters for scoped core owners (drafts, changes,
7
- * snapshots, sessions, results, cursors, databases). Early `close()` joins
8
- * the native close transition and
9
- * returns the honest {@link CloseReport}; a scope FINALIZER runs the same
10
- * close and surfaces `incomplete`/`failed` as a structured `CloseFailure`
11
- * DEFECT in the finalizer Cause — never catch-and-log, never false
12
- * quiescence. Teardown uses the runtime's reserved cleanup envelope
13
- * natively; repeated close joins the same stored transition (idempotent).
14
- */
15
- import type { CloseWire } from "#runtime-native.ts"
16
-
17
- function reportOf(operation: string, wire: CloseWire): CloseReport {
18
- if (wire.kind === "failed") {
19
- return { kind: "failed", error: new DbError({ operation, reason: { _tag: "Internal" } }) }
20
- }
21
- return wire
22
- }
23
-
24
- /**
25
- * Adapts one native close verb to `Effect<CloseReport>`: registration is
26
- * synchronous, completion resumes exactly once, and the whole wait is
27
- * uninterruptible — a close is a bounded registration/drain handshake, not
28
- * long maskable work (the native side owns the cleanup deadline).
29
- */
30
- function drainClose(
31
- operation: string,
32
- start: (callback: (report: CloseWire) => void) => void
33
- ): Effect.Effect<CloseReport> {
34
- return Effect.callback<CloseReport>((resume) => {
35
- try {
36
- start((report) => resume(Effect.succeed(reportOf(operation, report))))
37
- } catch (cause) {
38
- resume(
39
- Effect.succeed({
40
- kind: "failed",
41
- error: cause instanceof DbError ? cause : new DbError({ operation, reason: { _tag: "Internal" } })
42
- })
43
- )
44
- }
45
- }).pipe(Effect.uninterruptible)
46
- }
47
-
48
- /** The finalizer policy: run the close, then die on incomplete/failed (E stays never). */
49
- function releaseOwner(operation: string, start: (callback: (report: CloseWire) => void) => void): Effect.Effect<void> {
50
- return drainClose(operation, start).pipe(Effect.flatMap((report) => finalizeClose(operation, report)))
51
- }
52
-
53
- export { drainClose, releaseOwner }
package/src/db-native.ts DELETED
@@ -1,235 +0,0 @@
1
- /**
2
- * Private database bridge over worker-owned core snapshots and results.
3
- * The implementation lives in `ts/crate/src/`; this is not a public API.
4
- * Every verb runs on the shared bounded executor, registers under its
5
- * operation ownership and completes through the registered callback; `runtimeCancel` cancels
6
- * and joins any of them. Close verbs report the real drain outcome through
7
- * `CloseWire`.
8
- */
9
-
10
- import type { ChangeCounts } from "#changes.ts"
11
- import type { DbHandle, ParsedQuery, QueryParam, SealedDescriptor, Violation } from "#native.ts"
12
- import { native } from "#native.ts"
13
- import type { CellValue } from "#rows.ts"
14
- import type { CloseWire, OperationHandle, RuntimeHandle } from "#runtime-native.ts"
15
- import type { SchemaSpec } from "#spec.ts"
16
-
17
- export interface SnapshotHandle {
18
- readonly __snapshot: unique symbol
19
- }
20
- export interface PreparedHandle {
21
- readonly __prepared: unique symbol
22
- }
23
- export interface ResultHandle {
24
- readonly __result: unique symbol
25
- }
26
- export interface CursorHandle {
27
- readonly __cursor: unique symbol
28
- }
29
- export interface DraftHandle {
30
- readonly __draft: unique symbol
31
- }
32
- export interface ChangesHandle {
33
- readonly __changes: unique symbol
34
- }
35
- export interface ChangesCursorHandle {
36
- readonly __changesCursor: unique symbol
37
- }
38
-
39
- /** The core-local witness: catalog/store identity plus generation, never a StateStamp. */
40
- export interface WitnessWire {
41
- readonly store: string
42
- readonly generation: bigint
43
- }
44
-
45
- export type ExpectedWire =
46
- | { readonly kind: "any" }
47
- | { readonly kind: "exact"; readonly store: string; readonly generation: bigint }
48
-
49
- export type ApplyOutcomeWire =
50
- | { readonly tag: "accepted"; readonly witness: WitnessWire }
51
- | { readonly tag: "no-change"; readonly witness: WitnessWire }
52
- | { readonly tag: "invariant-rejected"; readonly violations: readonly Violation[] }
53
- | { readonly tag: "moved"; readonly witnessed: WitnessWire; readonly current: WitnessWire }
54
-
55
- export type JudgeOutcomeWire =
56
- | { readonly tag: "admitted"; readonly base: WitnessWire; readonly changes: ChangeCounts }
57
- | {
58
- readonly tag: "invariant-rejected"
59
- readonly base: WitnessWire
60
- readonly changes: ChangeCounts
61
- readonly violations: readonly Violation[]
62
- }
63
- | { readonly tag: "moved"; readonly witnessed: WitnessWire; readonly current: WitnessWire }
64
-
65
- /** Bounded database diagnostics: measurements, never retained row payloads. */
66
- export interface DbInspectionWire {
67
- readonly generation: bigint
68
- readonly storage: import("#db.ts").StorageInspection
69
- readonly retainedOperations: bigint
70
- }
71
-
72
- export interface SnapshotWire {
73
- readonly snapshot: SnapshotHandle
74
- readonly witness: WitnessWire
75
- }
76
-
77
- export interface ChangesWire {
78
- readonly changes: ChangesHandle
79
- readonly fingerprint: string
80
- readonly counts: ChangeCounts
81
- readonly byteLength: bigint
82
- }
83
-
84
- export interface ChangeRecordWire {
85
- readonly relation: number
86
- readonly kind: "add" | "remove"
87
- readonly values: readonly CellValue[]
88
- }
89
-
90
- export interface MutationReportWire {
91
- readonly submitted: bigint
92
- readonly changed: bigint
93
- }
94
-
95
- interface DbBridge {
96
- /** Schema admission/compilation; take yields detached descriptor data. */
97
- runtimeSchemaCompile(runtime: RuntimeHandle, spec: SchemaSpec, callback: () => void): OperationHandle
98
- runtimeSchemaTake(operation: OperationHandle): SealedDescriptor
99
-
100
- /** Coherent owned snapshot acquisition off a managed database. */
101
- runtimeDbSnapshot(db: DbHandle, callback: () => void): OperationHandle
102
- runtimeSnapshotTake(operation: OperationHandle): SnapshotWire
103
- runtimeSnapshotClose(snapshot: SnapshotHandle, callback: (report: CloseWire) => void): void
104
-
105
- /** One compiled query, with an independent share of the snapshot pin. */
106
- runtimeSnapshotPrepare(snapshot: SnapshotHandle, query: ParsedQuery, callback: () => void): OperationHandle
107
- runtimePreparedTake(operation: OperationHandle): PreparedHandle
108
- runtimePreparedClose(prepared: PreparedHandle, callback: (report: CloseWire) => void): void
109
- runtimePreparedReleaseMemory(prepared: PreparedHandle, callback: () => void): OperationHandle
110
-
111
- /** Exact-key point read; take yields one owned row or null (absent). */
112
- runtimeSnapshotGet(
113
- snapshot: SnapshotHandle,
114
- relationId: number,
115
- keyStatementId: number,
116
- keyCells: readonly CellValue[],
117
- callback: () => void
118
- ): OperationHandle
119
- runtimeRowTake(operation: OperationHandle): readonly CellValue[] | null
120
-
121
- /**
122
- * Complete execution. One-shot preparation drops before publication;
123
- * explicit preparation reuses its compiled plan and scratch. The result is
124
- * sealed and independent only after ALL evaluation succeeded.
125
- */
126
- runtimeSnapshotExecute(
127
- snapshot: SnapshotHandle,
128
- query: ParsedQuery,
129
- params: readonly QueryParam[],
130
- callback: () => void
131
- ): OperationHandle
132
- runtimePreparedExecute(prepared: PreparedHandle, params: readonly QueryParam[], callback: () => void): OperationHandle
133
- runtimeResultTake(operation: OperationHandle): ResultHandle
134
- runtimeResultClose(result: ResultHandle, callback: (report: CloseWire) => void): void
135
-
136
- /**
137
- * Explicit full materialization into final native row arrays.
138
- * Failure leaves the sealed backing available.
139
- */
140
- runtimeResultCollect(result: ResultHandle, callback: () => void): OperationHandle
141
- runtimeRowsTake(operation: OperationHandle): readonly (readonly CellValue[])[]
142
-
143
- /**
144
- * Atomic spend: moves the completed result's backing storage into one
145
- * private cursor. A second transfer, or transfer racing collect,
146
- * refuses (SpentHandle) before touching the backing.
147
- */
148
- runtimeResultCursor(result: ResultHandle, callback: () => void): OperationHandle
149
- runtimeCursorTake(operation: OperationHandle): CursorHandle
150
- /** One bounded delivery batch; null is EOF. Execution is already complete. */
151
- runtimeCursorNext(cursor: CursorHandle, callback: () => void): OperationHandle
152
- runtimePageTake(operation: OperationHandle): readonly (readonly CellValue[])[] | null
153
- runtimeCursorClose(cursor: CursorHandle, callback: (report: CloseWire) => void): void
154
-
155
- /** Database-free draft acquisition (schema compiled/checked on the executor). */
156
- runtimeDraftOpen(runtime: RuntimeHandle, spec: SchemaSpec, callback: () => void): OperationHandle
157
- runtimeDraftTake(operation: OperationHandle): DraftHandle
158
- /**
159
- * One bounded ingestion chunk (rows × arity cells, row-major, sealed
160
- * field order). Rows are owned by the draft until finish. Failure spends
161
- * the draft and starts tracked
162
- * drain natively.
163
- */
164
- runtimeDraftInsert(
165
- draft: DraftHandle,
166
- relationId: number,
167
- rows: bigint,
168
- cells: readonly CellValue[],
169
- callback: () => void
170
- ): OperationHandle
171
- runtimeDraftDelete(
172
- draft: DraftHandle,
173
- relationId: number,
174
- rows: bigint,
175
- cells: readonly CellValue[],
176
- callback: () => void
177
- ): OperationHandle
178
- runtimeReportTake(operation: OperationHandle): MutationReportWire
179
- /** Consumes the draft into an immutable schema-bound ChangeSet (one command, add-wins normalization). */
180
- runtimeDraftFinish(draft: DraftHandle, callback: () => void): OperationHandle
181
- runtimeChangesTake(operation: OperationHandle): ChangesWire
182
- runtimeDraftClose(draft: DraftHandle, callback: (report: CloseWire) => void): void
183
- runtimeChangesClose(changes: ChangesHandle, callback: (report: CloseWire) => void): void
184
- /** Owned immutable bytes; parsing checks canonical order and the supplied schema. */
185
- runtimeChangesBytes(changes: ChangesHandle, callback: () => void): OperationHandle
186
- runtimeChangesParse(
187
- runtime: RuntimeHandle,
188
- spec: SchemaSpec,
189
- bytes: Uint8Array,
190
- callback: () => void
191
- ): OperationHandle
192
- /** One command's add-wins composition, not sequential application. */
193
- runtimeChangesCompose(left: ChangesHandle, right: ChangesHandle, callback: () => void): OperationHandle
194
- /** Independent bounded traversal; never spends the immutable source. */
195
- runtimeChangesCursor(changes: ChangesHandle, callback: () => void): OperationHandle
196
- runtimeChangesCursorTake(operation: OperationHandle): ChangesCursorHandle
197
- runtimeChangesCursorNext(cursor: ChangesCursorHandle, callback: () => void): OperationHandle
198
- runtimeChangePageTake(operation: OperationHandle): readonly ChangeRecordWire[] | null
199
- runtimeChangesCursorClose(cursor: ChangesCursorHandle, callback: (report: CloseWire) => void): void
200
-
201
- /** One immutable final-state admission/commit under the managed owner. */
202
- runtimeDbApply(db: DbHandle, changes: ChangesHandle, expected: ExpectedWire, callback: () => void): OperationHandle
203
- runtimeApplyTake(operation: OperationHandle): ApplyOutcomeWire
204
- /** Same candidate admission as apply, aborted on its worker before returning. */
205
- runtimeDbJudge(db: DbHandle, changes: ChangesHandle, expected: ExpectedWire, callback: () => void): OperationHandle
206
- runtimeJudgeTake(operation: OperationHandle): JudgeOutcomeWire
207
-
208
- runtimeDbInspect(db: DbHandle, callback: () => void): OperationHandle
209
- runtimeDbClearCache(db: DbHandle, callback: () => void): OperationHandle
210
- runtimeDbInspectTake(operation: OperationHandle): DbInspectionWire
211
-
212
- /** Shared canonical row codec (also the log/migration encoding). */
213
- runtimeEncodeRows(
214
- runtime: RuntimeHandle,
215
- spec: SchemaSpec,
216
- relationId: number,
217
- rows: bigint,
218
- cells: readonly CellValue[],
219
- callback: () => void
220
- ): OperationHandle
221
- runtimeBytesTake(operation: OperationHandle): Uint8Array
222
- runtimeDecodeRows(
223
- runtime: RuntimeHandle,
224
- spec: SchemaSpec,
225
- relationId: number,
226
- bytes: Uint8Array,
227
- callback: () => void
228
- ): OperationHandle
229
- runtimeSchemaSnapshot(runtime: RuntimeHandle, spec: SchemaSpec, callback: () => void): OperationHandle
230
- runtimeSchemaBindings(runtime: RuntimeHandle, snapshot: Uint8Array, callback: () => void): OperationHandle
231
- }
232
-
233
- // The fresh-addon roster test pins this private declaration exactly as it
234
- // pins #runtime-native.ts's; the two casts re-type the SAME single binding.
235
- export const dbNative = native as typeof native & DbBridge
@@ -1,46 +0,0 @@
1
- /**
2
- * @bjornpagen/bumbledb/internal/log — the exact-version cross-package seam
3
- * consumed by `@bjornpagen/bumbledb-log`. Unsupported application surface;
4
- * not a security boundary. Native kind/runtime/owner/state validation remains
5
- * mandatory on every verb. Real types are shipped; this is not stripInternal.
6
- */
7
- export type { ChangeDraft } from "#changes.ts"
8
- export { ChangeSet, internalChanges } from "#changes.ts"
9
- export type { CompiledSchema, SchemaId } from "#compile.ts"
10
- export { Schema } from "#compile.ts"
11
- export type { PreparedQuery, QueryReader } from "#db.ts"
12
- export { Db, internalPublishedReader } from "#db.ts"
13
- export type { SnapshotHandle } from "#db-native.ts"
14
- export { lower } from "#lower.ts"
15
- export {
16
- internalBlake3,
17
- internalDescriptor,
18
- internalLogIdentities,
19
- internalLogSchema,
20
- nativeBindingIsLoaded
21
- } from "#native.ts"
22
- export type { CompleteResult } from "#result.ts"
23
- export { factCellsOf } from "#rows.ts"
24
- export type { NativeRuntimeOptions } from "#runtime.ts"
25
- export {
26
- finalizeClose,
27
- hashChunk,
28
- NativeRuntime,
29
- nativeOperation,
30
- nativeOperationWith,
31
- runtimeHandle
32
- } from "#runtime.ts"
33
- export type { CloseReport, OutstandingWork } from "#runtime-errors.ts"
34
- export { CloseFailure, DbError, dbError, runtimeErrorCodes } from "#runtime-errors.ts"
35
- export type {
36
- Capability,
37
- CloseWire,
38
- DirectoryHandle,
39
- InspectionWire,
40
- NativeKind,
41
- OperationHandle,
42
- RuntimeHandle
43
- } from "#runtime-native.ts"
44
- export { runtimeNative } from "#runtime-native.ts"
45
- export { schemasAgree } from "#schema.ts"
46
- export { internalSchemaBindings, internalSchemaSnapshot } from "#schema-file.ts"