@elaraai/east 1.0.69 → 1.0.71

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 (82) hide show
  1. package/dist/src/builtins.d.ts +1 -1
  2. package/dist/src/builtins.d.ts.map +1 -1
  3. package/dist/src/builtins.js +7 -0
  4. package/dist/src/builtins.js.map +1 -1
  5. package/dist/src/codegen/spellings.d.ts.map +1 -1
  6. package/dist/src/codegen/spellings.js +1 -0
  7. package/dist/src/codegen/spellings.js.map +1 -1
  8. package/dist/src/compile.d.ts.map +1 -1
  9. package/dist/src/compile.js +50 -2
  10. package/dist/src/compile.js.map +1 -1
  11. package/dist/src/compile.open_beast.spec.d.ts +6 -0
  12. package/dist/src/compile.open_beast.spec.d.ts.map +1 -0
  13. package/dist/src/compile.open_beast.spec.js +99 -0
  14. package/dist/src/compile.open_beast.spec.js.map +1 -0
  15. package/dist/src/expr/blob.d.ts +41 -1
  16. package/dist/src/expr/blob.d.ts.map +1 -1
  17. package/dist/src/expr/blob.js +52 -0
  18. package/dist/src/expr/blob.js.map +1 -1
  19. package/dist/src/expr/libs/datetime.d.ts +11 -0
  20. package/dist/src/expr/libs/datetime.d.ts.map +1 -1
  21. package/dist/src/expr/libs/datetime.js +11 -0
  22. package/dist/src/expr/libs/datetime.js.map +1 -1
  23. package/dist/src/location.d.ts +12 -0
  24. package/dist/src/location.d.ts.map +1 -1
  25. package/dist/src/location.js +15 -3
  26. package/dist/src/location.js.map +1 -1
  27. package/dist/src/serialization/beast2/index.d.ts +16 -1
  28. package/dist/src/serialization/beast2/index.d.ts.map +1 -1
  29. package/dist/src/serialization/beast2/index.js +24 -3
  30. package/dist/src/serialization/beast2/index.js.map +1 -1
  31. package/dist/src/serialization/beast2/v4/container.d.ts +10 -0
  32. package/dist/src/serialization/beast2/v4/container.d.ts.map +1 -1
  33. package/dist/src/serialization/beast2/v4/container.js +13 -0
  34. package/dist/src/serialization/beast2/v4/container.js.map +1 -1
  35. package/dist/src/serialization/beast2/v5/frames.d.ts +17 -0
  36. package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -1
  37. package/dist/src/serialization/beast2/v5/frames.js +40 -0
  38. package/dist/src/serialization/beast2/v5/frames.js.map +1 -1
  39. package/dist/src/serialization/beast2/v5/geometry.d.ts +10 -113
  40. package/dist/src/serialization/beast2/v5/geometry.d.ts.map +1 -1
  41. package/dist/src/serialization/beast2/v5/geometry.js +7 -151
  42. package/dist/src/serialization/beast2/v5/geometry.js.map +1 -1
  43. package/dist/src/serialization/beast2/v5/lazy.d.ts +8 -2
  44. package/dist/src/serialization/beast2/v5/lazy.d.ts.map +1 -1
  45. package/dist/src/serialization/beast2/v5/lazy.js +9 -3
  46. package/dist/src/serialization/beast2/v5/lazy.js.map +1 -1
  47. package/dist/src/serialization/beast2/v5/range.d.ts +201 -0
  48. package/dist/src/serialization/beast2/v5/range.d.ts.map +1 -0
  49. package/dist/src/serialization/beast2/v5/range.js +252 -0
  50. package/dist/src/serialization/beast2/v5/range.js.map +1 -0
  51. package/dist/src/serialization/beast2/v5/stream.d.ts +29 -5
  52. package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -1
  53. package/dist/src/serialization/beast2/v5/stream.js +86 -19
  54. package/dist/src/serialization/beast2/v5/stream.js.map +1 -1
  55. package/dist/src/serialization/beast2/v5/sync-reader.spec.d.ts +6 -0
  56. package/dist/src/serialization/beast2/v5/sync-reader.spec.d.ts.map +1 -0
  57. package/dist/src/serialization/beast2/v5/sync-reader.spec.js +228 -0
  58. package/dist/src/serialization/beast2/v5/sync-reader.spec.js.map +1 -0
  59. package/dist/src/serialization/index.d.ts +3 -1
  60. package/dist/src/serialization/index.d.ts.map +1 -1
  61. package/dist/src/serialization/index.js +3 -1
  62. package/dist/src/serialization/index.js.map +1 -1
  63. package/dist/src/serialization/json.d.ts.map +1 -1
  64. package/dist/src/serialization/json.js +31 -1
  65. package/dist/src/serialization/json.js.map +1 -1
  66. package/dist/src/serialization/json_schema.d.ts +76 -0
  67. package/dist/src/serialization/json_schema.d.ts.map +1 -0
  68. package/dist/src/serialization/json_schema.js +290 -0
  69. package/dist/src/serialization/json_schema.js.map +1 -0
  70. package/dist/src/serialization/json_schema.spec.d.ts +2 -0
  71. package/dist/src/serialization/json_schema.spec.d.ts.map +1 -0
  72. package/dist/src/serialization/json_schema.spec.js +327 -0
  73. package/dist/src/serialization/json_schema.spec.js.map +1 -0
  74. package/dist/src/serialization/json_schema_to_type.d.ts +74 -0
  75. package/dist/src/serialization/json_schema_to_type.d.ts.map +1 -0
  76. package/dist/src/serialization/json_schema_to_type.js +500 -0
  77. package/dist/src/serialization/json_schema_to_type.js.map +1 -0
  78. package/dist/src/serialization/json_schema_to_type.spec.d.ts +2 -0
  79. package/dist/src/serialization/json_schema_to_type.spec.d.ts.map +1 -0
  80. package/dist/src/serialization/json_schema_to_type.spec.js +372 -0
  81. package/dist/src/serialization/json_schema_to_type.spec.js.map +1 -0
  82. package/package.json +1 -1
@@ -21,47 +21,15 @@
21
21
  * orchestrator carves a huge collection dataset into key-range partition
22
22
  * slices, runs each slice independently, and splices the output shards.
23
23
  */
24
- import {} from "../../../type_of_type.js";
25
24
  import { BufferReader, BufferWriter } from "../../binary-utils.js";
26
25
  import { readTypeSection } from "./type-section.js";
27
- import { MAGIC_BYTES_V5, FOOTER_MAGIC_V5, INDEX_FLAG_SELF_CONTAINED, readIndex, writeIndexAndFooter, readSourceMapSectionV5, isSegmentedRoot, } from "./codec.js";
26
+ import { MAGIC_BYTES_V5, readIndex, writeIndexAndFooter, readSourceMapSectionV5, isSegmentedRoot, } from "./codec.js";
28
27
  import { Beast2Writer } from "./stream.js";
29
- /** The exact bytes of the root NEW tag frame and of the terminator frame:
30
- * codec `none`, one logical byte, payload `0x00`. */
31
- const TAG_OR_TERMINATOR_FRAME = new Uint8Array([0x00, 0x01, 0x01, 0x00]);
32
- /** Reads the little-endian u64 index offset from the footer. */
33
- function readFooterIndexOffset(data) {
34
- const footerStart = data.length - 16;
35
- let indexOffset = 0n;
36
- for (let i = 7; i >= 0; i--) {
37
- indexOffset = (indexOffset << 8n) | BigInt(data[footerStart + i]);
38
- }
39
- return Number(indexOffset);
40
- }
41
- /** Whether the 4 bytes at `offset` are a tag/terminator frame. */
42
- function isTagOrTerminatorFrame(data, offset) {
43
- if (offset + 4 > data.length)
44
- return false;
45
- for (let i = 0; i < 4; i++) {
46
- if (data[offset + i] !== TAG_OR_TERMINATOR_FRAME[i])
47
- return false;
48
- }
49
- return true;
50
- }
51
- /**
52
- * Reads the byte geometry of a segmented, indexed v5 collection blob.
53
- *
54
- * Validates the parts of the container that carve and splice rely on: the v5
55
- * magic, a collection root, a well-formed trailing index, the root tag frame
56
- * directly after the header sections, segment frames contiguous from there,
57
- * and the terminator frame directly before the index.
58
- *
59
- * @param data - the whole blob
60
- * @returns the blob's {@link Beast2Extents}
61
- * @throws {Error} When the blob is not a v5 container, its root is not a
62
- * collection, it carries no index, or the frame geometry is malformed.
63
- */
64
- export function readBeast2Extents(data) {
28
+ import { TAG_OR_TERMINATOR_FRAME, isBeast2SyncRangeReader, isTagOrTerminatorFrame, readU64LE, readBeast2ExtentsSync, } from "./range.js";
29
+ export { readBeast2ExtentsRanged, readBeast2ExtentsSync, isBeast2SyncRangeReader, } from "./range.js";
30
+ export function readBeast2Extents(data, options) {
31
+ if (isBeast2SyncRangeReader(data))
32
+ return readBeast2ExtentsSync(data, options);
65
33
  if (data.length < 8) {
66
34
  throw new Error(`Data too short for Beast2 format: ${data.length} bytes`);
67
35
  }
@@ -91,7 +59,7 @@ export function readBeast2Extents(data) {
91
59
  if (index.offsets.length > 0 && index.offsets[0] !== prefixEnd) {
92
60
  throw new Error(`beast2 v5: segments not contiguous with the header (first segment at ${index.offsets[0]}, header ends at ${prefixEnd})`);
93
61
  }
94
- const indexOffset = readFooterIndexOffset(data);
62
+ const indexOffset = readU64LE(data, data.length - 16);
95
63
  const segmentsEnd = indexOffset - TAG_OR_TERMINATOR_FRAME.length;
96
64
  if (segmentsEnd < prefixEnd || !isTagOrTerminatorFrame(data, segmentsEnd)) {
97
65
  throw new Error(`beast2 v5: terminator frame not found where expected (offset ${segmentsEnd})`);
@@ -204,118 +172,6 @@ export function spliceBeast2(parts) {
204
172
  writeIndexAndFooter(writer, segments, true);
205
173
  return writer.toUint8Array();
206
174
  }
207
- /** Parses the u64 little-endian index offset from 8 bytes at `at`. */
208
- function readU64LE(data, at) {
209
- let value = 0n;
210
- for (let i = 7; i >= 0; i--) {
211
- value = (value << 8n) | BigInt(data[at + i]);
212
- }
213
- return Number(value);
214
- }
215
- /**
216
- * Reads the byte geometry of a segmented, indexed v5 collection blob through
217
- * ranged access — the footer and index from a tail read, the header sections
218
- * from a head read — without ever buffering the blob whole.
219
- *
220
- * The result carries everything {@link carveBeast2Ranged} needs to assemble
221
- * a standalone blob for any segment span whose frame bytes are then the only
222
- * further reads: total I/O for a window is O(header + index + window), not
223
- * O(blob).
224
- *
225
- * @param reader - ranged access to the blob
226
- * @param options - tail-probe tuning
227
- * @returns the blob's {@link Beast2RangedExtents}
228
- * @throws {Error} When the blob is not a v5 container, its root is not a
229
- * collection, it carries no index, or the frame geometry is malformed —
230
- * the same conditions {@link readBeast2Extents} rejects.
231
- */
232
- export async function readBeast2ExtentsRanged(reader, options) {
233
- const size = reader.size;
234
- if (size < MAGIC_BYTES_V5.length + 16) {
235
- throw new Error(`Data too short for Beast2 format: ${size} bytes`);
236
- }
237
- // Tail: footer first, then the index section (one further read when the
238
- // probe missed its start).
239
- const probe = Math.min(size, Math.max(options?.tailProbeBytes ?? 64 * 1024, 16));
240
- let tailStart = size - probe;
241
- let tail = await reader.read(tailStart, size - tailStart);
242
- const footerStart = size - 16;
243
- for (let i = 0; i < 8; i++) {
244
- if (tail[footerStart + 8 + i - tailStart] !== FOOTER_MAGIC_V5[i]) {
245
- throw new Error(`beast2 v5: blob carries no index — ranged reads need one (write with the index enabled, the default)`);
246
- }
247
- }
248
- const indexOffset = readU64LE(tail, footerStart - tailStart);
249
- if (indexOffset < MAGIC_BYTES_V5.length || indexOffset >= footerStart) {
250
- throw new Error(`beast2 v5: footer index offset ${indexOffset} out of range`);
251
- }
252
- const segmentsEnd = indexOffset - TAG_OR_TERMINATOR_FRAME.length;
253
- if (segmentsEnd < tailStart) {
254
- tailStart = segmentsEnd;
255
- tail = await reader.read(tailStart, size - tailStart);
256
- }
257
- // Index section — the same wire shape readIndex parses from a whole blob.
258
- const indexReader = new BufferReader(tail, indexOffset - tailStart);
259
- const flags = indexReader.readVarint();
260
- if ((flags & ~INDEX_FLAG_SELF_CONTAINED) !== 0) {
261
- throw new Error(`beast2 v5: unknown index flags 0x${flags.toString(16)}`);
262
- }
263
- const segmentCount = indexReader.readVarint();
264
- const offsets = new Array(segmentCount);
265
- const counts = new Array(segmentCount);
266
- let prev = 0;
267
- let elementCount = 0;
268
- for (let i = 0; i < segmentCount; i++) {
269
- prev += indexReader.readVarint();
270
- offsets[i] = prev;
271
- counts[i] = indexReader.readVarint();
272
- elementCount += counts[i];
273
- if (prev >= indexOffset) {
274
- throw new Error(`beast2 v5: index segment offset ${prev} overlaps the index section`);
275
- }
276
- }
277
- if (indexReader.offset !== footerStart - tailStart) {
278
- throw new Error(`beast2 v5: index section size mismatch (ends at ${indexReader.offset + tailStart}, footer at ${footerStart})`);
279
- }
280
- if (!isTagOrTerminatorFrame(tail, segmentsEnd - tailStart)) {
281
- throw new Error(`beast2 v5: terminator frame not found where expected (offset ${segmentsEnd})`);
282
- }
283
- // Head: header sections + root tag frame, ending exactly where the first
284
- // segment starts (or at the terminator, for an empty blob).
285
- const prefixEnd = segmentCount > 0 ? offsets[0] : segmentsEnd;
286
- const head = await reader.read(0, prefixEnd);
287
- for (let i = 0; i < 8; i++) {
288
- if (head[i] !== MAGIC_BYTES_V5[i]) {
289
- if (i === 7 && head[i] === 0x04) {
290
- throw new Error(`beast2 v5: ranged reads need v5 blobs; this is a v4 container (re-encode with version 5)`);
291
- }
292
- throw new Error(`beast2 v5: not a beast2 v5 container`);
293
- }
294
- }
295
- const headReader = new BufferReader(head, MAGIC_BYTES_V5.length);
296
- const { rootType } = readTypeSection(headReader);
297
- if (!isSegmentedRoot(rootType)) {
298
- throw new Error(`beast2 v5: ranged reads address Array, Set or Dict roots, not ${rootType.type}`);
299
- }
300
- const sourceMap = readSourceMapSectionV5(headReader);
301
- const frameOffset = headReader.offset;
302
- if (frameOffset + 4 !== prefixEnd || !isTagOrTerminatorFrame(head, frameOffset)) {
303
- throw new Error(`beast2 v5: root tag frame not found where expected (offset ${frameOffset})`);
304
- }
305
- return {
306
- prefixEnd,
307
- segmentsEnd,
308
- indexOffset,
309
- offsets,
310
- counts,
311
- elementCount,
312
- selfContained: (flags & INDEX_FLAG_SELF_CONTAINED) !== 0,
313
- sourceMapEmpty: sourceMap.size <= 1n,
314
- typeValue: rootType,
315
- size,
316
- head,
317
- };
318
- }
319
175
  /**
320
176
  * Assembles a standalone blob for a run of segments from ranged parts — the
321
177
  * ranged counterpart of {@link carveBeast2}, producing byte-identical output
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/geometry.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,17 @@
29
29
  import { type EastTypeValue } from "../../../type_of_type.js";
30
30
  import type { EastType, ValueTypeOf } from "../../../types.js";
31
31
  import { type Beast2DecodeOptions } from "../shared.js";
32
+ import { type Beast2SyncRangeReader } from "./range.js";
32
33
  /**
33
- * Builds a curried lazy opener: `open(data)` returns an ordinary collection
34
+ * Builds a curried lazy opener: `open(source)` returns an ordinary collection
34
35
  * value — a `SortedMap`, `SortedSet`, or array — backed by the blob's
35
36
  * segment index instead of a whole decode.
36
37
  *
38
+ * `source` is the whole blob, or a {@link Beast2SyncRangeReader} over it — a
39
+ * file descriptor with positioned reads, say — in which case the open reads
40
+ * only the blob's tail and head, and each served read fetches exactly the
41
+ * segment frames it decodes, so the wire bytes never sit on the heap whole.
42
+ *
37
43
  * Size, single-pass iteration, and keyed reads are served lazily with
38
44
  * O(segment) decoded memory; every other operation transparently hydrates
39
45
  * the value (equivalent to the whole decode) and proceeds with eager
@@ -51,7 +57,7 @@ import { type Beast2DecodeOptions } from "../shared.js";
51
57
  * @returns a function opening a blob as a lazy collection value
52
58
  * @throws {TypeError} When `type` is not an Array, Set or Dict type.
53
59
  */
54
- export declare function openBeast2LazyFor<T extends EastType>(type: T | EastTypeValue, options?: Beast2DecodeOptions): (data: Uint8Array) => ValueTypeOf<T>;
60
+ export declare function openBeast2LazyFor<T extends EastType>(type: T | EastTypeValue, options?: Beast2DecodeOptions): (source: Uint8Array | Beast2SyncRangeReader) => ValueTypeOf<T>;
55
61
  /** Options accepted by {@link isBeast2LazySafe}. */
56
62
  export type Beast2LazySafeOptions = {
57
63
  /** Judge the shape for a frozen open ({@link openBeast2LazyFor} with
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/lazy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAK/D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAuaxD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAyBlJ;AAiED,oDAAoD;AACpD,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;mEAG+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CASzG"}
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/lazy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAK/D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAoaxD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,qBAAqB,KAAK,WAAW,CAAC,CAAC,CAAC,CAyB5K;AAiED,oDAAoD;AACpD,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;mEAG+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CASzG"}
@@ -35,6 +35,7 @@ import {} from "../shared.js";
35
35
  import { asTypeValue } from "./type-section.js";
36
36
  import { isSegmentedRoot } from "./codec.js";
37
37
  import { Beast2Pages } from "./stream.js";
38
+ import {} from "./range.js";
38
39
  /** The canonical-order violation error, matching the eager decoders. */
39
40
  function disjointError(kind, i) {
40
41
  return new Error(`beast2 v5: segments ${i - 1} and ${i} are not disjoint ascending ${kind === "Dict" ? "key" : "element"} ranges — the wire must hold the canonical value (corrupt or pre-contract blob)`);
@@ -451,10 +452,15 @@ function lazyArray(pages, frozen = false) {
451
452
  return proxy;
452
453
  }
453
454
  /**
454
- * Builds a curried lazy opener: `open(data)` returns an ordinary collection
455
+ * Builds a curried lazy opener: `open(source)` returns an ordinary collection
455
456
  * value — a `SortedMap`, `SortedSet`, or array — backed by the blob's
456
457
  * segment index instead of a whole decode.
457
458
  *
459
+ * `source` is the whole blob, or a {@link Beast2SyncRangeReader} over it — a
460
+ * file descriptor with positioned reads, say — in which case the open reads
461
+ * only the blob's tail and head, and each served read fetches exactly the
462
+ * segment frames it decodes, so the wire bytes never sit on the heap whole.
463
+ *
458
464
  * Size, single-pass iteration, and keyed reads are served lazily with
459
465
  * O(segment) decoded memory; every other operation transparently hydrates
460
466
  * the value (equivalent to the whole decode) and proceeds with eager
@@ -478,10 +484,10 @@ export function openBeast2LazyFor(type, options) {
478
484
  throw new TypeError(`beast2 v5 lazy values hold Array, Set or Dict roots, not ${typeValue.type}`);
479
485
  }
480
486
  const frozen = options?.frozen ?? false;
481
- return (data) => {
487
+ return (source) => {
482
488
  // The pages carry the decode options, so every segment (and fence) the
483
489
  // lazy value serves is decoded frozen at construction.
484
- const pages = new Beast2Pages(data, typeValue, options);
490
+ const pages = new Beast2Pages(source, typeValue, options);
485
491
  let value;
486
492
  if (typeValue.type === "Array") {
487
493
  value = lazyArray(pages, frozen);
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/lazy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/lazy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Beast2 v5 ranged access — reading a segmented, indexed blob's geometry
7
+ * through positioned byte reads instead of a whole buffer.
8
+ *
9
+ * A v5 collection blob is `header · tag frame · segment frames · terminator
10
+ * frame · index · footer`, so its whole geometry is recoverable from two
11
+ * ranged reads: the tail (footer + index) and the head (header sections +
12
+ * tag frame). Every segment frame's byte range is then known up front, and a
13
+ * paging reader fetches only the frames it decodes: an Array index read or
14
+ * a Set/Dict keyed read touches one frame, iteration touches each frame
15
+ * once. The exception is a Set/Dict root's FIRST keyed read, which verifies
16
+ * the segment fences by probing every frame once (as east-c does) — a
17
+ * bounded prefix of each frame, read and inflated as far as it goes, never
18
+ * the frame unless its first key is wider than the probe. I/O is O(header +
19
+ * index + touched frames) in every case; peak memory is O(segment).
20
+ *
21
+ * Two reader shapes serve two consumers: {@link Beast2RangeReader} (async —
22
+ * an HTTP range request, an S3 ranged GET, e3's dataset paging) and
23
+ * {@link Beast2SyncRangeReader} (sync — a file descriptor with positioned
24
+ * reads, a memory mapping, a plain `Uint8Array`), which is what a compiled
25
+ * East body drives through `Beast2Pages` and `openBeast2LazyFor`. Core stays
26
+ * free of any file system: the reader is injected.
27
+ */
28
+ import { type EastTypeValue } from "../../../type_of_type.js";
29
+ /** The exact bytes of the root NEW tag frame and of the terminator frame:
30
+ * codec `none`, one logical byte, payload `0x00`. */
31
+ export declare const TAG_OR_TERMINATOR_FRAME: Uint8Array<ArrayBuffer>;
32
+ /**
33
+ * The byte geometry of a segmented, indexed v5 blob.
34
+ *
35
+ * All offsets are absolute wire offsets into the blob the extents were read
36
+ * from. The value stream occupies `[0, indexOffset)`: header sections and the
37
+ * root tag frame in `[0, prefixEnd)`, segment frames in
38
+ * `[prefixEnd, segmentsEnd)`, and the terminator frame in
39
+ * `[segmentsEnd, indexOffset)`.
40
+ */
41
+ export interface Beast2Extents {
42
+ /** End of the header sections + root tag frame — the first segment frame
43
+ * starts here. */
44
+ readonly prefixEnd: number;
45
+ /** End of the last segment frame — the terminator frame starts here. */
46
+ readonly segmentsEnd: number;
47
+ /** Wire offset of the index section. */
48
+ readonly indexOffset: number;
49
+ /** Absolute wire offset of each segment's frame. */
50
+ readonly offsets: readonly number[];
51
+ /** Element count of each segment (pairs for Dict roots). */
52
+ readonly counts: readonly number[];
53
+ /** Sum of all segment counts. */
54
+ readonly elementCount: number;
55
+ /** Whether segments are independently decodable (no cross-segment
56
+ * aliasing) — required by both carve and splice. */
57
+ readonly selfContained: boolean;
58
+ /** Whether the header source-map section carries no stacks. */
59
+ readonly sourceMapEmpty: boolean;
60
+ /** The blob's wire root type. */
61
+ readonly typeValue: EastTypeValue;
62
+ }
63
+ /**
64
+ * Ranged access to an immutable blob: its total byte size plus positional
65
+ * reads.
66
+ *
67
+ * The blob is content-addressed and its size known up front, so callers only
68
+ * ever request ranges inside `[0, size)` and `read` must return exactly the
69
+ * requested bytes. Backed by anything that can serve byte ranges — a file
70
+ * descriptor, an HTTP range request, an S3 ranged GET.
71
+ */
72
+ export interface Beast2RangeReader {
73
+ /** Total blob size in bytes. */
74
+ readonly size: number;
75
+ /**
76
+ * Reads `length` bytes at absolute wire offset `offset`.
77
+ *
78
+ * @param offset - absolute byte offset into the blob
79
+ * @param length - number of bytes to read
80
+ * @returns exactly the requested bytes
81
+ */
82
+ read(offset: number, length: number): Promise<Uint8Array>;
83
+ }
84
+ /**
85
+ * Synchronous ranged access to an immutable blob — the sync twin of
86
+ * {@link Beast2RangeReader}, for the paging readers a compiled East body
87
+ * drives without awaiting (`Beast2Pages`, `openBeast2LazyFor`).
88
+ *
89
+ * Backed by anything that serves byte ranges synchronously: a file
90
+ * descriptor with positioned reads (so the blob's residency is the page
91
+ * cache, not the heap), a memory mapping, or a plain `Uint8Array`. As for
92
+ * the async reader, `read` must return exactly the requested bytes, and the
93
+ * returned buffer is the reader's to reuse only after the caller is done
94
+ * with it — a paging reader decodes a frame as soon as it reads it.
95
+ *
96
+ * @example
97
+ * ```ts
98
+ * const fd = openSync("rows.beast2", "r");
99
+ * const reader: Beast2SyncRangeReader = {
100
+ * size: fstatSync(fd).size,
101
+ * read(offset, length) {
102
+ * const out = new Uint8Array(length);
103
+ * let done = 0;
104
+ * while (done < length) done += readSync(fd, out, done, length - done, offset + done);
105
+ * return out;
106
+ * },
107
+ * };
108
+ * const rows = openBeast2LazyFor(ArrayType(RowType), { frozen: true })(reader);
109
+ * ```
110
+ */
111
+ export interface Beast2SyncRangeReader {
112
+ /** Total blob size in bytes. */
113
+ readonly size: number;
114
+ /**
115
+ * Reads `length` bytes at absolute wire offset `offset`.
116
+ *
117
+ * @param offset - absolute byte offset into the blob
118
+ * @param length - number of bytes to read
119
+ * @returns exactly the requested bytes
120
+ */
121
+ read(offset: number, length: number): Uint8Array;
122
+ }
123
+ /** Options accepted by {@link readBeast2ExtentsRanged} and
124
+ * {@link readBeast2ExtentsSync}. */
125
+ export type ReadBeast2ExtentsRangedOptions = {
126
+ /** Initial tail-probe size in bytes (default 64 KiB). When the index
127
+ * section is larger than the probe, one further tail read fetches the
128
+ * rest — the probe only tunes how often that second read happens. */
129
+ tailProbeBytes?: number;
130
+ };
131
+ /**
132
+ * A blob's {@link Beast2Extents} read via ranged access, plus the header
133
+ * bytes `carveBeast2Ranged` reuses.
134
+ *
135
+ * Everything a paged reader needs to serve any window of the blob without
136
+ * ever buffering it whole: the segment geometry addresses the frame byte
137
+ * ranges, and `head` carries the header sections a window blob is assembled
138
+ * under.
139
+ */
140
+ export interface Beast2RangedExtents extends Beast2Extents {
141
+ /** Total blob size in bytes. */
142
+ readonly size: number;
143
+ /** Bytes `[0, prefixEnd)` — the header sections and the root tag frame. */
144
+ readonly head: Uint8Array;
145
+ }
146
+ /** Whether `source` is a {@link Beast2SyncRangeReader} rather than a blob —
147
+ * judged by shape, since a typed array from another realm fails
148
+ * `instanceof Uint8Array`. */
149
+ export declare function isBeast2SyncRangeReader(source: unknown): source is Beast2SyncRangeReader;
150
+ /**
151
+ * Reads exactly `length` bytes at `offset` through a sync reader, refusing a
152
+ * short result up front: a reader that returns fewer bytes (a bare
153
+ * `readSync` without the retry loop) would otherwise be reported as a
154
+ * malformed blob.
155
+ *
156
+ * @param reader - the reader
157
+ * @param offset - absolute byte offset
158
+ * @param length - number of bytes
159
+ * @returns exactly the requested bytes
160
+ * @throws {Error} When the reader returns a different number of bytes.
161
+ */
162
+ export declare function readExact(reader: Beast2SyncRangeReader, offset: number, length: number): Uint8Array;
163
+ /** Whether the 4 bytes at `offset` are a tag/terminator frame. */
164
+ export declare function isTagOrTerminatorFrame(data: Uint8Array, offset: number): boolean;
165
+ /** Parses the u64 little-endian index offset from 8 bytes at `at`. */
166
+ export declare function readU64LE(data: Uint8Array, at: number): number;
167
+ /**
168
+ * Reads the byte geometry of a segmented, indexed v5 collection blob through
169
+ * ranged access — the footer and index from a tail read, the header sections
170
+ * from a head read — without ever buffering the blob whole.
171
+ *
172
+ * The result carries everything `carveBeast2Ranged` needs to assemble a
173
+ * standalone blob for any segment span whose frame bytes are then the only
174
+ * further reads: total I/O for a window is O(header + index + window), not
175
+ * O(blob).
176
+ *
177
+ * @param reader - ranged access to the blob
178
+ * @param options - tail-probe tuning
179
+ * @returns the blob's {@link Beast2RangedExtents}
180
+ * @throws {Error} When the blob is not a v5 container, its root is not a
181
+ * collection, it carries no index, or the frame geometry is malformed —
182
+ * the same conditions `readBeast2Extents` rejects.
183
+ */
184
+ export declare function readBeast2ExtentsRanged(reader: Beast2RangeReader, options?: ReadBeast2ExtentsRangedOptions): Promise<Beast2RangedExtents>;
185
+ /**
186
+ * The synchronous twin of {@link readBeast2ExtentsRanged}: the same two
187
+ * ranged reads (tail, then head) through a {@link Beast2SyncRangeReader},
188
+ * for the paging readers a compiled body drives without awaiting.
189
+ *
190
+ * @param reader - synchronous ranged access to the blob
191
+ * @param options - tail-probe tuning
192
+ * @returns the blob's {@link Beast2RangedExtents}
193
+ * @throws {Error} When the blob is not a v5 container, its root is not a
194
+ * collection, it carries no index, or the frame geometry is malformed.
195
+ */
196
+ export declare function readBeast2ExtentsSync(reader: Beast2SyncRangeReader, options?: ReadBeast2ExtentsRangedOptions): Beast2RangedExtents;
197
+ /** A {@link Beast2SyncRangeReader} over a whole in-memory blob: reads are
198
+ * zero-copy views. What the `Uint8Array` entry points wrap, so every paging
199
+ * reader has one source shape. */
200
+ export declare function bytesReader(data: Uint8Array): Beast2SyncRangeReader;
201
+ //# sourceMappingURL=range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/range.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAW9D;sDACsD;AACtD,eAAO,MAAM,uBAAuB,yBAA2C,CAAC;AAEhF;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B;uBACmB;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wCAAwC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,iCAAiC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;yDACqD;IACrD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,iCAAiC;IACjC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;CAClD;AAED;qCACqC;AACrC,MAAM,MAAM,8BAA8B,GAAG;IAC3C;;0EAEsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED;;+BAE+B;AAC/B,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,qBAAqB,CAGxF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAMnG;AAED,kEAAkE;AAClE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAMhF;AAED,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAM9D;AA6GD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAqB/I;AAUD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,8BAA8B,GAAG,mBAAmB,CAiBlI;AAED;;mCAEmC;AACnC,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,qBAAqB,CAEnE"}