@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
package/dist/db.js CHANGED
@@ -1,16 +1,19 @@
1
1
  import { Effect, Option } from "effect";
2
2
  import { internalChanges } from "#changes.ts";
3
3
  import { drainClose, releaseOwner } from "#close.ts";
4
- import { Schema as CoreSchema, schemaTables } from "#compile.ts";
4
+ import { membersAgree } from "#closed.ts";
5
+ import { Schema as CoreSchema, declaredKey, schemaTables } from "#compile.ts";
5
6
  import { dbNative } from "#db-native.ts";
6
7
  import { lower } from "#lower.ts";
7
8
  import { lowerQuery } from "#query/lower.ts";
8
9
  import { wireParams } from "#query/run.ts";
9
10
  import { internalResult, makeCompleteResult } from "#result.ts";
10
11
  import { factOfCells, keyCellsOf } from "#rows.ts";
11
- import { nativeOperationWith, policyWire, runtimeHandle } from "#runtime.ts";
12
- import { DbError } from "#runtime-errors.ts";
12
+ import { nativeOperationWith, runtimeHandle } from "#runtime.ts";
13
+ import { argumentError, DbError } from "#runtime-errors.ts";
13
14
  import { runtimeNative } from "#runtime-native.ts";
15
+ import { schemaDescriptor, schemasAgree } from "#schema.ts";
16
+ import { integerValue, recordValue } from "#values.ts";
14
17
  function refusal(operation, reason) {
15
18
  return new DbError({ operation, reason: { _tag: reason } });
16
19
  }
@@ -29,31 +32,78 @@ function outcomeOf(wire) {
29
32
  return Object.freeze({ kind: "moved", witnessed: witnessOf(wire.witnessed), current: witnessOf(wire.current) });
30
33
  }
31
34
  }
35
+ function judgmentOf(wire) {
36
+ switch (wire.tag) {
37
+ case "admitted":
38
+ return Object.freeze({ kind: "admitted", base: witnessOf(wire.base), changes: Object.freeze(wire.changes) });
39
+ case "invariant-rejected":
40
+ return Object.freeze({
41
+ kind: "invariant-rejected",
42
+ base: witnessOf(wire.base),
43
+ changes: Object.freeze(wire.changes),
44
+ violations: wire.violations
45
+ });
46
+ case "moved":
47
+ return Object.freeze({ kind: "moved", witnessed: witnessOf(wire.witnessed), current: witnessOf(wire.current) });
48
+ }
49
+ }
50
+ function writeInputs(state, changes, options, operation) {
51
+ return Effect.try({
52
+ try: () => {
53
+ const internal = internalChanges(changes);
54
+ if (internal === undefined || internal.schemaId !== state.schemaId) {
55
+ throw refusal(operation, "InvalidArgument");
56
+ }
57
+ const record = recordValue("write options", options, ["expected"]);
58
+ const intent = recordValue("expected state", record.expected, options.expected.kind === "any" ? ["kind"] : ["kind", "at"]);
59
+ let expected;
60
+ if (intent.kind === "any") {
61
+ expected = { kind: "any" };
62
+ }
63
+ else if (intent.kind === "exact") {
64
+ const at = recordValue("expected witness", intent.at, ["store", "generation"]);
65
+ if (typeof at.store !== "string" || !/^[0-9a-f]{32}$/.test(at.store)) {
66
+ throw refusal(operation, "InvalidArgument");
67
+ }
68
+ expected = {
69
+ kind: "exact",
70
+ store: at.store,
71
+ generation: integerValue("expected generation", "u64", at.generation)
72
+ };
73
+ }
74
+ else {
75
+ throw refusal(operation, "InvalidArgument");
76
+ }
77
+ return { handle: internal.handle, expected };
78
+ },
79
+ catch: (cause) => argumentError(operation, cause)
80
+ });
81
+ }
32
82
  /**
33
- * Validates the query template's schema binding (identity, the membership
34
- * rule) and lowers it to IR plus wire params. Pure host preparation; the
35
- * engine's IR validation under budget remains the authority.
83
+ * Validates the query template's ordered logical schema and lowers it to
84
+ * IR plus wire params. Pure host preparation; the
85
+ * engine's IR validation remains the authority.
36
86
  */
37
87
  function preparedOf(theory, query, params) {
38
- if (query.schema !== theory) {
88
+ if (!schemasAgree(query.schema, theory)) {
39
89
  throw refusal("QueryReader.execute", "InvalidArgument");
40
90
  }
41
91
  const ir = lowerQuery(query);
42
92
  const wire = wireParams(query.data.params, params);
43
93
  return { ir, wire, finds: query.data.finds };
44
94
  }
45
- function executeOn(state, session, query, params, work) {
46
- return Effect.acquireRelease(Effect.gen(function* () {
95
+ function executeOn(state, query, params) {
96
+ return scopedResult(Effect.gen(function* () {
47
97
  const prepared = yield* Effect.try({
48
98
  try: () => preparedOf(state.theory, query, params),
49
- catch: (cause) => (cause instanceof DbError ? cause : refusal("QueryReader.execute", "InvalidArgument"))
99
+ catch: (cause) => argumentError("QueryReader.execute", cause)
50
100
  });
51
- const wire = policyWire(work, "QueryReader.execute");
52
- const handle = yield* nativeOperationWith("QueryReader.execute", (callback) => session === undefined
53
- ? dbNative.runtimeSnapshotExecute(state.handle, wire, prepared.ir, prepared.wire, callback)
54
- : dbNative.runtimeSessionExecute(session, wire, prepared.ir, prepared.wire, callback), dbNative.runtimeResultTake, (value) => value);
101
+ const handle = yield* nativeOperationWith("QueryReader.execute", (callback) => dbNative.runtimeSnapshotExecute(state.handle, prepared.ir, prepared.wire, callback), dbNative.runtimeResultTake, (value) => value);
55
102
  return makeCompleteResult(handle, prepared.finds);
56
- }), (result) => Effect.suspend(() => {
103
+ }));
104
+ }
105
+ function scopedResult(acquire) {
106
+ return Effect.acquireRelease(acquire, (result) => Effect.suspend(() => {
57
107
  const internal = internalResultHandle(result);
58
108
  if (internal === undefined) {
59
109
  return Effect.void;
@@ -64,53 +114,83 @@ function executeOn(state, session, query, params, work) {
64
114
  function internalResultHandle(result) {
65
115
  return internalResult(result)?.handle;
66
116
  }
67
- function getOn(state, relation, key, work) {
117
+ function getOn(state, key, value) {
68
118
  return Effect.gen(function* () {
69
- if (state.theory.relations[relation.name] !== relation) {
119
+ const tables = schemaTables(state.theory);
120
+ const resolved = yield* Effect.try({
121
+ try: () => declaredKey(state.theory, key),
122
+ catch: (cause) => argumentError("QueryReader.get", cause)
123
+ });
124
+ if (resolved === undefined || key.kind !== "key") {
125
+ return yield* Effect.fail(refusal("QueryReader.get", "InvalidArgument"));
126
+ }
127
+ const { statementId } = resolved;
128
+ const relation = resolved.key.owner;
129
+ if (!membersAgree(state.theory.relations[relation.name], relation)) {
70
130
  return yield* Effect.fail(refusal("QueryReader.get", "InvalidArgument"));
71
131
  }
72
- const tables = schemaTables(state.theory);
73
132
  const relationId = tables.relationIds.get(relation.name);
74
- const primary = tables.primaryKeys.get(relation.name);
75
- if (relationId === undefined || primary === undefined) {
133
+ if (relationId === undefined) {
76
134
  return yield* Effect.fail(refusal("QueryReader.get", "InvalidArgument"));
77
135
  }
78
136
  const cells = yield* Effect.try({
79
- try: () => keyCellsOf(relation.data, primary.projection, key),
80
- catch: (cause) => (cause instanceof DbError ? cause : refusal("QueryReader.get", "InvalidArgument"))
137
+ try: () => keyCellsOf(relation, resolved.key.projection, value),
138
+ catch: (cause) => argumentError("QueryReader.get", cause)
81
139
  });
82
- const row = yield* nativeOperationWith("QueryReader.get", (callback) => dbNative.runtimeSnapshotGet(state.handle, policyWire(work, "QueryReader.get"), relationId, primary.statementId, cells, callback), dbNative.runtimeRowTake, (value) => value);
140
+ const row = yield* nativeOperationWith("QueryReader.get", (callback) => dbNative.runtimeSnapshotGet(state.handle, relationId, statementId, cells, callback), dbNative.runtimeRowTake, (value) => value);
83
141
  if (row === null) {
84
142
  return Option.none();
85
143
  }
86
144
  return Option.some(factOfCells(relation, row));
87
145
  });
88
146
  }
89
- function makeSession(state, handle) {
90
- const session = {
91
- execute(query, params, work) {
92
- return executeOn(state, handle, query, params, work);
147
+ function makePrepared(handle, definitions, finds) {
148
+ return Object.freeze({
149
+ releaseMemory() {
150
+ return nativeOperationWith("PreparedQuery.releaseMemory", (callback) => dbNative.runtimePreparedReleaseMemory(handle, callback), runtimeNative.runtimeTake, () => undefined);
151
+ },
152
+ execute(params) {
153
+ return scopedResult(Effect.gen(function* () {
154
+ const args = yield* Effect.try({
155
+ try: () => wireParams(definitions, params),
156
+ catch: (cause) => argumentError("PreparedQuery.execute", cause)
157
+ });
158
+ const result = yield* nativeOperationWith("PreparedQuery.execute", (callback) => dbNative.runtimePreparedExecute(handle, args, callback), dbNative.runtimeResultTake, (value) => makeCompleteResult(value, finds));
159
+ return result;
160
+ }));
93
161
  },
94
162
  close() {
95
- return drainClose("ExecutionSession.close", (callback) => dbNative.runtimeSessionClose(handle, callback));
163
+ return drainClose("PreparedQuery.close", (callback) => dbNative.runtimePreparedClose(handle, callback));
96
164
  }
97
- };
98
- Object.freeze(session);
99
- sessionHandles.set(session, handle);
100
- return session;
165
+ });
166
+ }
167
+ function prepareOn(state, query) {
168
+ return Effect.gen(function* () {
169
+ const ir = yield* Effect.try({
170
+ try: () => {
171
+ if (!schemasAgree(query.schema, state.theory)) {
172
+ throw refusal("QueryReader.prepare", "InvalidArgument");
173
+ }
174
+ return lowerQuery(query);
175
+ },
176
+ catch: (cause) => argumentError("QueryReader.prepare", cause)
177
+ });
178
+ const handle = yield* Effect.acquireRelease(nativeOperationWith("QueryReader.prepare", (callback) => dbNative.runtimeSnapshotPrepare(state.handle, ir, callback), dbNative.runtimePreparedTake, (value) => value), (value) => releaseOwner("PreparedQuery.close", (callback) => dbNative.runtimePreparedClose(value, callback)), { interruptible: true });
179
+ return makePrepared(handle, query.data.params, query.data.finds);
180
+ });
101
181
  }
102
182
  function makeSnapshot(theory, handle, witness) {
103
183
  const state = { theory, handle };
104
184
  const snapshot = {
105
185
  witness,
106
- get(relation, key, work) {
107
- return getOn(state, relation, key, work);
186
+ get(key, value) {
187
+ return getOn(state, key, value);
108
188
  },
109
- execute(query, params, work) {
110
- return executeOn(state, undefined, query, params, work);
189
+ execute(query, params) {
190
+ return executeOn(state, query, params);
111
191
  },
112
- session(work) {
113
- return Effect.acquireRelease(nativeOperationWith("Snapshot.session", (callback) => dbNative.runtimeSnapshotSession(handle, policyWire(work, "Snapshot.session"), callback), dbNative.runtimeSessionTake, (value) => makeSession(state, value)), (session) => Effect.suspend(() => releaseOwner("ExecutionSession.close", (callback) => dbNative.runtimeSessionClose(sessionHandles.get(session) ?? missingSession(), callback))), { interruptible: true });
192
+ prepare(query) {
193
+ return prepareOn(state, query);
114
194
  },
115
195
  close() {
116
196
  return drainClose("Snapshot.close", (callback) => dbNative.runtimeSnapshotClose(handle, callback));
@@ -120,41 +200,32 @@ function makeSnapshot(theory, handle, witness) {
120
200
  snapshotHandles.set(snapshot, handle);
121
201
  return snapshot;
122
202
  }
123
- const sessionHandles = new WeakMap();
124
- function missingSession() {
125
- throw new DbError({ operation: "ExecutionSession.close", reason: { _tag: "Internal" } });
126
- }
127
203
  function makeDb(theory, state) {
128
204
  const value = {
129
205
  schemaId: state.schemaId,
130
- snapshot(work) {
131
- return Effect.acquireRelease(nativeOperationWith("Db.snapshot", (callback) => dbNative.runtimeDbSnapshot(state.db, policyWire(work, "Db.snapshot"), callback), dbNative.runtimeSnapshotTake, (wire) => makeSnapshot(theory, wire.snapshot, witnessOf(wire.witness))), (snapshot) => Effect.suspend(() => releaseOwner("Snapshot.close", (callback) => dbNative.runtimeSnapshotClose(snapshotHandles.get(snapshot) ?? missingSnapshot(), callback))), { interruptible: true });
206
+ clearCache() {
207
+ return nativeOperationWith("Db.clearCache", (callback) => dbNative.runtimeDbClearCache(state.db, callback), runtimeNative.runtimeTake, () => undefined);
208
+ },
209
+ snapshot() {
210
+ return Effect.acquireRelease(nativeOperationWith("Db.snapshot", (callback) => dbNative.runtimeDbSnapshot(state.db, callback), dbNative.runtimeSnapshotTake, (wire) => makeSnapshot(theory, wire.snapshot, witnessOf(wire.witness))), (snapshot) => Effect.suspend(() => releaseOwner("Snapshot.close", (callback) => dbNative.runtimeSnapshotClose(snapshotHandles.get(snapshot) ?? missingSnapshot(), callback))), { interruptible: true });
132
211
  },
133
212
  apply(changes, options) {
134
213
  return Effect.gen(function* () {
135
- const internal = internalChanges(changes);
136
- if (internal === undefined) {
137
- // A foreign object supplied dynamically refuses before
138
- // any native dispatch.
139
- return yield* Effect.fail(refusal("Db.apply", "InvalidArgument"));
140
- }
141
- if (internal.schemaId !== state.schemaId) {
142
- return yield* Effect.fail(refusal("Db.apply", "InvalidArgument"));
143
- }
144
- const expected = options.expected.kind === "any"
145
- ? { kind: "any" }
146
- : { kind: "exact", store: options.expected.at.store, generation: options.expected.at.generation };
147
- return yield* nativeOperationWith("Db.apply", (callback) => dbNative.runtimeDbApply(state.db, policyWire(options, "Db.apply"), internal.handle, expected, callback), dbNative.runtimeApplyTake, outcomeOf);
214
+ const input = yield* writeInputs(state, changes, options, "Db.apply");
215
+ return yield* nativeOperationWith("Db.apply", (callback) => dbNative.runtimeDbApply(state.db, input.handle, input.expected, callback), dbNative.runtimeApplyTake, outcomeOf);
148
216
  });
149
217
  },
150
- inspect(work) {
151
- return nativeOperationWith("Db.inspect", (callback) => dbNative.runtimeDbInspect(state.db, policyWire(work, "Db.inspect"), callback), dbNative.runtimeDbInspectTake, (wire) => Object.freeze({
218
+ judge(changes, options) {
219
+ return Effect.gen(function* () {
220
+ const input = yield* writeInputs(state, changes, options, "Db.judge");
221
+ return yield* nativeOperationWith("Db.judge", (callback) => dbNative.runtimeDbJudge(state.db, input.handle, input.expected, callback), dbNative.runtimeJudgeTake, judgmentOf);
222
+ });
223
+ },
224
+ inspect() {
225
+ return nativeOperationWith("Db.inspect", (callback) => dbNative.runtimeDbInspect(state.db, callback), dbNative.runtimeDbInspectTake, (wire) => Object.freeze({
152
226
  schemaId: state.schemaId,
153
227
  generation: wire.generation,
154
- mapBytes: wire.mapBytes,
155
- populatedBytes: wire.populatedBytes,
156
- diskBytes: wire.diskBytes,
157
- residentEstimateBytes: wire.residentEstimateBytes,
228
+ storage: Object.freeze(wire.storage),
158
229
  retainedOperations: wire.retainedOperations
159
230
  }));
160
231
  },
@@ -174,26 +245,22 @@ function missingSnapshot() {
174
245
  }
175
246
  /** The managed child name under the database directory owner. */
176
247
  const CHILD = "store";
177
- function openDatabase(operation, path, schema, work, create) {
248
+ function openDatabase(operation, path, schema, create) {
178
249
  return Effect.gen(function* () {
179
250
  const runtime = yield* runtimeHandle();
180
- const compiled = yield* CoreSchema.compile(schema, work);
181
- const spec = lower(schema);
182
- const wire = yield* Effect.try({
183
- try: () => policyWire(work, operation),
184
- catch: () => refusal(operation, "InvalidArgument")
185
- });
251
+ const compiled = yield* CoreSchema.compile(schema);
252
+ const spec = lower(compiled.schema);
186
253
  // Compound acquisition: register the directory owner and
187
254
  // its finalizer BEFORE any interruptible child-open step.
188
- const directory = yield* Effect.acquireRelease(nativeOperationWith(operation, (callback) => runtimeNative.runtimeDirectoryAcquire(runtime, wire, path, callback), runtimeNative.runtimeDirectoryTake, (value) => value), (dir) => releaseOwner(`${operation}.directoryClose`, (callback) => runtimeNative.runtimeDirectoryClose(dir, false, callback)), { interruptible: true });
255
+ const directory = yield* Effect.acquireRelease(nativeOperationWith(operation, (callback) => runtimeNative.runtimeDirectoryAcquire(runtime, path, callback), runtimeNative.runtimeDirectoryTake, (value) => value), (dir) => releaseOwner(`${operation}.directoryClose`, (callback) => runtimeNative.runtimeDirectoryClose(dir, false, callback)), { interruptible: true });
189
256
  return yield* Effect.acquireRelease(Effect.gen(function* () {
190
- const outcome = yield* nativeOperationWith(operation, (callback) => runtimeNative.runtimeDirectoryDbOpen(directory, wire, CHILD, spec, create, callback), runtimeNative.runtimeDbTake, (value) => value).pipe(Effect.catch((error) => drainClose(`${operation}.directoryClose`, (callback) => runtimeNative.runtimeDirectoryClose(directory, false, callback)).pipe(Effect.andThen(Effect.fail(error)))));
257
+ const outcome = yield* nativeOperationWith(operation, (callback) => runtimeNative.runtimeDirectoryDbOpen(directory, CHILD, spec, create, callback), runtimeNative.runtimeDbTake, (value) => value).pipe(Effect.catch((error) => drainClose(`${operation}.directoryClose`, (callback) => runtimeNative.runtimeDirectoryClose(directory, false, callback)).pipe(Effect.andThen(Effect.fail(error)))));
191
258
  if (outcome.tag !== "accepted") {
192
259
  yield* drainClose(`${operation}.directoryClose`, (callback) => runtimeNative.runtimeDirectoryClose(directory, false, callback));
193
260
  return yield* Effect.fail(refusal(operation, "InvalidArgument"));
194
261
  }
195
- const state = { theory: schema, db: outcome.db, directory, schemaId: compiled.schemaId };
196
- const db = makeDb(schema, state);
262
+ const state = { theory: compiled.schema, db: outcome.db, directory, schemaId: compiled.schemaId };
263
+ const db = makeDb(compiled.schema, state);
197
264
  dbStates.set(db, state);
198
265
  return db;
199
266
  }), (db) => Effect.suspend(() => {
@@ -213,11 +280,11 @@ const dbStates = new WeakMap();
213
280
  * implementation as `Schema.compile` — prior compilation is optional.
214
281
  */
215
282
  const Db = Object.freeze({
216
- create(path, schema, work) {
217
- return openDatabase("Db.create", path, schema, work, true);
283
+ create(path, schema) {
284
+ return openDatabase("Db.create", path, schema, true);
218
285
  },
219
- open(path, schema, work) {
220
- return openDatabase("Db.open", path, schema, work, false);
286
+ open(path, schema) {
287
+ return openDatabase("Db.open", path, schema, false);
221
288
  }
222
289
  });
223
290
  /**
@@ -232,16 +299,16 @@ const Db = Object.freeze({
232
299
  * on every verb, so a forged object refuses there, typed.
233
300
  */
234
301
  function internalPublishedReader(core, theory) {
235
- const state = { theory, handle: core };
302
+ const state = { theory: schemaDescriptor(theory), handle: core };
236
303
  return Object.freeze({
237
- get(relation, key, work) {
238
- return getOn(state, relation, key, work);
304
+ get(key, value) {
305
+ return getOn(state, key, value);
239
306
  },
240
- execute(queryValue, params, work) {
241
- return executeOn(state, undefined, queryValue, params, work);
307
+ execute(queryValue, params) {
308
+ return executeOn(state, queryValue, params);
242
309
  },
243
- session(work) {
244
- return Effect.acquireRelease(nativeOperationWith("Snapshot.session", (callback) => dbNative.runtimeSnapshotSession(state.handle, policyWire(work, "Snapshot.session"), callback), dbNative.runtimeSessionTake, (value) => makeSession(state, value)), (session) => Effect.suspend(() => releaseOwner("ExecutionSession.close", (callback) => dbNative.runtimeSessionClose(sessionHandles.get(session) ?? missingSession(), callback))), { interruptible: true });
310
+ prepare(queryValue) {
311
+ return prepareOn(state, queryValue);
245
312
  }
246
313
  });
247
314
  }
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1,6 +1,4 @@
1
- declare const AuthoringError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
2
- readonly _tag: "AuthoringError";
3
- } & Readonly<A>;
1
+ import { Schema } from "effect";
4
2
  /**
5
3
  * Pure authoring failures, SDK-invariant defects and internal native-boundary
6
4
  * diagnostics. AST misuse can throw synchronously without I/O. Runtime
@@ -8,8 +6,18 @@ declare const AuthoringError_base: new <A extends Record<string, any> = {}>(args
8
6
  * in `#runtime-errors.ts`; contradictions in SDK/native state remain defects.
9
7
  */
10
8
  /** A pure schema, query, parameter, or value-authoring refusal. */
9
+ export declare const AuthoringDiagnostic: Schema.Struct<{
10
+ readonly code: Schema.Literals<readonly ["InvalidValue", "InvalidRecord", "UnknownField", "MissingField", "InvalidDeclaration", "InvalidQuery"]>;
11
+ readonly context: Schema.String;
12
+ readonly expected: Schema.String;
13
+ }>;
14
+ export type AuthoringDiagnostic = typeof AuthoringDiagnostic.Type;
15
+ declare const AuthoringError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
16
+ readonly _tag: "AuthoringError";
17
+ } & Readonly<A>;
11
18
  export declare class AuthoringError extends AuthoringError_base<{
12
19
  readonly message: string;
20
+ readonly diagnostic?: AuthoringDiagnostic;
13
21
  }> {
14
22
  }
15
23
  declare const SdkInvariantError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AAEH,mEAAmE;AACnE,qBAAa,cAAe,SAAQ,oBAAmC;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACxB,CAAC;CAAG;;;;AAEL,2EAA2E;AAC3E,qBAAa,iBAAkB,SAAQ,uBAAsC;IAC5E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACxB,CAAC;CAAG;;;;AAEL,qBAAa,eAAgB,SAAQ,qBAAoC;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACvB,CAAC;CAAG;;;;AAEL,qFAAqF;AACrF,qBAAa,oBAAqB,SAAQ,0BAAyC;IAClF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACvB,CAAC;IACD,IAAa,OAAO,IAAI,MAAM,CAO7B;CACD;;;;AAED,qBAAa,mBAAoB,SAAQ,yBAAwC;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACvB,CAAC;CAAG"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAA;AAErC;;;;;GAKG;AAEH,mEAAmE;AACnE,eAAO,MAAM,mBAAmB;;;;EAW9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;;;;AAEjE,qBAAa,cAAe,SAAQ,oBAAmC;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAA;CACzC,CAAC;CAAG;;;;AAEL,2EAA2E;AAC3E,qBAAa,iBAAkB,SAAQ,uBAAsC;IAC5E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACxB,CAAC;CAAG;;;;AAEL,qBAAa,eAAgB,SAAQ,qBAAoC;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACvB,CAAC;CAAG;;;;AAEL,qFAAqF;AACrF,qBAAa,oBAAqB,SAAQ,0BAAyC;IAClF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACvB,CAAC;IACD,IAAa,OAAO,IAAI,MAAM,CAO7B;CACD;;;;AAED,qBAAa,mBAAoB,SAAQ,yBAAwC;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACvB,CAAC;CAAG"}
package/dist/errors.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Data } from "effect";
1
+ import { Data, Schema } from "effect";
2
2
  /**
3
3
  * Pure authoring failures, SDK-invariant defects and internal native-boundary
4
4
  * diagnostics. AST misuse can throw synchronously without I/O. Runtime
@@ -6,6 +6,18 @@ import { Data } from "effect";
6
6
  * in `#runtime-errors.ts`; contradictions in SDK/native state remain defects.
7
7
  */
8
8
  /** A pure schema, query, parameter, or value-authoring refusal. */
9
+ export const AuthoringDiagnostic = Schema.Struct({
10
+ code: Schema.Literals([
11
+ "InvalidValue",
12
+ "InvalidRecord",
13
+ "UnknownField",
14
+ "MissingField",
15
+ "InvalidDeclaration",
16
+ "InvalidQuery"
17
+ ]),
18
+ context: Schema.String,
19
+ expected: Schema.String
20
+ });
9
21
  export class AuthoringError extends Data.TaggedError("AuthoringError") {
10
22
  }
11
23
  /** A contradiction in an SDK/native result, not an application refusal. */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B;;;;;GAKG;AAEH,mEAAmE;AACnE,MAAM,OAAO,cAAe,SAAQ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAEnE;CAAG;AAEL,2EAA2E;AAC3E,MAAM,OAAO,iBAAkB,SAAQ,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAEzE;CAAG;AAEL,MAAM,OAAO,eAAgB,SAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAKrE;CAAG;AAEL,qFAAqF;AACrF,MAAM,OAAO,oBAAqB,SAAQ,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAG/E;IACD,IAAa,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,MAAM,MAAM,GACX,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YACrG,CAAC,CAAC,KAAK,CAAC,OAAO;YACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACjB,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAA;IACtC,CAAC;CACD;AAED,MAAM,OAAO,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAI7E;CAAG"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAErC;;;;;GAKG;AAEH,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;QACrB,cAAc;QACd,eAAe;QACf,cAAc;QACd,cAAc;QACd,oBAAoB;QACpB,cAAc;KACd,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC,CAAA;AAGF,MAAM,OAAO,cAAe,SAAQ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAGnE;CAAG;AAEL,2EAA2E;AAC3E,MAAM,OAAO,iBAAkB,SAAQ,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAEzE;CAAG;AAEL,MAAM,OAAO,eAAgB,SAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAKrE;CAAG;AAEL,qFAAqF;AACrF,MAAM,OAAO,oBAAqB,SAAQ,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAG/E;IACD,IAAa,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,MAAM,MAAM,GACX,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YACrG,CAAC,CAAC,KAAK,CAAC,OAAO;YACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACjB,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAA;IACtC,CAAC;CACD;AAED,MAAM,OAAO,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAI7E;CAAG"}
package/dist/face.d.ts CHANGED
@@ -1,24 +1,18 @@
1
- import type { AnyClosed, AnySelectedClosed, PayloadField } from "./closed.js";
2
- import type { AnyField, SignatureOf } from "./fields.js";
1
+ import type { AnyClosed } from "./closed.js";
2
+ import { type AnyField, type SignatureOf } from "./fields.js";
3
3
  import type { Same } from "./judgment.js";
4
- import type { AnyRelation, AnySelected, FieldsShape, RelationFields, SelectionBinding } from "./relation.js";
5
- type OwnerOf<S extends FaceSource> = S extends AnySelected | AnySelectedClosed ? S["relation"] : S;
4
+ import type { AnyRelation, FieldsShape } from "./relation.js";
5
+ import { type AnySelected, type FieldsOf, type SelectionBinding } from "./selection.js";
6
+ type OwnerOf<S extends FaceSource> = S extends AnySelected ? S["relation"] : S;
6
7
  type FaceOwner = AnyRelation | AnyClosed;
7
- interface FaceData<O extends FaceOwner = FaceOwner, P extends readonly string[] = readonly string[]> {
8
+ interface Face<O extends FaceOwner = FaceOwner, P extends readonly string[] = readonly string[]> {
8
9
  readonly owner: O;
9
10
  readonly projection: P;
10
11
  readonly selection: readonly SelectionBinding[];
11
12
  }
12
- interface Face<S extends FaceSource, P extends readonly string[]> {
13
- readonly source: S;
14
- readonly projection: P;
15
- readonly data: FaceData<OwnerOf<S>, P>;
16
- }
17
- type AnyFace = Face<FaceSource, readonly string[]>;
18
- type FaceSource = AnyRelation | AnyClosed | AnySelected | AnySelectedClosed;
19
- type FaceFields<S extends FaceSource> = S extends AnySelected ? keyof RelationFields<S["relation"]> & string : S extends AnySelectedClosed ? "id" | (keyof S["relation"]["columns"] & string) : S extends AnyRelation ? keyof RelationFields<S> & string : S extends {
20
- readonly axioms: Readonly<Record<string, infer Row>>;
21
- } ? "id" | (keyof Row & string) : never;
13
+ type AnyFace = Face<FaceOwner, readonly string[]>;
14
+ type FaceSource = AnyRelation | AnyClosed | AnySelected;
15
+ type FaceFields<S extends FaceSource> = keyof FieldsOf<OwnerOf<S>> & string;
22
16
  /**
23
17
  * The wire shape a face projects: the field's {@link SignatureOf} with an
24
18
  * interval's width erased. A fixed-width interval pairs with a plain one —
@@ -31,14 +25,11 @@ type ProjectedSignature<F extends AnyField> = F extends {
31
25
  readonly element: infer E;
32
26
  } ? E : undefined, undefined] : SignatureOf<F>;
33
27
  type ShapeIn<Fields extends FieldsShape, K extends string> = K extends keyof Fields ? ProjectedSignature<Fields[K]> : undefined;
34
- type ProjectedShape<S extends FaceSource, K extends string> = S extends AnySelected ? ShapeIn<RelationFields<S["relation"]>, K> : S extends AnySelectedClosed ? K extends "id" ? ProjectedSignature<S["relation"]["id"]> : ShapeIn<S["relation"]["columns"], K> : S extends AnyRelation ? ShapeIn<RelationFields<S>, K> : S extends {
35
- readonly id: infer Id extends AnyField;
36
- readonly columns: infer Cols extends Record<string, PayloadField>;
37
- } ? K extends "id" ? ProjectedSignature<Id> : ShapeIn<Cols, K> : undefined;
28
+ type ProjectedShape<S extends FaceSource, K extends string> = ShapeIn<FieldsOf<OwnerOf<S>>, K>;
38
29
  type ShapesOf<S extends FaceSource, P extends readonly string[]> = {
39
30
  readonly [I in keyof P]: ProjectedShape<S, P[I] & string>;
40
31
  };
41
- type FaceShapes<F extends AnyFace> = F extends Face<infer S, infer P> ? ShapesOf<S, P> : never;
32
+ type FaceShapes<F extends AnyFace> = ShapesOf<F["owner"], F["projection"]>;
42
33
  type Arity<F extends AnyFace> = F["projection"]["length"];
43
34
  interface FaceArityMismatch<Left, Right> {
44
35
  readonly "face arity mismatch — positional pairing requires both sides to project equally many fields": readonly [
@@ -54,9 +45,12 @@ interface FaceShapeMismatch<Left, Right> {
54
45
  ];
55
46
  }
56
47
  type SameShapes<A extends AnyFace, B extends AnyFace> = Same<FaceShapes<A>, FaceShapes<B>> extends true ? unknown : FaceShapeMismatch<FaceShapes<A>, FaceShapes<B>>;
57
- declare function on<S extends FaceSource, const F extends FaceFields<S>>(source: S, field: F): Face<S, readonly [F]>;
58
- declare function on<S extends FaceSource, const P extends readonly [FaceFields<S>, ...FaceFields<S>[]]>(source: S, fields: P): Face<S, P>;
59
- declare function renderFace(face: FaceData): string;
60
- export type { AnyFace, Arity, Face, FaceArityMismatch, FaceData, FaceFields, FaceOwner, FaceShapeMismatch, FaceShapes, FaceSource, OwnerOf, ProjectedShape, SameArity, SameShapes };
61
- export { on, renderFace };
48
+ declare function on<S extends FaceSource, const F extends FaceFields<S>>(source: S, field: F): Face<OwnerOf<S>, readonly [F]>;
49
+ declare function on<S extends FaceSource, const P extends readonly [FaceFields<S>, ...FaceFields<S>[]]>(source: S, fields: P): Face<OwnerOf<S>, P>;
50
+ /** Own and check a structural face. No constructor-only admission token. */
51
+ declare function faceDescriptor<F extends AnyFace>(input: F): F;
52
+ declare function faceDescriptor(input: unknown): AnyFace;
53
+ declare function renderFace(face: AnyFace): string;
54
+ export type { AnyFace, Arity, Face, FaceArityMismatch, FaceFields, FaceOwner, FaceShapeMismatch, FaceShapes, FaceSource, OwnerOf, ProjectedShape, SameArity, SameShapes };
55
+ export { faceDescriptor, on, renderFace };
62
56
  //# sourceMappingURL=face.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"face.d.ts","sourceRoot":"","sources":["../src/face.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"face.d.ts","sourceRoot":"","sources":["../src/face.ts"],"names":[],"mappings":"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"}