@elaraai/east 1.0.45 → 1.0.46
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.
- package/dist/src/containers/sortedmap.d.ts +22 -0
- package/dist/src/containers/sortedmap.d.ts.map +1 -1
- package/dist/src/containers/sortedmap.js +31 -2
- package/dist/src/containers/sortedmap.js.map +1 -1
- package/dist/src/containers/sortedset.d.ts +22 -0
- package/dist/src/containers/sortedset.d.ts.map +1 -1
- package/dist/src/containers/sortedset.js +31 -2
- package/dist/src/containers/sortedset.js.map +1 -1
- package/dist/src/expr/blob.d.ts +6 -1
- package/dist/src/expr/blob.d.ts.map +1 -1
- package/dist/src/expr/blob.js +6 -1
- package/dist/src/expr/blob.js.map +1 -1
- package/dist/src/expr/libs/blob.d.ts +10 -1
- package/dist/src/expr/libs/blob.d.ts.map +1 -1
- package/dist/src/expr/libs/blob.js +10 -1
- package/dist/src/expr/libs/blob.js.map +1 -1
- package/dist/src/fuzz.d.ts.map +1 -1
- package/dist/src/fuzz.js +11 -2
- package/dist/src/fuzz.js.map +1 -1
- package/dist/src/serialization/beast2/index.d.ts +76 -22
- package/dist/src/serialization/beast2/index.d.ts.map +1 -1
- package/dist/src/serialization/beast2/index.js +87 -720
- package/dist/src/serialization/beast2/index.js.map +1 -1
- package/dist/src/serialization/beast2/index.spec.js +147 -4
- package/dist/src/serialization/beast2/index.spec.js.map +1 -1
- package/dist/src/serialization/beast2/shared.d.ts +79 -0
- package/dist/src/serialization/beast2/shared.d.ts.map +1 -0
- package/dist/src/serialization/beast2/shared.js +143 -0
- package/dist/src/serialization/beast2/shared.js.map +1 -0
- package/dist/src/serialization/beast2/v4/container.d.ts +67 -0
- package/dist/src/serialization/beast2/v4/container.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v4/container.js +727 -0
- package/dist/src/serialization/beast2/v4/container.js.map +1 -0
- package/dist/src/serialization/beast2/{sourcemap-table.d.ts → v4/sourcemap-table.d.ts} +2 -2
- package/dist/src/serialization/beast2/v4/sourcemap-table.d.ts.map +1 -0
- package/dist/src/serialization/beast2/{sourcemap-table.js → v4/sourcemap-table.js} +2 -2
- package/dist/src/serialization/beast2/v4/sourcemap-table.js.map +1 -0
- package/dist/src/serialization/beast2/{string-table.d.ts → v4/string-table.d.ts} +1 -1
- package/dist/src/serialization/beast2/v4/string-table.d.ts.map +1 -0
- package/dist/src/serialization/beast2/{string-table.js → v4/string-table.js} +1 -1
- package/dist/src/serialization/beast2/v4/string-table.js.map +1 -0
- package/dist/src/serialization/beast2/{type-table.d.ts → v4/type-table.d.ts} +6 -4
- package/dist/src/serialization/beast2/v4/type-table.d.ts.map +1 -0
- package/dist/src/serialization/beast2/{type-table.js → v4/type-table.js} +103 -10
- package/dist/src/serialization/beast2/v4/type-table.js.map +1 -0
- package/dist/src/serialization/beast2/{value-table.d.ts → v4/value-table.d.ts} +2 -2
- package/dist/src/serialization/beast2/v4/value-table.d.ts.map +1 -0
- package/dist/src/serialization/beast2/{value-table.js → v4/value-table.js} +3 -3
- package/dist/src/serialization/beast2/v4/value-table.js.map +1 -0
- package/dist/src/serialization/beast2/v5/codec.d.ts +213 -0
- package/dist/src/serialization/beast2/v5/codec.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/codec.js +954 -0
- package/dist/src/serialization/beast2/v5/codec.js.map +1 -0
- package/dist/src/serialization/beast2/v5/deflate.d.ts +16 -0
- package/dist/src/serialization/beast2/v5/deflate.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/deflate.js +172 -0
- package/dist/src/serialization/beast2/v5/deflate.js.map +1 -0
- package/dist/src/serialization/beast2/v5/frames.d.ts +150 -0
- package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/frames.js +284 -0
- package/dist/src/serialization/beast2/v5/frames.js.map +1 -0
- package/dist/src/serialization/beast2/v5/index.spec.d.ts +6 -0
- package/dist/src/serialization/beast2/v5/index.spec.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/index.spec.js +484 -0
- package/dist/src/serialization/beast2/v5/index.spec.js.map +1 -0
- package/dist/src/serialization/beast2/v5/stream.d.ts +177 -0
- package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/stream.js +447 -0
- package/dist/src/serialization/beast2/v5/stream.js.map +1 -0
- package/dist/src/serialization/beast2/v5/type-section.d.ts +81 -0
- package/dist/src/serialization/beast2/v5/type-section.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/type-section.js +211 -0
- package/dist/src/serialization/beast2/v5/type-section.js.map +1 -0
- package/dist/src/serialization/beast2/version.d.ts +40 -0
- package/dist/src/serialization/beast2/version.d.ts.map +1 -0
- package/dist/src/serialization/beast2/version.js +23 -0
- package/dist/src/serialization/beast2/version.js.map +1 -0
- package/dist/src/serialization/index.d.ts +1 -1
- package/dist/src/serialization/index.d.ts.map +1 -1
- package/dist/src/serialization/index.js +1 -1
- package/dist/src/serialization/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/serialization/beast2/sourcemap-table.d.ts.map +0 -1
- package/dist/src/serialization/beast2/sourcemap-table.js.map +0 -1
- package/dist/src/serialization/beast2/string-table.d.ts.map +0 -1
- package/dist/src/serialization/beast2/string-table.js.map +0 -1
- package/dist/src/serialization/beast2/type-table.d.ts.map +0 -1
- package/dist/src/serialization/beast2/type-table.js.map +0 -1
- package/dist/src/serialization/beast2/value-table.d.ts.map +0 -1
- package/dist/src/serialization/beast2/value-table.js.map +0 -1
|
@@ -0,0 +1,213 @@
|
|
|
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 codec — the single-pass, segment-terminated record stream.
|
|
7
|
+
*
|
|
8
|
+
* Blob layout:
|
|
9
|
+
*
|
|
10
|
+
* magic[8] 0x89 "East" 0x0D 0x0A 0x05
|
|
11
|
+
* type_section well-known id + hash, or structural (v4 table)
|
|
12
|
+
* source_map_section varint(len) + stacks with inline filenames
|
|
13
|
+
* value stream frames carrying the logical value encoding
|
|
14
|
+
* [index_section] optional — segment offsets/counts (see stream.ts)
|
|
15
|
+
* [footer] u64-LE index offset + footer magic
|
|
16
|
+
*
|
|
17
|
+
* Logical value encoding (type-directed, positional):
|
|
18
|
+
* - immutable scalars encode as in v4, except strings are inline
|
|
19
|
+
* (`varint(len) + utf8`) — there is no string table.
|
|
20
|
+
* - mutable containers (Array/Set/Dict/Ref) carry a tag byte: `0x00 NEW`
|
|
21
|
+
* defines the container (registered in definition-start preorder) and is
|
|
22
|
+
* followed by its content; `0x01 REF` + `varint(delta)` aliases the
|
|
23
|
+
* container defined `delta` definitions ago. Relative deltas make decode
|
|
24
|
+
* independent of segment scoping — a self-contained segment resolves the
|
|
25
|
+
* same deltas with a fresh table that a sequential reader resolves with a
|
|
26
|
+
* global one.
|
|
27
|
+
* - Array/Set/Dict content is segment-terminated:
|
|
28
|
+
* `repeat[varint(n>0) + n elements] varint(0)` — no up-front totals.
|
|
29
|
+
* - Function values emit a source-map delta (`varint(n_new)` + stacks not yet
|
|
30
|
+
* written to this stream), then their IR, then `varint(capture_count)` +
|
|
31
|
+
* captures. Location ids inside IR stay plain integer data, so round-trips
|
|
32
|
+
* preserve them exactly.
|
|
33
|
+
*
|
|
34
|
+
* See v5/SPEC.md for the full wire specification.
|
|
35
|
+
*/
|
|
36
|
+
import { type EastTypeValue } from "../../../type_of_type.js";
|
|
37
|
+
import type { EastType } from "../../../types.js";
|
|
38
|
+
import { BufferWriter, BufferReader } from "../../binary-utils.js";
|
|
39
|
+
import { SourceMap } from "../../../location.js";
|
|
40
|
+
import { type Beast2DecodeOptions, type PlatformDecodeContext } from "../shared.js";
|
|
41
|
+
import { type Beast2Codec } from "./frames.js";
|
|
42
|
+
/** The v5 container magic: the beast2 magic with version byte 0x05. */
|
|
43
|
+
export declare const MAGIC_BYTES_V5: Uint8Array<ArrayBuffer>;
|
|
44
|
+
/** Container tag: defines a new mutable container at this position. */
|
|
45
|
+
export declare const TAG_NEW = 0;
|
|
46
|
+
/** Container tag: aliases a previously defined container by relative delta. */
|
|
47
|
+
export declare const TAG_REF = 1;
|
|
48
|
+
/** Mutable state threaded through a v5 encode pass. */
|
|
49
|
+
export interface V5EncodeContext {
|
|
50
|
+
/** Identity map: container object → definition index. Cleared per root
|
|
51
|
+
* segment by self-contained writers. */
|
|
52
|
+
containerIndex: Map<any, number>;
|
|
53
|
+
/** Count of container definitions so far (the definition counter). */
|
|
54
|
+
containerCount: number;
|
|
55
|
+
/** Definition count at the start of the current root segment — REFs
|
|
56
|
+
* reaching below this mark are cross-segment aliases. */
|
|
57
|
+
segmentBaseDef: number;
|
|
58
|
+
/** Whether any REF crossed a root-segment boundary. */
|
|
59
|
+
crossSegmentRef: boolean;
|
|
60
|
+
/** The stream's source map (header map, or adopted from the first function
|
|
61
|
+
* value that carries one). */
|
|
62
|
+
sourceMap: SourceMap | null;
|
|
63
|
+
/** Number of source-map stacks already written (header + inline deltas),
|
|
64
|
+
* including the index-0 empty sentinel. */
|
|
65
|
+
sourceMapEmitted: number;
|
|
66
|
+
/** Self-contained mode: inline source-map growth is forbidden (stacks
|
|
67
|
+
* emitted mid-stream would be unreachable from later segments). */
|
|
68
|
+
selfContained: boolean;
|
|
69
|
+
}
|
|
70
|
+
/** Creates a fresh v5 encode context.
|
|
71
|
+
*
|
|
72
|
+
* @param sourceMap - the pre-resolved header source map, if any
|
|
73
|
+
* @param selfContained - whether the writer scopes aliasing per segment
|
|
74
|
+
* @returns the initialized context
|
|
75
|
+
*/
|
|
76
|
+
export declare function createV5EncodeContext(sourceMap: SourceMap | null, selfContained: boolean): V5EncodeContext;
|
|
77
|
+
/** Mutable state threaded through a v5 decode pass. */
|
|
78
|
+
export interface V5DecodeContext extends PlatformDecodeContext {
|
|
79
|
+
/** Every decoded container in definition order — REF deltas resolve from
|
|
80
|
+
* the tail of this list. */
|
|
81
|
+
containers: any[];
|
|
82
|
+
/** The stream's source map, accumulated from the header section and inline
|
|
83
|
+
* deltas. Attached to every decoded function. */
|
|
84
|
+
sourceMap: SourceMap;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Writes the v5 source_map_section: `varint(payload_len)` + `varint(count)` +
|
|
88
|
+
* stacks with inline filenames. Entry 0 (the empty sentinel) is implicit.
|
|
89
|
+
*
|
|
90
|
+
* @param sourceMap - the header source map, or `null` for an empty section
|
|
91
|
+
* @param writer - the wire-level writer
|
|
92
|
+
*/
|
|
93
|
+
export declare function writeSourceMapSectionV5(sourceMap: SourceMap | null, writer: BufferWriter): void;
|
|
94
|
+
/**
|
|
95
|
+
* Reads the v5 source_map_section into a fresh {@link SourceMap}.
|
|
96
|
+
*
|
|
97
|
+
* @param reader - the wire-level reader positioned at the section start
|
|
98
|
+
* @returns the decoded source map (stack ids match encode-side ids)
|
|
99
|
+
*/
|
|
100
|
+
export declare function readSourceMapSectionV5(reader: BufferReader): SourceMap;
|
|
101
|
+
type V5Encoder = (value: any, writer: BufferWriter, ctx: V5EncodeContext) => void;
|
|
102
|
+
type V5Decoder = (reader: BufferReader, ctx: V5DecodeContext) => any;
|
|
103
|
+
/**
|
|
104
|
+
* Builds a v5 value encoder closure tree for the given type.
|
|
105
|
+
*
|
|
106
|
+
* @param type - the type to encode
|
|
107
|
+
* @param typeCtx - recursive-type resolution context shared across the tree
|
|
108
|
+
* @returns the encoder closure
|
|
109
|
+
*/
|
|
110
|
+
export declare function buildV5Encoder(type: EastTypeValue, typeCtx?: Map<bigint, V5Encoder>): V5Encoder;
|
|
111
|
+
/**
|
|
112
|
+
* Builds a v5 value decoder closure tree for the given type.
|
|
113
|
+
*
|
|
114
|
+
* @param type - the type to decode
|
|
115
|
+
* @param typeCtx - recursive-type resolution context shared across the tree
|
|
116
|
+
* @returns the decoder closure
|
|
117
|
+
*/
|
|
118
|
+
export declare function buildV5Decoder(type: EastTypeValue, typeCtx?: Map<bigint, V5Decoder>): V5Decoder;
|
|
119
|
+
/** Options accepted by the v5 whole-value encoder. */
|
|
120
|
+
export type Beast2V5EncodeOptions = {
|
|
121
|
+
/** Explicit source map to embed in the header section. */
|
|
122
|
+
sourceMap?: SourceMap | null;
|
|
123
|
+
/** Per-frame codec. Defaults to `"deflate"`. */
|
|
124
|
+
codec?: Beast2Codec;
|
|
125
|
+
/** Write the trailing index + footer (container roots only). Defaults to
|
|
126
|
+
* `false` for whole-value encodes. */
|
|
127
|
+
index?: boolean;
|
|
128
|
+
};
|
|
129
|
+
/** Whether a root type takes the segmented container framing. */
|
|
130
|
+
export declare function isSegmentedRoot(type: EastTypeValue): boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Builds a v5 whole-value encoder closure for the given type.
|
|
133
|
+
*
|
|
134
|
+
* @param type - the root East type (as `EastType` or `EastTypeValue`)
|
|
135
|
+
* @param options - encode options (source map, codec, index)
|
|
136
|
+
* @returns a reusable function encoding values of `type` to v5 beast2 bytes
|
|
137
|
+
*/
|
|
138
|
+
export declare function encodeBeast2V5For(type: EastTypeValue | EastType, options?: Beast2V5EncodeOptions): (value: any) => Uint8Array;
|
|
139
|
+
/** The v5 footer magic: the beast2 magic family with terminal byte 0xF5. */
|
|
140
|
+
export declare const FOOTER_MAGIC_V5: Uint8Array<ArrayBuffer>;
|
|
141
|
+
/** Index flag bit: segments are independently decodable (no cross-segment
|
|
142
|
+
* aliasing), so paging readers may seek. */
|
|
143
|
+
export declare const INDEX_FLAG_SELF_CONTAINED = 1;
|
|
144
|
+
/**
|
|
145
|
+
* Writes the index_section and footer.
|
|
146
|
+
*
|
|
147
|
+
* @param writer - the wire-level writer (its current size is the index offset)
|
|
148
|
+
* @param segments - per-segment absolute frame offsets and element counts
|
|
149
|
+
* @param selfContained - whether segments are independently decodable
|
|
150
|
+
*/
|
|
151
|
+
export declare function writeIndexAndFooter(writer: BufferWriter, segments: {
|
|
152
|
+
offset: number;
|
|
153
|
+
count: number;
|
|
154
|
+
}[], selfContained: boolean): void;
|
|
155
|
+
/** A parsed v5 index. */
|
|
156
|
+
export interface Beast2Index {
|
|
157
|
+
selfContained: boolean;
|
|
158
|
+
/** Absolute wire offset of each segment's frame. */
|
|
159
|
+
offsets: number[];
|
|
160
|
+
/** Element count of each segment (pairs for Dict roots). */
|
|
161
|
+
counts: number[];
|
|
162
|
+
/** Sum of all segment counts. */
|
|
163
|
+
totalCount: number;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Reads the index_section + footer from the tail of a blob.
|
|
167
|
+
*
|
|
168
|
+
* @param data - the whole blob
|
|
169
|
+
* @returns the parsed index, or `null` when the blob carries no footer
|
|
170
|
+
* @throws {Error} When a footer is present but the index is malformed.
|
|
171
|
+
*/
|
|
172
|
+
export declare function readIndex(data: Uint8Array): Beast2Index | null;
|
|
173
|
+
/**
|
|
174
|
+
* Builds a v5 decoder closure for the given type.
|
|
175
|
+
*
|
|
176
|
+
* @param type - the expected root East type (as `EastType` or `EastTypeValue`)
|
|
177
|
+
* @param options - decode options (platform functions for decoded functions)
|
|
178
|
+
* @returns a reusable function decoding v5 beast2 bytes to values of `type`
|
|
179
|
+
*/
|
|
180
|
+
export declare function decodeBeast2V5For(type: EastTypeValue | EastType, options?: Beast2DecodeOptions): (data: Uint8Array) => any;
|
|
181
|
+
/**
|
|
182
|
+
* Builds an async v5 decoder closure — pre-inflates deflate frames with the
|
|
183
|
+
* platform's async decompressor, so it works in browsers without zlib.
|
|
184
|
+
*
|
|
185
|
+
* @param type - the expected root East type (as `EastType` or `EastTypeValue`)
|
|
186
|
+
* @param options - decode options (platform functions for decoded functions)
|
|
187
|
+
* @returns a reusable async function decoding v5 beast2 bytes
|
|
188
|
+
*/
|
|
189
|
+
export declare function decodeBeast2V5ForAsync(type: EastTypeValue | EastType, options?: Beast2DecodeOptions): (data: Uint8Array) => Promise<any>;
|
|
190
|
+
/**
|
|
191
|
+
* Decodes a self-describing v5 blob using its embedded root type.
|
|
192
|
+
*
|
|
193
|
+
* @param data - a v5 beast2 blob
|
|
194
|
+
* @param options - decode options (platform functions for decoded functions)
|
|
195
|
+
* @returns the blob's root type and decoded value
|
|
196
|
+
*/
|
|
197
|
+
export declare function decodeBeast2V5(data: Uint8Array, options?: Beast2DecodeOptions): {
|
|
198
|
+
type: EastTypeValue;
|
|
199
|
+
value: any;
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* Decodes a v5 IRType blob and returns both the IR value and the decoded
|
|
203
|
+
* source map. Backs the version-agnostic `decodeEastIR` / `decodeAsyncEastIR`.
|
|
204
|
+
*
|
|
205
|
+
* @param data - a v5 beast2 blob whose root is a Function/AsyncFunction IR
|
|
206
|
+
* @returns the decoded IR value and the blob's source map
|
|
207
|
+
*/
|
|
208
|
+
export declare function decodeIRWithSourceMapV5(data: Uint8Array): {
|
|
209
|
+
ir: any;
|
|
210
|
+
sourceMap: SourceMap | null;
|
|
211
|
+
};
|
|
212
|
+
export {};
|
|
213
|
+
//# sourceMappingURL=codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/codec.ts"],"names":[],"mappings":"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"}
|