@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/rows.d.ts CHANGED
@@ -16,7 +16,7 @@
16
16
  * scans and byte copies.
17
17
  */
18
18
  import type { AnyClosedRoster, AnyField } from "./fields.js";
19
- import type { AnyRelation, Fact, RelationData } from "./relation.js";
19
+ import { type AnyRelation, type Fact } from "./relation.js";
20
20
  /**
21
21
  * One owned cell at the private bridge boundary. The declared sealed field
22
22
  * type disambiguates the union: `string` is text, an `uuid` in its
@@ -35,35 +35,32 @@ type CellValue = boolean | bigint | number | string | Uint8Array | {
35
35
  interface FlatRows {
36
36
  readonly rows: bigint;
37
37
  readonly cells: readonly CellValue[];
38
- /** Conservative charged byte size of the owned cells (input accounting). */
39
- readonly bytes: bigint;
40
38
  }
41
39
  declare function recordOf(fact: object): Readonly<Record<string, unknown>>;
42
40
  /**
43
- * Cheap host charge before any string scan or byte copy. Strings charge
44
- * two bytes per UTF-16 code unit, not their UTF-8 wire size. Native admission
45
- * measures and bounds UTF-8 separately; byte views charge their length.
41
+ * Approximate payload size for host batching, not a memory allowance.
42
+ * Strings use two bytes per UTF-16 code unit, not their UTF-8 wire size.
46
43
  */
47
44
  declare function hostCellCharge(value: unknown): bigint;
48
- declare function assertHostCellFits(context: string, value: unknown, limit: bigint): bigint;
49
45
  declare function handleOf(context: string, closed: AnyClosedRoster, cell: unknown): string;
50
- /** Conservative owned-byte charge of one cell (host accounting, not wire). */
51
- declare function cellBytes(cell: CellValue): bigint;
52
46
  declare function cellOf(context: string, field: AnyField, value: unknown): CellValue;
47
+ declare function factCellsOf(data: AnyRelation, fact: unknown): CellValue[];
53
48
  /**
54
49
  * The flat projector: every fact's cells land in ONE row-major cell array
55
- * (length rows × arity) with the row count and charged byte size counted
56
- * while projecting. Missing-field refusal and per-cell judgment are
50
+ * (length rows × arity), counting rows while projecting.
51
+ * Missing-field refusal and per-cell judgment are
57
52
  * {@link cellOf}'s, byte for byte.
58
53
  */
59
- declare function flatRowsOf(data: RelationData, facts: Iterable<object>): FlatRows;
60
- declare function keyCellsOf(data: RelationData, projection: readonly string[], key: Readonly<Record<string, unknown>>): CellValue[];
54
+ declare function flatRowsOf(data: AnyRelation, facts: Iterable<object>): FlatRows;
55
+ declare function keyCellsOf(data: AnyRelation, projection: readonly string[], input: Readonly<Record<string, unknown>>): CellValue[];
61
56
  declare function decodeCell(context: string, field: AnyField, cell: unknown): unknown;
62
57
  /**
63
58
  * The read half: one owned positional row into a plain frozen record in
64
59
  * declared field order: stable field names and shapes, no Proxy or per-cell closures.
65
60
  */
66
61
  declare function factOfCells<R extends AnyRelation>(relation: R, row: readonly unknown[]): Fact<R>;
62
+ /** Preserve every declared name as data, including JavaScript's prototype setter. */
63
+ declare function setOwnField(record: Record<string, unknown>, name: string, value: unknown): void;
67
64
  export type { CellValue, FlatRows };
68
- export { assertHostCellFits, cellBytes, cellOf, decodeCell, factOfCells, flatRowsOf, handleOf, hostCellCharge, keyCellsOf, recordOf };
65
+ export { cellOf, decodeCell, factCellsOf, factOfCells, flatRowsOf, handleOf, hostCellCharge, keyCellsOf, recordOf, setOwnField };
69
66
  //# sourceMappingURL=rows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAMnE;;;;;;;GAOG;AACH,KAAK,SAAS,GACX,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnD,UAAU,QAAQ;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAA;IACpC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACtB;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKjE;AAUD;;;;GAIG;AACH,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAiB9C;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQlF;AAiBD,iBAAS,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAWjF;AAED,8EAA8E;AAC9E,iBAAS,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAgB1C;AAED,iBAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAmF3E;AAED;;;;;GAKG;AACH,iBAAS,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAkBzE;AAED,iBAAS,UAAU,CAClB,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACpC,SAAS,EAAE,CAyBb;AAED,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CA6D5E;AAWD;;;GAGG;AACH,iBAAS,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAsBzF;AAED,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;AACnC,OAAO,EACN,kBAAkB,EAClB,SAAS,EACT,MAAM,EACN,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,QAAQ,EACR,CAAA"}
1
+ {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE3D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,IAAI,EAAkB,MAAM,cAAc,CAAA;AAG1E;;;;;;;GAOG;AACH,KAAK,SAAS,GACX,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnD,UAAU,QAAQ;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAA;CACpC;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKjE;AAED;;;GAGG;AACH,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAiB9C;AAED,iBAAS,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAWjF;AAED,iBAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAK3E;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,CASlE;AAED;;;;;GAKG;AACH,iBAAS,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAQxE;AAED,iBAAS,UAAU,CAClB,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtC,SAAS,EAAE,CASb;AAED,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAS5E;AAWD;;;GAGG;AACH,iBAAS,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAuBzF;AAED,qFAAqF;AACrF,iBAAS,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAMxF;AAED,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;AACnC,OAAO,EACN,MAAM,EACN,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,CAAA"}
package/dist/rows.js CHANGED
@@ -1,25 +1,16 @@
1
1
  import { AuthoringError, SdkInvariantError } from "#errors.ts";
2
- import { isFloatIntervalValue, isIntervalValue, literalShapeError, rosterOf } from "#fields.ts";
3
- import { Uuid } from "#uuid.ts";
4
- /** Converter-granularity host cell wall (64 KiB). One oversize cell refuses. */
5
- const HOST_CELL_MAX = 65536n;
2
+ import { literalShapeError, rosterOf } from "#fields.ts";
3
+ import { relationFields } from "#relation.ts";
4
+ import { fieldValue, recordValue } from "#values.ts";
6
5
  function recordOf(fact) {
7
- if (typeof fact !== "object" && typeof fact !== "function") {
8
- throw new AuthoringError({ message: "fact object is not string-indexable" });
6
+ if (typeof fact !== "object" || fact === null) {
7
+ throw new AuthoringError({ message: "expected a fact record" });
9
8
  }
10
9
  return fact;
11
10
  }
12
- function refuseShared(context, value) {
13
- if (!(value.buffer instanceof ArrayBuffer)) {
14
- throw new AuthoringError({
15
- message: `${context}: SharedArrayBuffer-backed views are refused — make a synchronized stable copy into ordinary unshared input first`
16
- });
17
- }
18
- }
19
11
  /**
20
- * Cheap host charge before any string scan or byte copy. Strings charge
21
- * two bytes per UTF-16 code unit, not their UTF-8 wire size. Native admission
22
- * measures and bounds UTF-8 separately; byte views charge their length.
12
+ * Approximate payload size for host batching, not a memory allowance.
13
+ * Strings use two bytes per UTF-16 code unit, not their UTF-8 wire size.
23
14
  */
24
15
  function hostCellCharge(value) {
25
16
  if (typeof value === "string") {
@@ -39,34 +30,11 @@ function hostCellCharge(value) {
39
30
  }
40
31
  return 0n;
41
32
  }
42
- function assertHostCellFits(context, value, limit) {
43
- const charge = hostCellCharge(value);
44
- if (charge > limit) {
45
- throw new AuthoringError({
46
- message: `${context}: host cell of ${charge} bytes exceeds the ${limit}-byte converter bound — refuse before copy or scan`
47
- });
48
- }
49
- return charge;
50
- }
51
- /**
52
- * The write half of the closed bijection: one handle NAME to its u64 row
53
- * id (declaration order = row ids). An unknown name is a pointed refusal
54
- * naming the vocabulary and its roster.
55
- */
56
- function closedCellOf(context, closed, name) {
57
- const id = closed.handles.indexOf(name);
58
- if (id === -1) {
59
- throw new AuthoringError({
60
- message: `${context}: "${name}" is not a handle of ${closed.name} — the roster is ${closed.handles.join(", ")}`
61
- });
62
- }
63
- return BigInt(id);
64
- }
65
33
  function handleOf(context, closed, cell) {
66
34
  if (typeof cell !== "bigint") {
67
35
  throw literalShapeError(context, `a ${closed.name} handle id (bigint)`, cell);
68
36
  }
69
- const handle = closed.handles[Number(cell)];
37
+ const handle = cell < 0n || cell >= BigInt(closed.handles.length) ? undefined : closed.handles[Number(cell)];
70
38
  if (handle === undefined) {
71
39
  throw new AuthoringError({
72
40
  message: `${context}: id ${cell} is outside the ${closed.name} roster (${closed.handles.join(", ")})`
@@ -74,223 +42,57 @@ function handleOf(context, closed, cell) {
74
42
  }
75
43
  return handle;
76
44
  }
77
- /** Conservative owned-byte charge of one cell (host accounting, not wire). */
78
- function cellBytes(cell) {
79
- if (typeof cell === "boolean") {
80
- return 1n;
81
- }
82
- if (typeof cell === "bigint" || typeof cell === "number") {
83
- return 8n;
84
- }
85
- if (typeof cell === "string") {
86
- // Account for the host string here; native admission separately
87
- // checks and charges its exact UTF-8 encoding.
88
- return BigInt(cell.length) * 2n;
89
- }
90
- if (cell instanceof Uint8Array) {
91
- return BigInt(cell.byteLength);
92
- }
93
- return 16n;
94
- }
95
45
  function cellOf(context, field, value) {
96
- const roster = rosterOf(field);
97
- if (roster !== undefined) {
98
- if (typeof value !== "string") {
99
- throw literalShapeError(context, `a ${roster.name} handle name (string)`, value);
100
- }
101
- return closedCellOf(context, roster, value);
102
- }
103
- switch (field.kind) {
104
- case "bool": {
105
- if (typeof value !== "boolean") {
106
- throw literalShapeError(context, "boolean", value);
107
- }
108
- return value;
109
- }
110
- case "u64":
111
- case "i64": {
112
- if (typeof value !== "bigint") {
113
- throw literalShapeError(context, "bigint", value);
114
- }
115
- return value;
116
- }
117
- case "str": {
118
- if (typeof value !== "string") {
119
- throw literalShapeError(context, "string", value);
120
- }
121
- assertHostCellFits(context, value, HOST_CELL_MAX);
122
- if (!value.isWellFormed()) {
123
- throw literalShapeError(context, "well-formed string", value);
124
- }
125
- return value;
126
- }
127
- case "f64": {
128
- if (typeof value !== "number") {
129
- throw literalShapeError(context, "number", value);
130
- }
131
- return value;
132
- }
133
- case "uuid": {
134
- if (!Uuid.isUuid(value)) {
135
- throw literalShapeError(context, "a UUID (canonical UUID text)", value);
136
- }
137
- // UUIDs cross as canonical hyphenated text, not raw bytes.
138
- return value;
139
- }
140
- case "bytes": {
141
- if (!(value instanceof Uint8Array)) {
142
- throw literalShapeError(context, "Uint8Array", value);
143
- }
144
- refuseShared(context, value);
145
- assertHostCellFits(context, value, HOST_CELL_MAX);
146
- if (value.byteLength !== field.width) {
147
- throw new AuthoringError({
148
- message: `${context}: bytes<${field.width}> takes exactly ${field.width} bytes (got ${value.byteLength})`
149
- });
150
- }
151
- // Owned copy at the ownership boundary: later caller mutation
152
- // cannot change an accepted cell.
153
- return Uint8Array.from(value);
154
- }
155
- case "interval": {
156
- if (field.element === "f64") {
157
- if (!isFloatIntervalValue(value)) {
158
- throw literalShapeError(context, "float interval ({ start, end } numbers)", value);
159
- }
160
- if (Number.isNaN(value.start) || Number.isNaN(value.end)) {
161
- throw new AuthoringError({ message: `${context}: a float interval endpoint cannot be NaN` });
162
- }
163
- const start = Object.is(value.start, -0) ? 0 : value.start;
164
- const end = Object.is(value.end, -0) ? 0 : value.end;
165
- if (!(start < end)) {
166
- throw new AuthoringError({
167
- message: `${context}: a float interval is half-open and nonempty (start < end strictly)`
168
- });
169
- }
170
- return { start, end };
171
- }
172
- if (!isIntervalValue(value)) {
173
- throw literalShapeError(context, "interval ({ start, end } bigints)", value);
174
- }
175
- return { start: value.start, end: value.end };
176
- }
46
+ if ("closed" in field) {
47
+ return BigInt(field.closed.handles.indexOf(fieldValue(context, field, value)));
177
48
  }
49
+ return fieldValue(context, field, value);
50
+ }
51
+ function factCellsOf(data, fact) {
52
+ const record = recordValue(`relation ${data.name}`, fact, relationFields(data).map((declared) => declared.name));
53
+ return relationFields(data).map((declared) => cellOf(`relation ${data.name} field ${declared.name}`, declared.field, record[declared.name]));
178
54
  }
179
55
  /**
180
56
  * The flat projector: every fact's cells land in ONE row-major cell array
181
- * (length rows × arity) with the row count and charged byte size counted
182
- * while projecting. Missing-field refusal and per-cell judgment are
57
+ * (length rows × arity), counting rows while projecting.
58
+ * Missing-field refusal and per-cell judgment are
183
59
  * {@link cellOf}'s, byte for byte.
184
60
  */
185
61
  function flatRowsOf(data, facts) {
186
62
  const cells = [];
187
63
  let rows = 0n;
188
- let bytes = 0n;
189
64
  for (const fact of facts) {
190
- rows += 1n;
191
- const record = recordOf(fact);
192
- for (const declared of data.fields) {
193
- const value = record[declared.name];
194
- if (value === undefined) {
195
- throw new AuthoringError({ message: `relation ${data.name}: fact is missing field ${declared.name}` });
196
- }
197
- const cell = cellOf(`relation ${data.name} field ${declared.name}`, declared.field, value);
198
- bytes += cellBytes(cell);
65
+ for (const cell of factCellsOf(data, fact))
199
66
  cells.push(cell);
200
- }
67
+ rows += 1n;
201
68
  }
202
- return { rows, cells, bytes };
69
+ return { rows, cells };
203
70
  }
204
- function keyCellsOf(data, projection, key) {
205
- for (const supplied of Object.keys(key)) {
206
- if (key[supplied] !== undefined && !projection.includes(supplied)) {
207
- throw new AuthoringError({
208
- message: `relation ${data.name}: key object carries field ${supplied} outside the primary key projection (${projection.join(", ")})`
209
- });
210
- }
211
- }
71
+ function keyCellsOf(data, projection, input) {
72
+ const key = recordValue(`relation ${data.name} key`, input, projection);
212
73
  return projection.map(function marshalKeyCell(fieldName) {
213
- const declared = data.fields.find(function byName(candidate) {
214
- return candidate.name === fieldName;
215
- });
74
+ const declared = relationFields(data).find((candidate) => candidate.name === fieldName);
216
75
  if (declared === undefined) {
217
- throw new AuthoringError({
218
- message: `relation ${data.name}: key projection cites unknown field ${fieldName}`
219
- });
220
- }
221
- const value = key[fieldName];
222
- if (value === undefined) {
223
- throw new AuthoringError({
224
- message: `relation ${data.name}: key object is missing field ${fieldName} — get reads through the primary (first-declared) key, whose projection is (${projection.join(", ")})`
225
- });
76
+ throw new AuthoringError({ message: `relation ${data.name}: key projection cites unknown field ${fieldName}` });
226
77
  }
227
- return cellOf(`relation ${data.name} key field ${fieldName}`, declared.field, value);
78
+ return cellOf(`relation ${data.name} key field ${fieldName}`, declared.field, key[fieldName]);
228
79
  });
229
80
  }
230
81
  function decodeCell(context, field, cell) {
231
82
  const roster = rosterOf(field);
232
- if (roster !== undefined) {
83
+ if (roster !== undefined)
233
84
  return handleOf(context, roster, cell);
85
+ try {
86
+ return fieldValue(context, field, cell);
234
87
  }
235
- switch (field.kind) {
236
- case "bool": {
237
- if (typeof cell !== "boolean") {
238
- throw new SdkInvariantError({ message: `${context}: expected boolean cell` });
239
- }
240
- return cell;
241
- }
242
- case "u64":
243
- case "i64": {
244
- if (typeof cell !== "bigint") {
245
- throw new SdkInvariantError({ message: `${context}: expected bigint cell` });
246
- }
247
- return cell;
248
- }
249
- case "f64": {
250
- if (typeof cell !== "number") {
251
- throw new SdkInvariantError({ message: `${context}: expected number cell` });
252
- }
253
- return cell;
254
- }
255
- case "str": {
256
- if (typeof cell !== "string") {
257
- throw new SdkInvariantError({ message: `${context}: expected string cell` });
258
- }
259
- return cell;
260
- }
261
- case "uuid": {
262
- // The native renderer spells uuid as the canonical
263
- // canonical hyphenated UUID string (marshal.rs `uuid_hex`); the read
264
- // side revalidates the spelling and keeps the string value.
265
- if (!Uuid.isUuid(cell)) {
266
- throw new SdkInvariantError({
267
- message: `${context}: expected an uuid cell (canonical UUID text)`
268
- });
269
- }
270
- return cell;
271
- }
272
- case "bytes": {
273
- if (!(cell instanceof Uint8Array)) {
274
- throw new SdkInvariantError({ message: `${context}: expected owned bytes` });
275
- }
276
- return cell;
277
- }
278
- case "interval": {
279
- if (field.element === "f64") {
280
- if (!isFloatIntervalValue(cell)) {
281
- throw new SdkInvariantError({ message: `${context}: expected a float interval cell` });
282
- }
283
- return Object.freeze({ start: cell.start, end: cell.end });
284
- }
285
- if (!isIntervalValue(cell)) {
286
- throw new SdkInvariantError({ message: `${context}: expected an integer interval cell` });
287
- }
288
- return Object.freeze({ start: cell.start, end: cell.end });
289
- }
88
+ catch (cause) {
89
+ if (cause instanceof AuthoringError)
90
+ throw new SdkInvariantError({ message: cause.message });
91
+ throw cause;
290
92
  }
291
93
  }
292
94
  function isCompleteFact(relation, decoded) {
293
- return relation.data.fields.every(function present(declared) {
95
+ return relationFields(relation).every(function present(declared) {
294
96
  return decoded[declared.name] !== undefined;
295
97
  });
296
98
  }
@@ -299,21 +101,22 @@ function isCompleteFact(relation, decoded) {
299
101
  * declared field order: stable field names and shapes, no Proxy or per-cell closures.
300
102
  */
301
103
  function factOfCells(relation, row) {
302
- const data = relation.data;
303
- if (row.length !== data.fields.length) {
104
+ const data = relation;
105
+ if (row.length !== relationFields(data).length) {
304
106
  throw new SdkInvariantError({
305
- message: `relation ${data.name}: row arity ${row.length} does not match the ${data.fields.length} declared fields`
107
+ message: `relation ${data.name}: row arity ${row.length} does not match the ${relationFields(data).length} declared fields`
306
108
  });
307
109
  }
308
110
  const decoded = {};
309
- data.fields.forEach(function decodeOne(declared, ordinal) {
111
+ relationFields(data).forEach(function decodeOne(declared, ordinal) {
310
112
  const cell = row[ordinal];
311
113
  if (cell === undefined) {
312
114
  throw new SdkInvariantError({
313
115
  message: `relation ${data.name}: row cell ${ordinal} (${declared.name}) is absent`
314
116
  });
315
117
  }
316
- decoded[declared.name] = decodeCell(`relation ${data.name} field ${declared.name}`, declared.field, cell);
118
+ const value = decodeCell(`relation ${data.name} field ${declared.name}`, declared.field, cell);
119
+ setOwnField(decoded, declared.name, value);
317
120
  });
318
121
  Object.freeze(decoded);
319
122
  if (!isCompleteFact(relation, decoded)) {
@@ -321,5 +124,14 @@ function factOfCells(relation, row) {
321
124
  }
322
125
  return decoded;
323
126
  }
324
- export { assertHostCellFits, cellBytes, cellOf, decodeCell, factOfCells, flatRowsOf, handleOf, hostCellCharge, keyCellsOf, recordOf };
127
+ /** Preserve every declared name as data, including JavaScript's prototype setter. */
128
+ function setOwnField(record, name, value) {
129
+ if (name === "__proto__") {
130
+ Object.defineProperty(record, name, { value, enumerable: true, writable: true, configurable: true });
131
+ }
132
+ else {
133
+ record[name] = value;
134
+ }
135
+ }
136
+ export { cellOf, decodeCell, factCellsOf, factOfCells, flatRowsOf, handleOf, hostCellCharge, keyCellsOf, recordOf, setOwnField };
325
137
  //# sourceMappingURL=rows.js.map
package/dist/rows.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rows.js","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rows.js","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const runtimeErrorCodes: readonly ["RuntimeAlreadyLive", "ForeignRuntime", "ClosedHandle", "SpentHandle", "QueueFull", "InvalidArgument", "Internal", "DirectoryBusy", "WriterBusy", "InvalidPath", "Io", "ResourceLimit", "Engine", "Cancelled", "DeadlineExceeded"];
1
+ export declare const runtimeErrorCodes: readonly ["RuntimeAlreadyLive", "ForeignRuntime", "ClosedHandle", "SpentHandle", "QueueFull", "InvalidArgument", "Internal", "DirectoryBusy", "WriterBusy", "InvalidPath", "Io", "ResourceLimit", "Engine", "Cancelled"];
2
2
  //# sourceMappingURL=runtime-codes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-codes.d.ts","sourceRoot":"","sources":["../src/runtime-codes.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,YAC7B,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,kBAAkB,CACT,CAAA"}
1
+ {"version":3,"file":"runtime-codes.d.ts","sourceRoot":"","sources":["../src/runtime-codes.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,YAC7B,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,eAAe,EACf,QAAQ,EACR,WAAW,CACF,CAAA"}
@@ -13,7 +13,6 @@ export const runtimeErrorCodes = [
13
13
  "Io",
14
14
  "ResourceLimit",
15
15
  "Engine",
16
- "Cancelled",
17
- "DeadlineExceeded"
16
+ "Cancelled"
18
17
  ];
19
18
  //# sourceMappingURL=runtime-codes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-codes.js","sourceRoot":"","sources":["../src/runtime-codes.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,WAAW;IACX,iBAAiB;IACjB,UAAU;IACV,eAAe;IACf,YAAY;IACZ,aAAa;IACb,IAAI;IACJ,eAAe;IACf,QAAQ;IACR,WAAW;IACX,kBAAkB;CACT,CAAA"}
1
+ {"version":3,"file":"runtime-codes.js","sourceRoot":"","sources":["../src/runtime-codes.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,WAAW;IACX,iBAAiB;IACjB,UAAU;IACV,eAAe;IACf,YAAY;IACZ,aAAa;IACb,IAAI;IACJ,eAAe;IACf,QAAQ;IACR,WAAW;CACF,CAAA"}
@@ -15,7 +15,17 @@ export declare const DbReason: Schema.Union<readonly [Schema.Struct<{
15
15
  readonly kind: Schema.String;
16
16
  readonly message: Schema.String;
17
17
  }>, Schema.Struct<{
18
- readonly _tag: Schema.Literals<("Cancelled" | "ClosedHandle" | "DeadlineExceeded" | "DirectoryBusy" | "ForeignRuntime" | "Internal" | "InvalidArgument" | "InvalidPath" | "QueueFull" | "RuntimeAlreadyLive" | "SpentHandle" | "WriterBusy")[]>;
18
+ readonly _tag: Schema.Literal<"InvalidArgument">;
19
+ readonly detail: Schema.optional<Schema.Struct<{
20
+ readonly message: Schema.String;
21
+ readonly diagnostic: Schema.optional<Schema.Struct<{
22
+ readonly code: Schema.Literals<readonly ["InvalidValue", "InvalidRecord", "UnknownField", "MissingField", "InvalidDeclaration", "InvalidQuery"]>;
23
+ readonly context: Schema.String;
24
+ readonly expected: Schema.String;
25
+ }>>;
26
+ }>>;
27
+ }>, Schema.Struct<{
28
+ readonly _tag: Schema.Literals<("Cancelled" | "ClosedHandle" | "DirectoryBusy" | "ForeignRuntime" | "Internal" | "InvalidPath" | "QueueFull" | "RuntimeAlreadyLive" | "SpentHandle" | "WriterBusy")[]>;
19
29
  }>]>;
20
30
  declare const DbError_base: Schema.Class<DbError, Schema.TaggedStruct<"DbError", {
21
31
  readonly operation: Schema.String;
@@ -34,13 +44,27 @@ declare const DbError_base: Schema.Class<DbError, Schema.TaggedStruct<"DbError",
34
44
  readonly kind: Schema.String;
35
45
  readonly message: Schema.String;
36
46
  }>, Schema.Struct<{
37
- readonly _tag: Schema.Literals<("Cancelled" | "ClosedHandle" | "DeadlineExceeded" | "DirectoryBusy" | "ForeignRuntime" | "Internal" | "InvalidArgument" | "InvalidPath" | "QueueFull" | "RuntimeAlreadyLive" | "SpentHandle" | "WriterBusy")[]>;
47
+ readonly _tag: Schema.Literal<"InvalidArgument">;
48
+ readonly detail: Schema.optional<Schema.Struct<{
49
+ readonly message: Schema.String;
50
+ readonly diagnostic: Schema.optional<Schema.Struct<{
51
+ readonly code: Schema.Literals<readonly ["InvalidValue", "InvalidRecord", "UnknownField", "MissingField", "InvalidDeclaration", "InvalidQuery"]>;
52
+ readonly context: Schema.String;
53
+ readonly expected: Schema.String;
54
+ }>>;
55
+ }>>;
56
+ }>, Schema.Struct<{
57
+ readonly _tag: Schema.Literals<("Cancelled" | "ClosedHandle" | "DirectoryBusy" | "ForeignRuntime" | "Internal" | "InvalidPath" | "QueueFull" | "RuntimeAlreadyLive" | "SpentHandle" | "WriterBusy")[]>;
38
58
  }>]>;
39
59
  }>, import("effect/Cause").YieldableError>;
40
60
  export declare class DbError extends DbError_base {
41
- get code(): "Cancelled" | "ClosedHandle" | "DeadlineExceeded" | "DirectoryBusy" | "Engine" | "ForeignRuntime" | "Internal" | "InvalidArgument" | "InvalidPath" | "Io" | "QueueFull" | "ResourceLimit" | "RuntimeAlreadyLive" | "SpentHandle" | "WriterBusy";
61
+ get code(): "Cancelled" | "ClosedHandle" | "DirectoryBusy" | "Engine" | "ForeignRuntime" | "Internal" | "InvalidArgument" | "InvalidPath" | "Io" | "QueueFull" | "ResourceLimit" | "RuntimeAlreadyLive" | "SpentHandle" | "WriterBusy";
62
+ /** Safe default display; callers explicitly inspect structured detail. */
63
+ get message(): string;
42
64
  }
43
65
  export declare function dbError(operation: string, cause: unknown): DbError;
66
+ /** Host input failures retain authoring details without displaying values. */
67
+ export declare function argumentError(operation: string, cause: unknown): DbError;
44
68
  declare const Outstanding: Schema.Struct<{
45
69
  readonly phase: Schema.Literals<readonly ["open", "closing", "closed"]>;
46
70
  readonly queued: Schema.BigInt;
@@ -49,10 +73,6 @@ declare const Outstanding: Schema.Struct<{
49
73
  readonly owners: Schema.BigInt;
50
74
  readonly databases: Schema.BigInt;
51
75
  readonly natives: Schema.BigInt;
52
- readonly inputBytes: Schema.BigInt;
53
- readonly workingBytes: Schema.BigInt;
54
- readonly scratchBytes: Schema.BigInt;
55
- readonly resultBytes: Schema.BigInt;
56
76
  }>;
57
77
  export type OutstandingWork = typeof Outstanding.Type;
58
78
  declare const Close: Schema.Union<readonly [Schema.Struct<{
@@ -67,10 +87,6 @@ declare const Close: Schema.Union<readonly [Schema.Struct<{
67
87
  readonly owners: Schema.BigInt;
68
88
  readonly databases: Schema.BigInt;
69
89
  readonly natives: Schema.BigInt;
70
- readonly inputBytes: Schema.BigInt;
71
- readonly workingBytes: Schema.BigInt;
72
- readonly scratchBytes: Schema.BigInt;
73
- readonly resultBytes: Schema.BigInt;
74
90
  }>;
75
91
  }>, Schema.Struct<{
76
92
  readonly kind: Schema.Literal<"failed">;
@@ -91,10 +107,6 @@ declare const CloseFailure_base: Schema.Class<CloseFailure, Schema.TaggedStruct<
91
107
  readonly owners: Schema.BigInt;
92
108
  readonly databases: Schema.BigInt;
93
109
  readonly natives: Schema.BigInt;
94
- readonly inputBytes: Schema.BigInt;
95
- readonly workingBytes: Schema.BigInt;
96
- readonly scratchBytes: Schema.BigInt;
97
- readonly resultBytes: Schema.BigInt;
98
110
  }>;
99
111
  }>, Schema.Struct<{
100
112
  readonly kind: Schema.Literal<"failed">;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-errors.d.ts","sourceRoot":"","sources":["../src/runtime-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAyBrD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;IAAyD,CAAA;;;;;;;;;;;;;;;;;;;;;AAC9E,qBAAa,OAAQ,SAAQ,YAG3B;IACD,IAAI,IAAI,oPAEP;CACD;AAGD,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAGlE;AAED,QAAA,MAAM,WAAW;;;;;;;;;;;;EAYf,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AACrD,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;IAIT,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAE3C,qBAAa,YAAa,SAAQ,iBAGhC;CAAG"}
1
+ {"version":3,"file":"runtime-errors.d.ts","sourceRoot":"","sources":["../src/runtime-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAoCrD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;IAA0E,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAC/F,qBAAa,OAAQ,SAAQ,YAG3B;IACD,IAAI,IAAI,+NAEP;IACD,0EAA0E;IAC1E,IAAa,OAAO,IAAI,MAAM,CAE7B;CACD;AAGD,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAkBlE;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAUxE;AAED,QAAA,MAAM,WAAW;;;;;;;;EAQf,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AACrD,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;IAIT,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;AAE3C,qBAAa,YAAa,SAAQ,iBAGhC;CAAG"}