@bjornpagen/bumbledb 1.0.1 → 1.2.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 (172) hide show
  1. package/COOKBOOK.md +176 -36
  2. package/README.md +70 -26
  3. package/dist/capacity.d.ts +15 -55
  4. package/dist/capacity.d.ts.map +1 -1
  5. package/dist/capacity.js +63 -12
  6. package/dist/capacity.js.map +1 -1
  7. package/dist/changes.d.ts +28 -6
  8. package/dist/changes.d.ts.map +1 -1
  9. package/dist/changes.js +119 -71
  10. package/dist/changes.js.map +1 -1
  11. package/dist/closed.d.ts +23 -51
  12. package/dist/closed.d.ts.map +1 -1
  13. package/dist/closed.js +110 -168
  14. package/dist/closed.js.map +1 -1
  15. package/dist/codec.d.ts +8 -14
  16. package/dist/codec.d.ts.map +1 -1
  17. package/dist/codec.js +113 -188
  18. package/dist/codec.js.map +1 -1
  19. package/dist/compile.d.ts +17 -18
  20. package/dist/compile.d.ts.map +1 -1
  21. package/dist/compile.js +41 -20
  22. package/dist/compile.js.map +1 -1
  23. package/dist/db-native.d.ts +76 -41
  24. package/dist/db-native.d.ts.map +1 -1
  25. package/dist/db-native.js +8 -0
  26. package/dist/db-native.js.map +1 -1
  27. package/dist/db.d.ts +61 -26
  28. package/dist/db.d.ts.map +1 -1
  29. package/dist/db.js +152 -85
  30. package/dist/db.js.map +1 -1
  31. package/dist/errors.d.ts +11 -3
  32. package/dist/errors.d.ts.map +1 -1
  33. package/dist/errors.js +13 -1
  34. package/dist/errors.js.map +1 -1
  35. package/dist/face.d.ts +19 -25
  36. package/dist/face.d.ts.map +1 -1
  37. package/dist/face.js +30 -24
  38. package/dist/face.js.map +1 -1
  39. package/dist/fields.d.ts +13 -26
  40. package/dist/fields.d.ts.map +1 -1
  41. package/dist/fields.js +89 -116
  42. package/dist/fields.js.map +1 -1
  43. package/dist/immutable.d.ts +10 -0
  44. package/dist/immutable.d.ts.map +1 -0
  45. package/dist/immutable.js +75 -0
  46. package/dist/immutable.js.map +1 -0
  47. package/dist/index.d.ts +16 -12
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +6 -4
  50. package/dist/index.js.map +1 -1
  51. package/dist/internal/log.d.ts +6 -4
  52. package/dist/internal/log.d.ts.map +1 -1
  53. package/dist/internal/log.js +3 -1
  54. package/dist/internal/log.js.map +1 -1
  55. package/dist/law.d.ts +11 -11
  56. package/dist/law.d.ts.map +1 -1
  57. package/dist/law.js +1 -1
  58. package/dist/law.js.map +1 -1
  59. package/dist/lower.d.ts.map +1 -1
  60. package/dist/lower.js +11 -6
  61. package/dist/lower.js.map +1 -1
  62. package/dist/migration.d.ts +2 -3
  63. package/dist/migration.d.ts.map +1 -1
  64. package/dist/migration.js +5 -5
  65. package/dist/migration.js.map +1 -1
  66. package/dist/native.d.ts +2 -2
  67. package/dist/native.d.ts.map +1 -1
  68. package/dist/native.js.map +1 -1
  69. package/dist/query/atom.d.ts +1 -1
  70. package/dist/query/atom.d.ts.map +1 -1
  71. package/dist/query/atom.js.map +1 -1
  72. package/dist/query/description.d.ts +33 -0
  73. package/dist/query/description.d.ts.map +1 -0
  74. package/dist/query/description.js +302 -0
  75. package/dist/query/description.js.map +1 -0
  76. package/dist/query/lower.d.ts +60 -4
  77. package/dist/query/lower.d.ts.map +1 -1
  78. package/dist/query/lower.js +126 -161
  79. package/dist/query/lower.js.map +1 -1
  80. package/dist/query/parse-ir.d.ts +7 -2
  81. package/dist/query/parse-ir.d.ts.map +1 -1
  82. package/dist/query/parse-ir.js +240 -53
  83. package/dist/query/parse-ir.js.map +1 -1
  84. package/dist/query/run.d.ts.map +1 -1
  85. package/dist/query/run.js +8 -10
  86. package/dist/query/run.js.map +1 -1
  87. package/dist/query/scope.d.ts +3 -4
  88. package/dist/query/scope.d.ts.map +1 -1
  89. package/dist/query/scope.js +5 -10
  90. package/dist/query/scope.js.map +1 -1
  91. package/dist/relation.d.ts +22 -48
  92. package/dist/relation.d.ts.map +1 -1
  93. package/dist/relation.js +30 -82
  94. package/dist/relation.js.map +1 -1
  95. package/dist/result.d.ts +10 -25
  96. package/dist/result.d.ts.map +1 -1
  97. package/dist/result.js +7 -12
  98. package/dist/result.js.map +1 -1
  99. package/dist/rows.d.ts +11 -14
  100. package/dist/rows.d.ts.map +1 -1
  101. package/dist/rows.js +49 -237
  102. package/dist/rows.js.map +1 -1
  103. package/dist/runtime-codes.d.ts +1 -1
  104. package/dist/runtime-codes.d.ts.map +1 -1
  105. package/dist/runtime-codes.js +1 -2
  106. package/dist/runtime-codes.js.map +1 -1
  107. package/dist/runtime-errors.d.ts +27 -15
  108. package/dist/runtime-errors.d.ts.map +1 -1
  109. package/dist/runtime-errors.js +44 -8
  110. package/dist/runtime-errors.js.map +1 -1
  111. package/dist/runtime-native.d.ts +16 -34
  112. package/dist/runtime-native.d.ts.map +1 -1
  113. package/dist/runtime-native.js.map +1 -1
  114. package/dist/runtime.d.ts +11 -28
  115. package/dist/runtime.d.ts.map +1 -1
  116. package/dist/runtime.js +14 -54
  117. package/dist/runtime.js.map +1 -1
  118. package/dist/schema.d.ts +9 -1
  119. package/dist/schema.d.ts.map +1 -1
  120. package/dist/schema.js +85 -24
  121. package/dist/schema.js.map +1 -1
  122. package/dist/selection.d.ts +27 -0
  123. package/dist/selection.d.ts.map +1 -0
  124. package/dist/selection.js +104 -0
  125. package/dist/selection.js.map +1 -0
  126. package/dist/shape.d.ts +6 -9
  127. package/dist/shape.d.ts.map +1 -1
  128. package/dist/statements.d.ts +17 -52
  129. package/dist/statements.d.ts.map +1 -1
  130. package/dist/statements.js +92 -111
  131. package/dist/statements.js.map +1 -1
  132. package/dist/values.d.ts +25 -0
  133. package/dist/values.d.ts.map +1 -0
  134. package/dist/values.js +203 -0
  135. package/dist/values.js.map +1 -0
  136. package/pack-provenance.json +3 -3
  137. package/package.json +4 -4
  138. package/src/capacity.ts +86 -76
  139. package/src/changes.ts +225 -94
  140. package/src/closed.ts +161 -314
  141. package/src/codec.ts +123 -213
  142. package/src/compile.ts +61 -38
  143. package/src/db-native.ts +73 -68
  144. package/src/db.ts +268 -165
  145. package/src/errors.ts +16 -1
  146. package/src/face.ts +44 -74
  147. package/src/fields.ts +100 -146
  148. package/src/immutable.ts +76 -0
  149. package/src/index.ts +38 -31
  150. package/src/internal/log.ts +4 -5
  151. package/src/law.ts +14 -14
  152. package/src/lower.ts +13 -10
  153. package/src/migration.ts +5 -12
  154. package/src/native.ts +2 -1
  155. package/src/query/atom.ts +1 -0
  156. package/src/query/description.ts +394 -0
  157. package/src/query/lower.ts +139 -173
  158. package/src/query/parse-ir.ts +247 -54
  159. package/src/query/run.ts +15 -9
  160. package/src/query/scope.ts +10 -18
  161. package/src/relation.ts +58 -142
  162. package/src/result.ts +16 -45
  163. package/src/rows.ts +57 -250
  164. package/src/runtime-codes.ts +1 -2
  165. package/src/runtime-errors.ts +48 -8
  166. package/src/runtime-native.ts +13 -46
  167. package/src/runtime.ts +51 -119
  168. package/src/schema.ts +99 -29
  169. package/src/selection.ts +124 -0
  170. package/src/shape.ts +9 -9
  171. package/src/statements.ts +138 -189
  172. package/src/values.ts +223 -0
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
@@ -2,21 +2,21 @@
2
2
  * Private database bridge over worker-owned core snapshots and results.
3
3
  * The implementation lives in `ts/crate/src/`; this is not a public API.
4
4
  * Every verb runs on the shared bounded executor, registers under its
5
- * operation accounting, takes a `PolicyWire` converted once at admission,
6
- * and completes through the registered callback; `runtimeCancel` cancels
5
+ * operation ownership and completes through the registered callback; `runtimeCancel` cancels
7
6
  * and joins any of them. Close verbs report the real drain outcome through
8
7
  * `CloseWire`.
9
8
  */
9
+ import type { ChangeCounts } from "./changes.js";
10
10
  import type { DbHandle, ParsedQuery, QueryParam, SealedDescriptor, Violation } from "./native.js";
11
11
  import { native } from "./native.js";
12
12
  import type { CellValue } from "./rows.js";
13
- import type { CloseWire, OperationHandle, PolicyWire, RuntimeHandle } from "./runtime-native.js";
13
+ import type { CloseWire, OperationHandle, RuntimeHandle } from "./runtime-native.js";
14
14
  import type { SchemaSpec } from "./spec.js";
15
15
  export interface SnapshotHandle {
16
16
  readonly __snapshot: unique symbol;
17
17
  }
18
- export interface SessionHandle {
19
- readonly __session: unique symbol;
18
+ export interface PreparedHandle {
19
+ readonly __prepared: unique symbol;
20
20
  }
21
21
  export interface ResultHandle {
22
22
  readonly __result: unique symbol;
@@ -30,6 +30,9 @@ export interface DraftHandle {
30
30
  export interface ChangesHandle {
31
31
  readonly __changes: unique symbol;
32
32
  }
33
+ export interface ChangesCursorHandle {
34
+ readonly __changesCursor: unique symbol;
35
+ }
33
36
  /** The core-local witness: catalog/store identity plus generation, never a StateStamp. */
34
37
  export interface WitnessWire {
35
38
  readonly store: string;
@@ -56,13 +59,24 @@ export type ApplyOutcomeWire = {
56
59
  readonly witnessed: WitnessWire;
57
60
  readonly current: WitnessWire;
58
61
  };
62
+ export type JudgeOutcomeWire = {
63
+ readonly tag: "admitted";
64
+ readonly base: WitnessWire;
65
+ readonly changes: ChangeCounts;
66
+ } | {
67
+ readonly tag: "invariant-rejected";
68
+ readonly base: WitnessWire;
69
+ readonly changes: ChangeCounts;
70
+ readonly violations: readonly Violation[];
71
+ } | {
72
+ readonly tag: "moved";
73
+ readonly witnessed: WitnessWire;
74
+ readonly current: WitnessWire;
75
+ };
59
76
  /** Bounded database diagnostics: measurements, never retained row payloads. */
60
77
  export interface DbInspectionWire {
61
78
  readonly generation: bigint;
62
- readonly mapBytes: bigint;
63
- readonly populatedBytes: bigint;
64
- readonly diskBytes: bigint;
65
- readonly residentEstimateBytes: bigint;
79
+ readonly storage: import("./db.js").StorageInspection;
66
80
  readonly retainedOperations: bigint;
67
81
  }
68
82
  export interface SnapshotWire {
@@ -72,80 +86,101 @@ export interface SnapshotWire {
72
86
  export interface ChangesWire {
73
87
  readonly changes: ChangesHandle;
74
88
  readonly fingerprint: string;
89
+ readonly counts: ChangeCounts;
90
+ readonly byteLength: bigint;
91
+ }
92
+ export interface ChangeRecordWire {
93
+ readonly relation: number;
94
+ readonly kind: "add" | "remove";
95
+ readonly values: readonly CellValue[];
75
96
  }
76
97
  export interface MutationReportWire {
77
98
  readonly submitted: bigint;
78
99
  readonly changed: bigint;
79
100
  }
80
101
  interface DbBridge {
81
- /** Charged schema admission/compilation; take yields detached descriptor data. */
82
- runtimeSchemaCompile(runtime: RuntimeHandle, policy: PolicyWire, spec: SchemaSpec, callback: () => void): OperationHandle;
102
+ /** Schema admission/compilation; take yields detached descriptor data. */
103
+ runtimeSchemaCompile(runtime: RuntimeHandle, spec: SchemaSpec, callback: () => void): OperationHandle;
83
104
  runtimeSchemaTake(operation: OperationHandle): SealedDescriptor;
84
105
  /** Coherent owned snapshot acquisition off a managed database. */
85
- runtimeDbSnapshot(db: DbHandle, policy: PolicyWire, callback: () => void): OperationHandle;
106
+ runtimeDbSnapshot(db: DbHandle, callback: () => void): OperationHandle;
86
107
  runtimeSnapshotTake(operation: OperationHandle): SnapshotWire;
87
108
  runtimeSnapshotClose(snapshot: SnapshotHandle, callback: (report: CloseWire) => void): void;
88
- /** Reusable snapshot-bound execution session (worker-affine natively). */
89
- runtimeSnapshotSession(snapshot: SnapshotHandle, policy: PolicyWire, callback: () => void): OperationHandle;
90
- runtimeSessionTake(operation: OperationHandle): SessionHandle;
91
- runtimeSessionClose(session: SessionHandle, callback: (report: CloseWire) => void): void;
109
+ /** One compiled query, with an independent share of the snapshot pin. */
110
+ runtimeSnapshotPrepare(snapshot: SnapshotHandle, query: ParsedQuery, callback: () => void): OperationHandle;
111
+ runtimePreparedTake(operation: OperationHandle): PreparedHandle;
112
+ runtimePreparedClose(prepared: PreparedHandle, callback: (report: CloseWire) => void): void;
113
+ runtimePreparedReleaseMemory(prepared: PreparedHandle, callback: () => void): OperationHandle;
92
114
  /** Exact-key point read; take yields one owned row or null (absent). */
93
- runtimeSnapshotGet(snapshot: SnapshotHandle, policy: PolicyWire, relationId: number, keyStatementId: number, keyCells: readonly CellValue[], callback: () => void): OperationHandle;
115
+ runtimeSnapshotGet(snapshot: SnapshotHandle, relationId: number, keyStatementId: number, keyCells: readonly CellValue[], callback: () => void): OperationHandle;
94
116
  runtimeRowTake(operation: OperationHandle): readonly CellValue[] | null;
95
117
  /**
96
- * Complete bounded execution. The snapshot variant owns an internal
97
- * one-shot session and closes it before publishing the result; the
98
- * session variant reuses the caller's session. Either way the result is
118
+ * Complete execution. One-shot preparation drops before publication;
119
+ * explicit preparation reuses its compiled plan and scratch. The result is
99
120
  * sealed and independent only after ALL evaluation succeeded.
100
121
  */
101
- runtimeSnapshotExecute(snapshot: SnapshotHandle, policy: PolicyWire, query: ParsedQuery, params: readonly QueryParam[], callback: () => void): OperationHandle;
102
- runtimeSessionExecute(session: SessionHandle, policy: PolicyWire, query: ParsedQuery, params: readonly QueryParam[], callback: () => void): OperationHandle;
122
+ runtimeSnapshotExecute(snapshot: SnapshotHandle, query: ParsedQuery, params: readonly QueryParam[], callback: () => void): OperationHandle;
123
+ runtimePreparedExecute(prepared: PreparedHandle, params: readonly QueryParam[], callback: () => void): OperationHandle;
103
124
  runtimeResultTake(operation: OperationHandle): ResultHandle;
104
125
  runtimeResultClose(result: ResultHandle, callback: (report: CloseWire) => void): void;
105
126
  /**
106
- * Bounded total materialization: refuses (ResourceLimit) BEFORE
107
- * allocating past `policy.resultBytes`; a cap failure leaves the sealed
108
- * backing available. Take yields owned row arrays.
127
+ * Explicit full materialization into final native row arrays.
128
+ * Failure leaves the sealed backing available.
109
129
  */
110
- runtimeResultCollect(result: ResultHandle, policy: PolicyWire, callback: () => void): OperationHandle;
130
+ runtimeResultCollect(result: ResultHandle, callback: () => void): OperationHandle;
111
131
  runtimeRowsTake(operation: OperationHandle): readonly (readonly CellValue[])[];
112
132
  /**
113
133
  * Atomic spend: moves the completed result's backing storage into one
114
134
  * private cursor. A second transfer, or transfer racing collect,
115
135
  * refuses (SpentHandle) before touching the backing.
116
136
  */
117
- runtimeResultCursor(result: ResultHandle, policy: PolicyWire, callback: () => void): OperationHandle;
137
+ runtimeResultCursor(result: ResultHandle, callback: () => void): OperationHandle;
118
138
  runtimeCursorTake(operation: OperationHandle): CursorHandle;
119
- /** One owned page bounded by `policy.resultBytes`; null is EOF (cursor storage reclaimed). */
120
- runtimeCursorNext(cursor: CursorHandle, policy: PolicyWire, callback: () => void): OperationHandle;
139
+ /** One bounded delivery batch; null is EOF. Execution is already complete. */
140
+ runtimeCursorNext(cursor: CursorHandle, callback: () => void): OperationHandle;
121
141
  runtimePageTake(operation: OperationHandle): readonly (readonly CellValue[])[] | null;
122
142
  runtimeCursorClose(cursor: CursorHandle, callback: (report: CloseWire) => void): void;
123
143
  /** Database-free draft acquisition (schema compiled/checked on the executor). */
124
- runtimeDraftOpen(runtime: RuntimeHandle, policy: PolicyWire, spec: SchemaSpec, callback: () => void): OperationHandle;
144
+ runtimeDraftOpen(runtime: RuntimeHandle, spec: SchemaSpec, callback: () => void): OperationHandle;
125
145
  runtimeDraftTake(operation: OperationHandle): DraftHandle;
126
146
  /**
127
147
  * One bounded ingestion chunk (rows × arity cells, row-major, sealed
128
- * field order). Chunks share the draft's cumulative aggregate budget
129
- * they never reset it. Failure spends the draft and starts tracked
148
+ * field order). Rows are owned by the draft until finish. Failure spends
149
+ * the draft and starts tracked
130
150
  * drain natively.
131
151
  */
132
- runtimeDraftInsert(draft: DraftHandle, policy: PolicyWire, relationId: number, rows: bigint, cells: readonly CellValue[], callback: () => void): OperationHandle;
133
- runtimeDraftDelete(draft: DraftHandle, policy: PolicyWire, relationId: number, rows: bigint, cells: readonly CellValue[], callback: () => void): OperationHandle;
152
+ runtimeDraftInsert(draft: DraftHandle, relationId: number, rows: bigint, cells: readonly CellValue[], callback: () => void): OperationHandle;
153
+ runtimeDraftDelete(draft: DraftHandle, relationId: number, rows: bigint, cells: readonly CellValue[], callback: () => void): OperationHandle;
134
154
  runtimeReportTake(operation: OperationHandle): MutationReportWire;
135
155
  /** Consumes the draft into an immutable schema-bound ChangeSet (one command, add-wins normalization). */
136
- runtimeDraftFinish(draft: DraftHandle, policy: PolicyWire, callback: () => void): OperationHandle;
156
+ runtimeDraftFinish(draft: DraftHandle, callback: () => void): OperationHandle;
137
157
  runtimeChangesTake(operation: OperationHandle): ChangesWire;
138
158
  runtimeDraftClose(draft: DraftHandle, callback: (report: CloseWire) => void): void;
139
159
  runtimeChangesClose(changes: ChangesHandle, callback: (report: CloseWire) => void): void;
160
+ /** Owned immutable bytes; parsing checks canonical order and the supplied schema. */
161
+ runtimeChangesBytes(changes: ChangesHandle, callback: () => void): OperationHandle;
162
+ runtimeChangesParse(runtime: RuntimeHandle, spec: SchemaSpec, bytes: Uint8Array, callback: () => void): OperationHandle;
163
+ /** One command's add-wins composition, not sequential application. */
164
+ runtimeChangesCompose(left: ChangesHandle, right: ChangesHandle, callback: () => void): OperationHandle;
165
+ /** Independent bounded traversal; never spends the immutable source. */
166
+ runtimeChangesCursor(changes: ChangesHandle, callback: () => void): OperationHandle;
167
+ runtimeChangesCursorTake(operation: OperationHandle): ChangesCursorHandle;
168
+ runtimeChangesCursorNext(cursor: ChangesCursorHandle, callback: () => void): OperationHandle;
169
+ runtimeChangePageTake(operation: OperationHandle): readonly ChangeRecordWire[] | null;
170
+ runtimeChangesCursorClose(cursor: ChangesCursorHandle, callback: (report: CloseWire) => void): void;
140
171
  /** One immutable final-state admission/commit under the managed owner. */
141
- runtimeDbApply(db: DbHandle, policy: PolicyWire, changes: ChangesHandle, expected: ExpectedWire, callback: () => void): OperationHandle;
172
+ runtimeDbApply(db: DbHandle, changes: ChangesHandle, expected: ExpectedWire, callback: () => void): OperationHandle;
142
173
  runtimeApplyTake(operation: OperationHandle): ApplyOutcomeWire;
143
- runtimeDbInspect(db: DbHandle, policy: PolicyWire, callback: () => void): OperationHandle;
174
+ /** Same candidate admission as apply, aborted on its worker before returning. */
175
+ runtimeDbJudge(db: DbHandle, changes: ChangesHandle, expected: ExpectedWire, callback: () => void): OperationHandle;
176
+ runtimeJudgeTake(operation: OperationHandle): JudgeOutcomeWire;
177
+ runtimeDbInspect(db: DbHandle, callback: () => void): OperationHandle;
178
+ runtimeDbClearCache(db: DbHandle, callback: () => void): OperationHandle;
144
179
  runtimeDbInspectTake(operation: OperationHandle): DbInspectionWire;
145
180
  /** Shared canonical row codec (also the log/migration encoding). */
146
- runtimeEncodeRows(runtime: RuntimeHandle, policy: PolicyWire, spec: SchemaSpec, relationId: number, rows: bigint, cells: readonly CellValue[], callback: () => void): OperationHandle;
181
+ runtimeEncodeRows(runtime: RuntimeHandle, spec: SchemaSpec, relationId: number, rows: bigint, cells: readonly CellValue[], callback: () => void): OperationHandle;
147
182
  runtimeBytesTake(operation: OperationHandle): Uint8Array;
148
- runtimeDecodeRows(runtime: RuntimeHandle, policy: PolicyWire, spec: SchemaSpec, relationId: number, bytes: Uint8Array, callback: () => void): OperationHandle;
183
+ runtimeDecodeRows(runtime: RuntimeHandle, spec: SchemaSpec, relationId: number, bytes: Uint8Array, callback: () => void): OperationHandle;
149
184
  /**
150
185
  * Read-only migration-codec integration over native `schema_file` and
151
186
  * `migration::{plan, manifest}` through the shared executor: bounded
@@ -153,8 +188,8 @@ interface DbBridge {
153
188
  * cancellable operation. Neither verb opens, initializes, freezes or
154
189
  * migrates a database.
155
190
  */
156
- runtimeMigrationSchema(runtime: RuntimeHandle, policy: PolicyWire, spec: SchemaSpec, callback: () => void): OperationHandle;
157
- runtimeMigrationRead(runtime: RuntimeHandle, policy: PolicyWire, request: Uint8Array, callback: () => void): OperationHandle;
191
+ runtimeMigrationSchema(runtime: RuntimeHandle, spec: SchemaSpec, callback: () => void): OperationHandle;
192
+ runtimeMigrationRead(runtime: RuntimeHandle, request: Uint8Array, callback: () => void): OperationHandle;
158
193
  }
159
194
  export declare const dbNative: typeof native & DbBridge;
160
195
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"db-native.d.ts","sourceRoot":"","sources":["../src/db-native.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-native.d.ts","sourceRoot":"","sources":["../src/db-native.ts"],"names":[],"mappings":"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"}
package/dist/db-native.js CHANGED
@@ -1,3 +1,11 @@
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
+ */
1
9
  import { native } from "#native.ts";
2
10
  // The fresh-addon roster test pins this private declaration exactly as it
3
11
  // pins #runtime-native.ts's; the two casts re-type the SAME single binding.
@@ -1 +1 @@
1
- {"version":3,"file":"db-native.js","sourceRoot":"","sources":["../src/db-native.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAiOnC,0EAA0E;AAC1E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAkC,CAAA"}
1
+ {"version":3,"file":"db-native.js","sourceRoot":"","sources":["../src/db-native.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAqOnC,0EAA0E;AAC1E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAkC,CAAA"}
package/dist/db.d.ts CHANGED
@@ -1,23 +1,24 @@
1
1
  import type { Scope } from "effect";
2
2
  import { Effect, Option } from "effect";
3
- import type { ChangeSet } from "./changes.js";
3
+ import type { ChangeCounts, ChangeSet } from "./changes.js";
4
4
  import type { SchemaId } from "./compile.js";
5
5
  import type { Violation } from "./native.js";
6
6
  import type { ParamsRecord } from "./query/scope.js";
7
7
  import type { Fact } from "./relation.js";
8
8
  import type { CompleteResult } from "./result.js";
9
- import type { ExecutionPolicy, NativeRuntime } from "./runtime.js";
9
+ import type { NativeRuntime } from "./runtime.js";
10
10
  import type { CloseReport } from "./runtime-errors.js";
11
11
  import { DbError } from "./runtime-errors.js";
12
12
  import type { AnySchema } from "./schema.js";
13
13
  import type { Key, QueryTemplate, Rel } from "./shape.js";
14
+ import type { KeyStatement } from "./statements.js";
14
15
  /**
15
16
  * The core surface: `Db.create`/`Db.open`, scoped coherent
16
- * `Snapshot`s, reusable `ExecutionSession`s, the shared `QueryReader`
17
+ * `Snapshot`s, reusable `PreparedQuery`s, the shared `QueryReader`
17
18
  * capability, one immutable final-state `apply`, bounded `inspect` and
18
19
  * honest `close`. Effect-only: every method constructs a lazy effect; all
19
- * native work runs on the ONE bounded runtime executor under an explicit
20
- * `ExecutionPolicy`; resources are scoped with `CloseFailure`-defect
20
+ * native work runs on the shared executor with cooperative cancellation.
21
+ * Resources are scoped with `CloseFailure`-defect
21
22
  * finalizers. There is no Promise/sync/disposal twin, no transaction
22
23
  * callback, no per-row fiber and no Proxy row anywhere.
23
24
  *
@@ -32,15 +33,15 @@ interface CoreWitness {
32
33
  readonly store: string;
33
34
  readonly generation: bigint;
34
35
  }
35
- type ApplyExpected = {
36
+ type WriteExpected = {
36
37
  readonly kind: "any";
37
38
  } | {
38
39
  readonly kind: "exact";
39
40
  readonly at: CoreWitness;
40
41
  };
41
- /** Core work policy plus the expected-state intent. */
42
- type ApplyOptions = ExecutionPolicy & {
43
- readonly expected: ApplyExpected;
42
+ /** Expected-state intent shared by judgment and application. */
43
+ type WriteOptions = {
44
+ readonly expected: WriteExpected;
44
45
  };
45
46
  type ApplyOutcome = {
46
47
  readonly kind: "accepted";
@@ -56,14 +57,39 @@ type ApplyOutcome = {
56
57
  readonly witnessed: CoreWitness;
57
58
  readonly current: CoreWitness;
58
59
  };
59
- /** Bounded database diagnostics: measurements, never retained rows. */
60
+ /** A judgment against the actual current base, not a promise about a later apply.
61
+ * A moved witness is unjudged and therefore carries no made-up change counts.
62
+ */
63
+ type JudgeOutcome = {
64
+ readonly kind: "admitted";
65
+ readonly base: CoreWitness;
66
+ readonly changes: ChangeCounts;
67
+ } | {
68
+ readonly kind: "invariant-rejected";
69
+ readonly base: CoreWitness;
70
+ readonly changes: ChangeCounts;
71
+ readonly violations: readonly Violation[];
72
+ } | {
73
+ readonly kind: "moved";
74
+ readonly witnessed: CoreWitness;
75
+ readonly current: CoreWitness;
76
+ };
77
+ /** Storage measurements, not heap usage or mapped-page residency. */
78
+ interface StorageInspection {
79
+ /** Reserved virtual address range for the LMDB mapping. */
80
+ readonly virtualMapBytes: bigint;
81
+ /** File length; may include sparse regions and free pages. */
82
+ readonly populatedFileBytes: bigint;
83
+ /** LMDB's non-free branch, leaf and overflow pages. Not resident RAM. */
84
+ readonly nonFreePageBytes: bigint;
85
+ /** Allocated filesystem blocks, or null when the OS cannot report them. */
86
+ readonly allocatedDiskBytes: bigint | null;
87
+ }
88
+ /** Database diagnostics: measurements, never retained rows. */
60
89
  interface DbInspection {
61
90
  readonly schemaId: SchemaId;
62
91
  readonly generation: bigint;
63
- readonly mapBytes: bigint;
64
- readonly populatedBytes: bigint;
65
- readonly diskBytes: bigint;
66
- readonly residentEstimateBytes: bigint;
92
+ readonly storage: StorageInspection;
67
93
  readonly retainedOperations: bigint;
68
94
  }
69
95
  /**
@@ -74,23 +100,32 @@ interface DbInspection {
74
100
  * no writable authority — never a `Db`, an `apply`, or a raw transaction.
75
101
  */
76
102
  interface QueryReader<S extends AnySchema> {
77
- get<R extends Rel<S>>(relation: R, key: Key<R>, work: ExecutionPolicy): Effect.Effect<Option.Option<Fact<R>>, DbError>;
78
- execute<P extends ParamsRecord, A>(query: QueryTemplate<S, P, A>, params: P, work: ExecutionPolicy): Effect.Effect<CompleteResult<A>, DbError, Scope.Scope>;
103
+ get<K extends KeyStatement<Rel<S>, readonly string[]>>(key: K, value: NoInfer<Key<K>>): Effect.Effect<Option.Option<Fact<K["owner"]>>, DbError>;
104
+ execute<P extends ParamsRecord, A>(query: QueryTemplate<S, P, A>, params: P): Effect.Effect<CompleteResult<A>, DbError, Scope.Scope>;
105
+ prepare<P extends ParamsRecord, A>(query: QueryTemplate<S, P, A>): Effect.Effect<PreparedQuery<P, A>, DbError, Scope.Scope>;
79
106
  }
80
107
  interface Snapshot<S extends AnySchema> extends QueryReader<S> {
81
108
  readonly witness: CoreWitness;
82
- session(work: ExecutionPolicy): Effect.Effect<ExecutionSession<S>, DbError, Scope.Scope>;
83
109
  close(): Effect.Effect<CloseReport>;
84
110
  }
85
- interface ExecutionSession<S extends AnySchema> {
86
- execute<P extends ParamsRecord, A>(query: QueryTemplate<S, P, A>, params: P, work: ExecutionPolicy): Effect.Effect<CompleteResult<A>, DbError, Scope.Scope>;
111
+ /** One compiled plan and its reusable buffers, pinned to the preparing snapshot.
112
+ * Closing it releases its own state, not the snapshot or completed results.
113
+ */
114
+ interface PreparedQuery<P extends ParamsRecord, A> {
115
+ execute(params: P): Effect.Effect<CompleteResult<A>, DbError, Scope.Scope>;
116
+ /** Drop reusable execution buffers, keeping the compiled query and snapshot. */
117
+ releaseMemory(): Effect.Effect<void, DbError>;
87
118
  close(): Effect.Effect<CloseReport>;
88
119
  }
89
120
  interface Db<S extends AnySchema> {
90
121
  readonly schemaId: SchemaId;
91
- snapshot(work: ExecutionPolicy): Effect.Effect<Snapshot<S>, DbError, Scope.Scope>;
92
- apply(changes: ChangeSet<S>, options: ApplyOptions): Effect.Effect<ApplyOutcome, DbError>;
93
- inspect(work: ExecutionPolicy): Effect.Effect<DbInspection, DbError>;
122
+ snapshot(): Effect.Effect<Snapshot<S>, DbError, Scope.Scope>;
123
+ apply(changes: ChangeSet<S>, options: WriteOptions): Effect.Effect<ApplyOutcome, DbError>;
124
+ /** Briefly acquires the writer, judges and aborts. Stores no facts or generation. */
125
+ judge(changes: ChangeSet<S>, options: WriteOptions): Effect.Effect<JudgeOutcome, DbError>;
126
+ inspect(): Effect.Effect<DbInspection, DbError>;
127
+ /** Clear shared query caches without invalidating live snapshots or results. */
128
+ clearCache(): Effect.Effect<void, DbError>;
94
129
  close(): Effect.Effect<CloseReport>;
95
130
  }
96
131
  /**
@@ -100,8 +135,8 @@ interface Db<S extends AnySchema> {
100
135
  * implementation as `Schema.compile` — prior compilation is optional.
101
136
  */
102
137
  declare const Db: Readonly<{
103
- create<S extends AnySchema>(path: string, schema: S, work: ExecutionPolicy): Effect.Effect<Db<S>, DbError, NativeRuntime | Scope.Scope>;
104
- open<S extends AnySchema>(path: string, schema: S, work: ExecutionPolicy): Effect.Effect<Db<S>, DbError, NativeRuntime | Scope.Scope>;
138
+ create<S extends AnySchema>(path: string, schema: S): Effect.Effect<Db<S>, DbError, NativeRuntime | Scope.Scope>;
139
+ open<S extends AnySchema>(path: string, schema: S): Effect.Effect<Db<S>, DbError, NativeRuntime | Scope.Scope>;
105
140
  }>;
106
141
  /**
107
142
  * Private log integration: wraps a published core snapshot
@@ -117,8 +152,8 @@ declare const Db: Readonly<{
117
152
  declare function internalPublishedReader<S extends AnySchema>(core: object, theory: S): {
118
153
  readonly get: QueryReader<S>["get"];
119
154
  readonly execute: QueryReader<S>["execute"];
120
- readonly session: (work: ExecutionPolicy) => Effect.Effect<ExecutionSession<S>, DbError, Scope.Scope>;
155
+ readonly prepare: QueryReader<S>["prepare"];
121
156
  };
122
- export type { ApplyExpected, ApplyOptions, ApplyOutcome, CoreWitness, DbInspection, ExecutionSession, QueryReader, Snapshot };
157
+ export type { ApplyOutcome, CoreWitness, DbInspection, JudgeOutcome, PreparedQuery, QueryReader, Snapshot, StorageInspection, WriteExpected, WriteOptions };
123
158
  export { Db, internalPublishedReader };
124
159
  //# sourceMappingURL=db.d.ts.map
package/dist/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAI1D,OAAO,KAAK,EAAkB,QAAQ,EAAE,MAAM,aAAa,CAAA;AAa3D,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,YAAY,CAAA;AAIrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAiB,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAGlD;;;;;;;;;;;;;;;GAeG;AAEH,+FAA+F;AAC/F,UAAU,WAAW;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC3B;AAED,KAAK,aAAa,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAA;AAEpG,gEAAgE;AAChE,KAAK,YAAY,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAA;AAExD,KAAK,YAAY,GACd;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,GAClF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAA;AAE7F;;GAEG;AACH,KAAK,YAAY,GACd;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACzF;IACA,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAA;CACxC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAA;AAE7F,qEAAqE;AACrE,UAAU,iBAAiB;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,yEAAyE;IACzE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1C;AAED,+DAA+D;AAC/D,UAAU,YAAY;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;CACnC;AAED;;;;;;GAMG;AACH,UAAU,WAAW,CAAC,CAAC,SAAS,SAAS;IACxC,GAAG,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,EACpD,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GACpB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC1D,OAAO,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,EAChC,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC7B,MAAM,EAAE,CAAC,GACP,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACzD,OAAO,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,EAChC,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC3B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAC3D;AAED,UAAU,QAAQ,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;CACnC;AAED;;GAEG;AACH,UAAU,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC;IAChD,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC1E,gFAAgF;IAChF,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC7C,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;CACnC;AAED,UAAU,EAAE,CAAC,CAAC,SAAS,SAAS;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5D,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACzF,qFAAqF;IACrF,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACzF,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC/C,gFAAgF;IAChF,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC1C,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;CACnC;AAqbD;;;;;GAKG;AACH,QAAA,MAAM,EAAE;WACA,CAAC,SAAS,SAAS,QAAQ,MAAM,UAAU,CAAC;SAG9C,CAAC,SAAS,SAAS,QAAQ,MAAM,UAAU,CAAC;EAGhD,CAAA;AAEF;;;;;;;;;;GAUG;AACH,iBAAS,uBAAuB,CAAC,CAAC,SAAS,SAAS,EACnD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,GACP;IACF,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC3C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;CAC3C,CAaA;AAED,YAAY,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,CAAA;AACD,OAAO,EAAE,EAAE,EAAE,uBAAuB,EAAE,CAAA"}