@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,4 +1,5 @@
1
1
  import { Schema } from "effect";
2
+ import { AuthoringDiagnostic, AuthoringError } from "#errors.ts";
2
3
  import { runtimeErrorCodes } from "#runtime-codes.ts";
3
4
  export { runtimeErrorCodes } from "#runtime-codes.ts";
4
5
  const ResourceLimit = Schema.Struct({
@@ -9,7 +10,14 @@ const ResourceLimit = Schema.Struct({
9
10
  limit: Schema.BigInt
10
11
  });
11
12
  const PlainReason = Schema.Struct({
12
- _tag: Schema.Literals(runtimeErrorCodes.filter((code) => code !== "ResourceLimit" && code !== "Io" && code !== "Engine"))
13
+ _tag: Schema.Literals(runtimeErrorCodes.filter((code) => code !== "ResourceLimit" && code !== "Io" && code !== "Engine" && code !== "InvalidArgument"))
14
+ });
15
+ const InvalidArgument = Schema.Struct({
16
+ _tag: Schema.Literal("InvalidArgument"),
17
+ detail: Schema.optional(Schema.Struct({
18
+ message: Schema.String,
19
+ diagnostic: Schema.optional(AuthoringDiagnostic)
20
+ }))
13
21
  });
14
22
  const Io = Schema.Struct({
15
23
  _tag: Schema.Literal("Io"),
@@ -22,7 +30,7 @@ const Engine = Schema.Struct({
22
30
  kind: Schema.String,
23
31
  message: Schema.String
24
32
  });
25
- export const DbReason = Schema.Union([ResourceLimit, Io, Engine, PlainReason]);
33
+ export const DbReason = Schema.Union([ResourceLimit, Io, Engine, InvalidArgument, PlainReason]);
26
34
  export class DbError extends Schema.TaggedError()("DbError", {
27
35
  operation: Schema.String,
28
36
  reason: DbReason
@@ -30,11 +38,43 @@ export class DbError extends Schema.TaggedError()("DbError", {
30
38
  get code() {
31
39
  return this.reason._tag;
32
40
  }
41
+ /** Safe default display; callers explicitly inspect structured detail. */
42
+ get message() {
43
+ return `${this.operation}: ${this.code}`;
44
+ }
33
45
  }
34
46
  const decodeReason = Schema.decodeUnknownOption(DbReason);
35
47
  export function dbError(operation, cause) {
48
+ if (cause instanceof DbError)
49
+ return cause;
50
+ if (cause instanceof AuthoringError)
51
+ return argumentError(operation, cause);
36
52
  const decoded = decodeReason(cause);
37
- return new DbError({ operation, reason: decoded._tag === "Some" ? decoded.value : { _tag: "Internal" } });
53
+ if (decoded._tag === "Some")
54
+ return new DbError({ operation, reason: decoded.value });
55
+ // Synchronous native schema/marshalling refusals precede the executor's
56
+ // tagged error wire. Preserve their engine family instead of losing it.
57
+ if (typeof cause === "object" &&
58
+ cause !== null &&
59
+ "kind" in cause &&
60
+ typeof cause.kind === "string" &&
61
+ "message" in cause &&
62
+ typeof cause.message === "string") {
63
+ return new DbError({ operation, reason: { _tag: "Engine", kind: cause.kind, message: cause.message } });
64
+ }
65
+ return new DbError({ operation, reason: { _tag: "Internal" } });
66
+ }
67
+ /** Host input failures retain authoring details without displaying values. */
68
+ export function argumentError(operation, cause) {
69
+ if (cause instanceof DbError)
70
+ return cause;
71
+ if (cause instanceof AuthoringError) {
72
+ const detail = cause.diagnostic === undefined
73
+ ? { message: cause.message }
74
+ : { message: cause.message, diagnostic: cause.diagnostic };
75
+ return new DbError({ operation, reason: { _tag: "InvalidArgument", detail } });
76
+ }
77
+ return new DbError({ operation, reason: { _tag: "InvalidArgument" } });
38
78
  }
39
79
  const Outstanding = Schema.Struct({
40
80
  phase: Schema.Literals(["open", "closing", "closed"]),
@@ -43,11 +83,7 @@ const Outstanding = Schema.Struct({
43
83
  retained: Schema.BigInt,
44
84
  owners: Schema.BigInt,
45
85
  databases: Schema.BigInt,
46
- natives: Schema.BigInt,
47
- inputBytes: Schema.BigInt,
48
- workingBytes: Schema.BigInt,
49
- scratchBytes: Schema.BigInt,
50
- resultBytes: Schema.BigInt
86
+ natives: Schema.BigInt
51
87
  });
52
88
  const Close = Schema.Union([
53
89
  Schema.Struct({ kind: Schema.Literal("closed") }),
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-errors.js","sourceRoot":"","sources":["../src/runtime-errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-errors.js","sourceRoot":"","sources":["../src/runtime-errors.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export interface RepositoryLockHandle {
16
16
  readonly __repositoryLock: unique symbol;
17
17
  }
18
18
  /** Resource kinds installed in native worker tables. */
19
- export type NativeKind = "snapshot" | "result" | "cursor" | "draft" | "changes" | "repository-lock";
19
+ export type NativeKind = "snapshot" | "prepared" | "result" | "cursor" | "draft" | "changes" | "repository-lock";
20
20
  /**
21
21
  * Checked capability into the native registry. JS tokens validate
22
22
  * these five fields; native re-judges kind/generation/owner on every verb.
@@ -76,27 +76,13 @@ export type LogTakeWire = {
76
76
  readonly outcome: LogOutcomeWire;
77
77
  readonly digest: Uint8Array;
78
78
  };
79
- export interface PolicyWire {
80
- readonly inputBytes: bigint;
81
- readonly workingBytes: bigint;
82
- readonly scratchBytes: bigint;
83
- readonly resultBytes: bigint;
84
- readonly rows: bigint;
85
- readonly workUnits: bigint;
86
- readonly timeoutMs: number;
87
- }
88
79
  export interface OptionsWire {
89
- readonly workers: number;
90
- readonly queueCapacity: number;
91
- readonly cleanupCapacity: number;
92
- readonly ownerCapacity: number;
93
- readonly nativeHandleCapacity: number;
94
- readonly inputBytes: bigint;
95
- readonly workingBytes: bigint;
96
- readonly scratchBytes: bigint;
97
- readonly resultBytes: bigint;
98
- readonly chunkBytes: bigint;
99
- readonly cleanupTimeoutMs: number;
80
+ readonly workers?: number | undefined;
81
+ readonly queueCapacity?: number | undefined;
82
+ readonly cleanupCapacity?: number | undefined;
83
+ readonly ownerCapacity?: number | undefined;
84
+ readonly nativeHandleCapacity?: number | undefined;
85
+ readonly cleanupTimeoutMs?: number | undefined;
100
86
  }
101
87
  export interface InspectionWire {
102
88
  readonly phase: "open" | "closing" | "closed";
@@ -106,10 +92,6 @@ export interface InspectionWire {
106
92
  readonly owners: bigint;
107
93
  readonly databases: bigint;
108
94
  readonly natives: bigint;
109
- readonly inputBytes: bigint;
110
- readonly workingBytes: bigint;
111
- readonly scratchBytes: bigint;
112
- readonly resultBytes: bigint;
113
95
  }
114
96
  export type CloseWire = {
115
97
  readonly kind: "closed";
@@ -122,8 +104,8 @@ export type CloseWire = {
122
104
  interface RuntimeNative {
123
105
  runtimeErrorCodes(): readonly string[];
124
106
  runtimeOpen(options: OptionsWire): RuntimeHandle;
125
- runtimeReady(runtime: RuntimeHandle, policy: PolicyWire, callback: () => void): OperationHandle;
126
- runtimeHash(runtime: RuntimeHandle, policy: PolicyWire, bytes: Uint8Array, callback: () => void): OperationHandle;
107
+ runtimeReady(runtime: RuntimeHandle, callback: () => void): OperationHandle;
108
+ runtimeHash(runtime: RuntimeHandle, bytes: Uint8Array, callback: () => void): OperationHandle;
127
109
  runtimeTake(operation: OperationHandle): Uint8Array | null;
128
110
  runtimeCancel(operation: OperationHandle, callback: (report: CloseWire) => void): void;
129
111
  runtimeClose(runtime: RuntimeHandle, callback: (report: CloseWire) => void): void;
@@ -136,21 +118,21 @@ interface RuntimeNative {
136
118
  * Predelivery: no JS take; cursor stays on row1 so retry does not skip.
137
119
  */
138
120
  runtimeArmPublicationCancel(runtime: RuntimeHandle): void;
139
- runtimeDirectoryAcquire(runtime: RuntimeHandle, policy: PolicyWire, path: string, callback: () => void): OperationHandle;
121
+ runtimeDirectoryAcquire(runtime: RuntimeHandle, path: string, callback: () => void): OperationHandle;
140
122
  runtimeDirectoryTake(operation: OperationHandle): DirectoryHandle;
141
- runtimeDirectoryBegin(owner: DirectoryHandle, policy: PolicyWire): OperationHandle;
123
+ runtimeDirectoryBegin(owner: DirectoryHandle): OperationHandle;
142
124
  runtimeDirectoryCheck(operation: OperationHandle): void;
143
125
  runtimeDirectoryEnd(operation: OperationHandle): void;
144
126
  runtimeDirectoryClose(owner: DirectoryHandle, remove: boolean, callback: (report: CloseWire) => void): void;
145
- runtimeDirectoryDbOpen(owner: DirectoryHandle, policy: PolicyWire, childName: string, spec: SchemaSpec, create: boolean, callback: () => void): OperationHandle;
127
+ runtimeDirectoryDbOpen(owner: DirectoryHandle, childName: string, spec: SchemaSpec, create: boolean, callback: () => void): OperationHandle;
146
128
  runtimeDbTake(operation: OperationHandle): ManagedDbOutcome;
147
129
  runtimeManagedDbClose(db: DbHandle, callback: (report: CloseWire) => void): void;
148
- runtimeLogCommandSeal(runtime: RuntimeHandle, schema: LogSchemaHandle, policy: PolicyWire, metadata: LogCommandMetadata, changes: Uint8Array, result: Uint8Array | null, limits: LogLimits, callback: () => void): OperationHandle;
149
- runtimeLogCommandParse(runtime: RuntimeHandle, schema: LogSchemaHandle, policy: PolicyWire, bytes: Uint8Array, limits: LogLimits, callback: () => void): OperationHandle;
150
- runtimeLogDecisionDecode(runtime: RuntimeHandle, policy: PolicyWire, bytes: Uint8Array, parent: LogDecisionStamp | null, limits: LogLimits, callback: () => void): OperationHandle;
130
+ runtimeLogCommandSeal(runtime: RuntimeHandle, schema: LogSchemaHandle, metadata: LogCommandMetadata, changes: Uint8Array, result: Uint8Array | null, limits: LogLimits, callback: () => void): OperationHandle;
131
+ runtimeLogCommandParse(runtime: RuntimeHandle, schema: LogSchemaHandle, bytes: Uint8Array, limits: LogLimits, callback: () => void): OperationHandle;
132
+ runtimeLogDecisionDecode(runtime: RuntimeHandle, bytes: Uint8Array, parent: LogDecisionStamp | null, limits: LogLimits, callback: () => void): OperationHandle;
151
133
  runtimeLogTake(operation: OperationHandle): LogTakeWire;
152
134
  /** L14 mint: `Runtime::mint_repository_lock` stamps `NativeKind::RepositoryLock` at take. */
153
- logRepositoryLockAcquire(runtime: RuntimeHandle, policy: PolicyWire, directory: string, callback: () => void): OperationHandle;
135
+ logRepositoryLockAcquire(runtime: RuntimeHandle, directory: string, callback: () => void): OperationHandle;
154
136
  logRepositoryLockTake(operation: OperationHandle): RepositoryLockHandle;
155
137
  logRepositoryLockRelease(owner: RepositoryLockHandle, callback: (report: CloseWire) => void): void;
156
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-native.d.ts","sourceRoot":"","sources":["../src/runtime-native.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-native.d.ts","sourceRoot":"","sources":["../src/runtime-native.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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;AA2MnC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAuC,CAAA"}
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;AA0KnC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAuC,CAAA"}
package/dist/runtime.d.ts CHANGED
@@ -1,37 +1,20 @@
1
1
  import { Context, Duration, Effect, Layer } from "effect";
2
2
  import type { CloseReport, OutstandingWork } from "./runtime-errors.js";
3
3
  import { DbError } from "./runtime-errors.js";
4
- import type { OperationHandle, PolicyWire, RuntimeHandle } from "./runtime-native.js";
5
- export interface ExecutionPolicy {
6
- readonly inputBytes: bigint;
7
- readonly workingBytes: bigint;
8
- readonly scratchBytes: bigint;
9
- readonly resultBytes: bigint;
10
- readonly rows: bigint;
11
- readonly workUnits: bigint;
12
- readonly timeout: Duration.Input;
13
- }
4
+ import type { OperationHandle, RuntimeHandle } from "./runtime-native.js";
14
5
  export interface NativeRuntimeOptions {
15
- readonly workers: number;
16
- readonly queueCapacity: number;
17
- readonly cleanupCapacity: number;
18
- readonly ownerCapacity: number;
19
- readonly nativeHandleCapacity: number;
20
- readonly inputBytes: bigint;
21
- readonly workingBytes: bigint;
22
- readonly scratchBytes: bigint;
23
- readonly resultBytes: bigint;
24
- readonly chunkBytes: bigint;
25
- readonly cleanupTimeout: Duration.Input;
6
+ readonly workers?: number;
7
+ readonly queueCapacity?: number;
8
+ readonly cleanupCapacity?: number;
9
+ readonly ownerCapacity?: number;
10
+ readonly nativeHandleCapacity?: number;
11
+ readonly cleanupTimeout?: Duration.Input;
26
12
  }
27
13
  interface RuntimeService {
28
14
  readonly close: () => Effect.Effect<CloseReport>;
29
- readonly inspect: (work: ExecutionPolicy) => Effect.Effect<OutstandingWork, DbError>;
15
+ readonly inspect: () => Effect.Effect<OutstandingWork, DbError>;
30
16
  }
31
- export declare function policyWire(work: ExecutionPolicy, operation: string): PolicyWire;
32
17
  export declare function finalizeClose(operation: string, report: CloseReport): Effect.Effect<void>;
33
- /** Independent caps intersect: a delivery request cannot enlarge `work.resultBytes`. */
34
- export declare function deliveryResultBytes(requested: bigint, work: ExecutionPolicy): bigint;
35
18
  /** Registration returns the native lease before any completion can run in JS.
36
19
  * Interruption cancels and joins that lease, including a late successful result.
37
20
  * No Promise or libuv job is created for ordinary native work.
@@ -40,7 +23,7 @@ export declare function nativeOperation<A>(operation: string, start: (callback:
40
23
  export declare function nativeOperationWith<A, Value>(operation: string, start: (callback: () => void) => OperationHandle, take: (operation: OperationHandle) => Value, accept: (value: Value) => A): Effect.Effect<A, DbError>;
41
24
  declare const NativeRuntime_base: Context.ServiceClass<NativeRuntime, "@bjornpagen/bumbledb/NativeRuntime", RuntimeService>;
42
25
  export declare class NativeRuntime extends NativeRuntime_base {
43
- static layer(options: NativeRuntimeOptions): Layer.Layer<NativeRuntime, DbError>;
26
+ static layer(options?: NativeRuntimeOptions): Layer.Layer<NativeRuntime, DbError>;
44
27
  }
45
28
  /** Private core/log integration: captures the already acquired shared service. */
46
29
  export declare const runtimeHandle: () => Effect.Effect<RuntimeHandle, DbError, NativeRuntime>;
@@ -63,11 +46,11 @@ export interface RepositoryLock {
63
46
  * and acquire failure all run the same slot finalizer — empty slot is
64
47
  * a no-op. No `runtimeDirectoryAcquire`, no core `Db`, no JS bookkeeping.
65
48
  */
66
- export declare const internalAcquireRepositoryLock: (operation: string, directory: string, work: ExecutionPolicy) => Effect.Effect<Readonly<{
49
+ export declare const internalAcquireRepositoryLock: (operation: string, directory: string) => Effect.Effect<Readonly<{
67
50
  directory: string;
68
51
  release: Effect.Effect<void, never, never>;
69
52
  }>, DbError, NativeRuntime | import("effect/Scope").Scope>;
70
53
  /** Internal first executor consumer; not a replacement row codec or public hash API. */
71
- export declare const hashChunk: (input: Uint8Array<ArrayBufferLike>, work: ExecutionPolicy) => Effect.Effect<Uint8Array<ArrayBufferLike>, DbError, NativeRuntime>;
54
+ export declare const hashChunk: (input: Uint8Array<ArrayBufferLike>) => Effect.Effect<Uint8Array<ArrayBufferLike>, DbError, NativeRuntime>;
72
55
  export {};
73
56
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAQ,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAgB,OAAO,EAAW,MAAM,oBAAoB,CAAA;AACnE,OAAO,KAAK,EAAa,eAAe,EAAqC,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGtH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;CACxC;AAED,UAAU,cAAc;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;CAC/D;AAwDD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAEzF;AAwED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAChC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,eAAe,EAChD,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,KAAK,CAAC,GACrC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAE3B;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAC3C,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,eAAe,EAChD,IAAI,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,KAAK,EAC3C,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,GACzB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CA4B3B;;AA4ED,qBAAa,aAAc,SAAQ,kBAElC;IACA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAE,oBAAyB,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAEpF;CACD;AAED,kFAAkF;AAClF,eAAO,MAAM,aAAa,4DAKxB,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACrC;AAQD;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B;;;0DAyCxC,CAAA;AAEF,wFAAwF;AACxF,eAAO,MAAM,SAAS,4GAepB,CAAA"}
package/dist/runtime.js CHANGED
@@ -10,42 +10,21 @@ function count(value, operation) {
10
10
  throw invalid(operation);
11
11
  return value;
12
12
  }
13
- function bytes(value, operation) {
14
- if (typeof value !== "bigint" || value < 0n || value > 0xffffffffffffffffn)
15
- throw invalid(operation);
16
- return value;
17
- }
18
13
  function millis(value, operation) {
19
14
  const duration = Duration.toMillis(value);
20
15
  if (!Number.isFinite(duration) || duration < 0 || duration > 0xffffffff)
21
16
  throw invalid(operation);
22
17
  return Math.ceil(duration);
23
18
  }
24
- export function policyWire(work, operation) {
25
- return {
26
- inputBytes: bytes(work.inputBytes, operation),
27
- workingBytes: bytes(work.workingBytes, operation),
28
- scratchBytes: bytes(work.scratchBytes, operation),
29
- resultBytes: bytes(work.resultBytes, operation),
30
- rows: bytes(work.rows, operation),
31
- workUnits: bytes(work.workUnits, operation),
32
- timeoutMs: millis(work.timeout, operation)
33
- };
34
- }
35
19
  function options(value) {
36
20
  const operation = "NativeRuntime.acquire";
37
21
  return {
38
- workers: count(value.workers, operation),
39
- queueCapacity: count(value.queueCapacity, operation),
40
- cleanupCapacity: count(value.cleanupCapacity, operation),
41
- ownerCapacity: count(value.ownerCapacity, operation),
42
- nativeHandleCapacity: count(value.nativeHandleCapacity, operation),
43
- inputBytes: bytes(value.inputBytes, operation),
44
- workingBytes: bytes(value.workingBytes, operation),
45
- scratchBytes: bytes(value.scratchBytes, operation),
46
- resultBytes: bytes(value.resultBytes, operation),
47
- chunkBytes: bytes(value.chunkBytes, operation),
48
- cleanupTimeoutMs: count(millis(value.cleanupTimeout, operation), operation)
22
+ workers: value.workers === undefined ? undefined : count(value.workers, operation),
23
+ queueCapacity: value.queueCapacity === undefined ? undefined : count(value.queueCapacity, operation),
24
+ cleanupCapacity: value.cleanupCapacity === undefined ? undefined : count(value.cleanupCapacity, operation),
25
+ ownerCapacity: value.ownerCapacity === undefined ? undefined : count(value.ownerCapacity, operation),
26
+ nativeHandleCapacity: value.nativeHandleCapacity === undefined ? undefined : count(value.nativeHandleCapacity, operation),
27
+ cleanupTimeoutMs: value.cleanupTimeout === undefined ? undefined : count(millis(value.cleanupTimeout, operation), operation)
49
28
  };
50
29
  }
51
30
  function failure(operation, cause) {
@@ -103,13 +82,6 @@ function afterClose(operation, report, effect) {
103
82
  }
104
83
  return effect.pipe(Effect.onExit(() => Effect.die(new CloseFailure({ operation, report }))));
105
84
  }
106
- /** Independent caps intersect: a delivery request cannot enlarge `work.resultBytes`. */
107
- export function deliveryResultBytes(requested, work) {
108
- if (typeof requested !== "bigint" || requested < 0n) {
109
- throw invalid("deliveryResultBytes");
110
- }
111
- return requested < work.resultBytes ? requested : work.resultBytes;
112
- }
113
85
  function close(handle) {
114
86
  return drain("NativeRuntime.close", (callback) => runtimeNative.runtimeClose(handle, callback));
115
87
  }
@@ -170,15 +142,7 @@ const acquire = Effect.fn("NativeRuntime.acquire")(function* (configuration) {
170
142
  const wire = options(configuration);
171
143
  handle = runtimeNative.runtimeOpen(wire);
172
144
  const owner = handle;
173
- const lease = runtimeNative.runtimeReady(owner, {
174
- inputBytes: 0n,
175
- workingBytes: 0n,
176
- scratchBytes: 0n,
177
- resultBytes: 0n,
178
- rows: 0n,
179
- workUnits: 1n,
180
- timeoutMs: wire.cleanupTimeoutMs
181
- }, () => {
145
+ const lease = runtimeNative.runtimeReady(owner, () => {
182
146
  if (signal.aborted) {
183
147
  try {
184
148
  runtimeNative.runtimeClose(owner, (report) => {
@@ -194,8 +158,8 @@ const acquire = Effect.fn("NativeRuntime.acquire")(function* (configuration) {
194
158
  runtimeNative.runtimeTake(lease);
195
159
  const service = {
196
160
  close: () => close(owner),
197
- inspect: Effect.fn("NativeRuntime.inspect")(function* (work) {
198
- yield* nativeOperation("NativeRuntime.inspect", (callback) => runtimeNative.runtimeReady(owner, policyWire(work, "NativeRuntime.inspect"), callback), () => undefined);
161
+ inspect: Effect.fn("NativeRuntime.inspect")(function* () {
162
+ yield* nativeOperation("NativeRuntime.inspect", (callback) => runtimeNative.runtimeReady(owner, callback), () => undefined);
199
163
  return runtimeNative.runtimeInspect(owner);
200
164
  })
201
165
  };
@@ -221,7 +185,7 @@ const acquire = Effect.fn("NativeRuntime.acquire")(function* (configuration) {
221
185
  }), (service) => service.close().pipe(Effect.flatMap((report) => finalizeClose("NativeRuntime.release", report))), { interruptible: true });
222
186
  });
223
187
  export class NativeRuntime extends Context.Service()("@bjornpagen/bumbledb/NativeRuntime") {
224
- static layer(options) {
188
+ static layer(options = {}) {
225
189
  return Layer.effect(NativeRuntime, acquire(options));
226
190
  }
227
191
  }
@@ -243,15 +207,11 @@ function joinLockRelease(operation, owner) {
243
207
  * and acquire failure all run the same slot finalizer — empty slot is
244
208
  * a no-op. No `runtimeDirectoryAcquire`, no core `Db`, no JS bookkeeping.
245
209
  */
246
- export const internalAcquireRepositoryLock = Effect.fn("internalAcquireRepositoryLock")(function* (operation, directory, work) {
210
+ export const internalAcquireRepositoryLock = Effect.fn("internalAcquireRepositoryLock")(function* (operation, directory) {
247
211
  if (directory.length === 0) {
248
212
  return yield* Effect.fail(invalid(operation));
249
213
  }
250
214
  const runtime = yield* runtimeHandle();
251
- const wire = yield* Effect.try({
252
- try: () => policyWire(work, operation),
253
- catch: () => invalid(operation)
254
- });
255
215
  const closeOp = `${operation}.repositoryLock`;
256
216
  return yield* Effect.uninterruptibleMask((restore) => Effect.gen(function* () {
257
217
  const slot = { owner: undefined };
@@ -265,7 +225,7 @@ export const internalAcquireRepositoryLock = Effect.fn("internalAcquireRepositor
265
225
  })));
266
226
  });
267
227
  yield* Effect.addFinalizer(() => release);
268
- const owner = yield* restore(nativeOperationWith(operation, (callback) => runtimeNative.logRepositoryLockAcquire(runtime, wire, directory, callback), runtimeNative.logRepositoryLockTake, (value) => value));
228
+ const owner = yield* restore(nativeOperationWith(operation, (callback) => runtimeNative.logRepositoryLockAcquire(runtime, directory, callback), runtimeNative.logRepositoryLockTake, (value) => value));
269
229
  slot.owner = owner;
270
230
  return Object.freeze({
271
231
  directory,
@@ -274,7 +234,7 @@ export const internalAcquireRepositoryLock = Effect.fn("internalAcquireRepositor
274
234
  }));
275
235
  });
276
236
  /** Internal first executor consumer; not a replacement row codec or public hash API. */
277
- export const hashChunk = Effect.fn("bumbledb.hashChunk")(function* (input, work) {
237
+ export const hashChunk = Effect.fn("bumbledb.hashChunk")(function* (input) {
278
238
  const runtime = yield* NativeRuntime;
279
239
  const handle = owners.get(runtime);
280
240
  if (handle === undefined)
@@ -282,7 +242,7 @@ export const hashChunk = Effect.fn("bumbledb.hashChunk")(function* (input, work)
282
242
  return yield* nativeOperation("hashChunk", (callback) => {
283
243
  if (!(input instanceof Uint8Array) || !(input.buffer instanceof ArrayBuffer))
284
244
  throw invalid("hashChunk");
285
- return runtimeNative.runtimeHash(handle, policyWire(work, "hashChunk"), input, callback);
245
+ return runtimeNative.runtimeHash(handle, input, callback);
286
246
  }, (value) => {
287
247
  if (value === null)
288
248
  throw dbError("hashChunk", { _tag: "Internal" });
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -27,6 +27,14 @@ interface Schema<Rels extends SchemaRelations, Classes extends SchemaClasses = S
27
27
  readonly classes: Classes;
28
28
  }
29
29
  type AnySchema = Schema<SchemaRelations>;
30
+ /**
31
+ * Logical schema equivalence, including the ordered native ordinals and
32
+ * host decoding domains. Schema display names do not change the theory.
33
+ * A database/snapshot still has its own resource identity and lifetime.
34
+ */
35
+ declare function schemasAgree(leftInput: AnySchema, rightInput: AnySchema): boolean;
36
+ declare function schemaDescriptor<S extends AnySchema>(input: S): S;
37
+ declare function schemaDescriptor(input: unknown): AnySchema;
30
38
  type EvaluatedClasses<C extends SchemaClasses> = C extends SchemaClasses ? {
31
39
  readonly [N in keyof C]: {
32
40
  readonly [F in keyof C[N]]: C[N][F];
@@ -34,5 +42,5 @@ type EvaluatedClasses<C extends SchemaClasses> = C extends SchemaClasses ? {
34
42
  } : never;
35
43
  declare function schema<const Rels extends SchemaRelations, const Stmts extends readonly Statement[]>(name: string, relations: Rels, statements: Stmts & LawfulStatements<Rels, Stmts>): Schema<Rels, EvaluatedClasses<ClassesOf<Rels, Stmts>>>;
36
44
  export type { AnySchema, Schema, SchemaRelation, SchemaRelations };
37
- export { schema };
45
+ export { schema, schemaDescriptor, schemasAgree };
38
46
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAI3C,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,EAAgC,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAkR7E,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,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;AAER,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,CA6BxD;AAED,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,CAAA"}
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"}