@elaraai/east 1.0.86 → 1.0.88

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 (40) hide show
  1. package/dist/src/analyze_async.d.ts +38 -0
  2. package/dist/src/analyze_async.d.ts.map +1 -0
  3. package/dist/src/analyze_async.js +106 -0
  4. package/dist/src/analyze_async.js.map +1 -0
  5. package/dist/src/codegen/codegen.spec.js +11 -0
  6. package/dist/src/codegen/codegen.spec.js.map +1 -1
  7. package/dist/src/comparison.d.ts +33 -0
  8. package/dist/src/comparison.d.ts.map +1 -1
  9. package/dist/src/comparison.js +123 -0
  10. package/dist/src/comparison.js.map +1 -1
  11. package/dist/src/expr/block.d.ts +3 -1
  12. package/dist/src/expr/block.d.ts.map +1 -1
  13. package/dist/src/expr/block.js +7 -1
  14. package/dist/src/expr/block.js.map +1 -1
  15. package/dist/src/serialization/beast2/codec-build.spec.d.ts +6 -0
  16. package/dist/src/serialization/beast2/codec-build.spec.d.ts.map +1 -0
  17. package/dist/src/serialization/beast2/codec-build.spec.js +69 -0
  18. package/dist/src/serialization/beast2/codec-build.spec.js.map +1 -0
  19. package/dist/src/serialization/beast2/decoded-function.spec.d.ts +6 -0
  20. package/dist/src/serialization/beast2/decoded-function.spec.d.ts.map +1 -0
  21. package/dist/src/serialization/beast2/decoded-function.spec.js +66 -0
  22. package/dist/src/serialization/beast2/decoded-function.spec.js.map +1 -0
  23. package/dist/src/serialization/beast2/shared.d.ts +11 -1
  24. package/dist/src/serialization/beast2/shared.d.ts.map +1 -1
  25. package/dist/src/serialization/beast2/shared.js +13 -3
  26. package/dist/src/serialization/beast2/shared.js.map +1 -1
  27. package/dist/src/serialization/beast2/v4/container.d.ts +42 -1
  28. package/dist/src/serialization/beast2/v4/container.d.ts.map +1 -1
  29. package/dist/src/serialization/beast2/v4/container.js +45 -5
  30. package/dist/src/serialization/beast2/v4/container.js.map +1 -1
  31. package/dist/src/serialization/beast2/v5/codec.d.ts.map +1 -1
  32. package/dist/src/serialization/beast2/v5/codec.js +36 -6
  33. package/dist/src/serialization/beast2/v5/codec.js.map +1 -1
  34. package/dist/src/type_of_type.d.ts +26 -0
  35. package/dist/src/type_of_type.d.ts.map +1 -1
  36. package/dist/src/type_of_type.js +9 -1
  37. package/dist/src/type_of_type.js.map +1 -1
  38. package/dist/src/type_of_type.to_etv.spec.js +76 -1
  39. package/dist/src/type_of_type.to_etv.spec.js.map +1 -1
  40. package/package.json +1 -1
@@ -14,6 +14,7 @@ import { getTypeId } from "../../types.js";
14
14
  import { EAST_IR_SYMBOL, EAST_CAPTURES_SYMBOL, EAST_SOURCE_MAP_SYMBOL, ReturnException, compile_internal } from "../../compile.js";
15
15
  import { printTypeValue } from "../../compile/runtime.js";
16
16
  import { IRType } from "../../ir.js";
17
+ import { markAsync } from "../../analyze_async.js";
17
18
  import { SourceMap, with_source_map } from "../../location.js";
18
19
  /** The IRType schema as an EastTypeValue — module-level singleton shared by
19
20
  * the function encoders/decoders of both codec versions. */
@@ -224,7 +225,17 @@ export function buildPlatformContext(options) {
224
225
  * {@link EAST_SOURCE_MAP_SYMBOL}). This is the codec-independent tail of function
225
226
  * decoding — the caller has already decoded the IR and its capture values.
226
227
  *
227
- * @param ir - the decoded Function or AsyncFunction IR
228
+ * @remarks
229
+ * Before the IR compiles, its nodes are marked with whether each awaits
230
+ * ({@link markAsync}): the compiler reads it, and the IR's wire does not carry
231
+ * it, so a body compiled without it would run every statement synchronously,
232
+ * and a statement after an awaited call would read its promise (#1207). The
233
+ * IR is not checked again, as a build checked it: over a UI payload's types
234
+ * that would make a decode ten to forty times slower. A platform function the
235
+ * decode was not given is stubbed by the compiler, so the value decodes
236
+ * wherever it is read, and only a call needs the platform.
237
+ *
238
+ * @param ir - the decoded Function or AsyncFunction IR, whose nodes are marked in place
228
239
  * @param isAsync - whether the declared type is AsyncFunction
229
240
  * @param captureContext - decoded capture values keyed by capture name
230
241
  * @param typeContext - capture types keyed by capture name
@@ -233,8 +244,7 @@ export function buildPlatformContext(options) {
233
244
  * @returns the compiled callable with re-serialization symbols attached
234
245
  */
235
246
  export function finishDecodedFunction(ir, isAsync, captureContext, typeContext, platformCtx, sourceMap) {
236
- // Compile IR to callable function — mutate in place to avoid object spread allocations
237
- ir.value.isAsync = isAsync;
247
+ markAsync(ir, platformCtx.asyncPlatformFns);
238
248
  // The compile snapshots the AMBIENT source map (compile_internal's
239
249
  // fresh_ctx), so it must run under the map the blob carried: that is the
240
250
  // map the IR's loc_ids index, and the only one that makes a runtime error
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/serialization/beast2/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/serialization/beast2/shared.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,49 @@
17
17
  */
18
18
  import { type EastTypeValue } from "../../../type_of_type.js";
19
19
  import type { EastType, ValueTypeOf } from "../../../types.js";
20
+ import { BufferWriter, BufferReader } from "../../binary-utils.js";
21
+ import { TypeTableBuilder } from "./type-table.js";
20
22
  import type { SourceMap } from "../../../location.js";
21
- import { type Beast2DecodeOptions } from "../shared.js";
23
+ import { type Beast2DecodeOptions, type PlatformDecodeContext } from "../shared.js";
22
24
  export declare const MAGIC_BYTES: Uint8Array<ArrayBuffer>;
25
+ type ValueEncoder = (value: any, writer: BufferWriter, ctx: EncodeContext) => void;
26
+ type ValueDecoder = (reader: BufferReader, ctx: DecodeContext) => any;
27
+ interface EncodeContext {
28
+ indexMap: Map<any, number>;
29
+ typeTable: TypeTableBuilder;
30
+ stringTable: Map<string, number>;
31
+ }
32
+ interface DecodeContext extends PlatformDecodeContext {
33
+ mutableValues: any[];
34
+ typeTable: EastTypeValue[];
35
+ stringTable: string[];
36
+ sourceMap: SourceMap | null;
37
+ /** Freeze every decoded value at construction (task-input decodes). Lives
38
+ * on the context so the shared decoder caches serve frozen and mutable
39
+ * decodes alike. Cleared around Function capture decoding — a closure
40
+ * owns its own state. */
41
+ frozen: boolean;
42
+ }
43
+ /**
44
+ * Build a value encoder closure tree for the given type.
45
+ * The tree is built once and reused for every encode call.
46
+ *
47
+ * @param type - the type to encode
48
+ * @param typeCtx - recursive-type resolution context shared across the tree
49
+ * @returns the encoder closure
50
+ * @internal Exported for the codec's own specs.
51
+ */
52
+ export declare function buildEncoder(type: EastTypeValue, typeCtx?: Map<bigint, ValueEncoder>): ValueEncoder;
53
+ /**
54
+ * Build a value decoder closure tree for the given type.
55
+ * The tree is built once and reused for every decode call.
56
+ *
57
+ * @param type - the type to decode
58
+ * @param typeCtx - recursive-type resolution context shared across the tree
59
+ * @returns the decoder closure
60
+ * @internal Exported for the codec's own specs.
61
+ */
62
+ export declare function buildDecoder(type: EastTypeValue, typeCtx?: Map<bigint, ValueDecoder>): ValueDecoder;
23
63
  /**
24
64
  * Builds a v4-container encoder closure for the given type.
25
65
  *
@@ -74,4 +114,5 @@ export declare function decodeBeast2V4(data: Uint8Array, options?: Beast2DecodeO
74
114
  type: EastTypeValue;
75
115
  value: any;
76
116
  };
117
+ export {};
77
118
  //# sourceMappingURL=container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v4/container.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAe/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,KAAK,mBAAmB,EAA4H,MAAM,cAAc,CAAC;AASlL,eAAO,MAAM,WAAW,yBAAmE,CAAC;AA2pB5F;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,UAAU,CAAA;AAC9H,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAA;AA4EjJ;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,GAAG,CAAA;AAChH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAAA;AAyCnI;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,EAAE,EAAE,GAAG,CAAC;IAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE,CAuBlG;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAGhE;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CAyBnH"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v4/container.ts"],"names":[],"mappings":"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"}
@@ -52,11 +52,46 @@ function verifyMagic(data) {
52
52
  // =============================================================================
53
53
  // Value encoder factory
54
54
  // =============================================================================
55
+ /**
56
+ * The IR's codec for one codec build: built the first time a function type
57
+ * needs it, then shared by every other function type the build reaches. A
58
+ * function value carries its IR, so each function type used to build the whole
59
+ * IRType codec of its own — a type holding many function fields paid for it
60
+ * once per field, and UIComponentType holds 727. It is built in the build's own
61
+ * recursion context, as each function type's was: the value table's entries
62
+ * resolve the IR's recursive types through that context. The context is the
63
+ * key, since a build threads one through every call.
64
+ */
65
+ const irEncoderOfBuild = new WeakMap();
66
+ const irDecoderOfBuild = new WeakMap();
67
+ /** The IR's encoder for the build whose recursion context is `typeCtx`. */
68
+ function irEncoderFor(typeCtx) {
69
+ let enc = irEncoderOfBuild.get(typeCtx);
70
+ if (enc === undefined) {
71
+ enc = buildEncoder(irTypeValue, typeCtx);
72
+ irEncoderOfBuild.set(typeCtx, enc);
73
+ }
74
+ return enc;
75
+ }
76
+ /** The IR's decoder for the build whose recursion context is `typeCtx`. */
77
+ function irDecoderFor(typeCtx) {
78
+ let dec = irDecoderOfBuild.get(typeCtx);
79
+ if (dec === undefined) {
80
+ dec = buildDecoder(irTypeValue, typeCtx);
81
+ irDecoderOfBuild.set(typeCtx, dec);
82
+ }
83
+ return dec;
84
+ }
55
85
  /**
56
86
  * Build a value encoder closure tree for the given type.
57
87
  * The tree is built once and reused for every encode call.
88
+ *
89
+ * @param type - the type to encode
90
+ * @param typeCtx - recursive-type resolution context shared across the tree
91
+ * @returns the encoder closure
92
+ * @internal Exported for the codec's own specs.
58
93
  */
59
- function buildEncoder(type, typeCtx = new Map()) {
94
+ export function buildEncoder(type, typeCtx = new Map()) {
60
95
  switch (type.type) {
61
96
  case "Never":
62
97
  return () => { throw new Error("Cannot encode value of type Never"); };
@@ -136,8 +171,8 @@ function buildEncoder(type, typeCtx = new Map()) {
136
171
  }
137
172
  case "Function":
138
173
  case "AsyncFunction": {
139
- // Build IR encoder in the same typeCtx so recursive types resolve correctly
140
- const fnIrEncoder = buildEncoder(irTypeValue, typeCtx);
174
+ // The build's one IR encoder, in its typeCtx so recursive types resolve.
175
+ const fnIrEncoder = irEncoderFor(typeCtx);
141
176
  const captureEncoderCache = new Map();
142
177
  return (value, writer, ctx) => {
143
178
  const ir = value[EAST_IR_SYMBOL];
@@ -185,8 +220,13 @@ function buildEncoder(type, typeCtx = new Map()) {
185
220
  /**
186
221
  * Build a value decoder closure tree for the given type.
187
222
  * The tree is built once and reused for every decode call.
223
+ *
224
+ * @param type - the type to decode
225
+ * @param typeCtx - recursive-type resolution context shared across the tree
226
+ * @returns the decoder closure
227
+ * @internal Exported for the codec's own specs.
188
228
  */
189
- function buildDecoder(type, typeCtx = new Map()) {
229
+ export function buildDecoder(type, typeCtx = new Map()) {
190
230
  switch (type.type) {
191
231
  case "Never":
192
232
  return () => { throw new Error("Cannot decode value of type Never"); };
@@ -285,7 +325,7 @@ function buildDecoder(type, typeCtx = new Map()) {
285
325
  case "AsyncFunction": {
286
326
  const isAsync = type.type === "AsyncFunction";
287
327
  const fnType = type;
288
- const fnIrDecoder = buildDecoder(irTypeValue, typeCtx);
328
+ const fnIrDecoder = irDecoderFor(typeCtx);
289
329
  const captureDecoderCache = new Map();
290
330
  return (reader, ctx) => {
291
331
  // The IR itself must never decode frozen — decoded functions compile
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v4/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v4/container.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/codec.ts"],"names":[],"mappings":"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"}
@@ -159,6 +159,36 @@ function beginContainer(value, writer, ctx) {
159
159
  ctx.containerIndex.set(value, ctx.containerCount++);
160
160
  return true;
161
161
  }
162
+ /**
163
+ * The IR's codec for one codec build: built the first time a function type
164
+ * needs it, then shared by every other function type the build reaches. A
165
+ * function value carries its IR, so each function type used to build the whole
166
+ * IRType codec of its own — a type holding many function fields paid for it
167
+ * once per field, and UIComponentType holds 727, which made its encoder
168
+ * ~170 MB and ~170 ms to build. The IR's codec is built in the build's own
169
+ * recursion context, as each function type's was; the context is the key,
170
+ * since a build threads one through every call.
171
+ */
172
+ const irEncoderOfBuild = new WeakMap();
173
+ const irDecoderOfBuild = new WeakMap();
174
+ /** The IR's encoder for the build whose recursion context is `typeCtx`. */
175
+ function irEncoderFor(typeCtx) {
176
+ let enc = irEncoderOfBuild.get(typeCtx);
177
+ if (enc === undefined) {
178
+ enc = buildV5Encoder(irTypeValue, typeCtx);
179
+ irEncoderOfBuild.set(typeCtx, enc);
180
+ }
181
+ return enc;
182
+ }
183
+ /** The IR's decoder for the build whose recursion context is `typeCtx`. */
184
+ function irDecoderFor(typeCtx) {
185
+ let dec = irDecoderOfBuild.get(typeCtx);
186
+ if (dec === undefined) {
187
+ dec = buildV5Decoder(irTypeValue, typeCtx);
188
+ irDecoderOfBuild.set(typeCtx, dec);
189
+ }
190
+ return dec;
191
+ }
162
192
  /**
163
193
  * Builds a v5 value encoder closure tree for the given type.
164
194
  *
@@ -300,7 +330,7 @@ export function buildV5Encoder(type, typeCtx = new Map()) {
300
330
  }
301
331
  case "Function":
302
332
  case "AsyncFunction": {
303
- const fnIrEncoder = buildV5Encoder(irTypeValue, typeCtx);
333
+ const fnIrEncoder = irEncoderFor(typeCtx);
304
334
  const captureEncoderCache = new Map();
305
335
  return (value, writer, ctx) => {
306
336
  const ir = value[EAST_IR_SYMBOL];
@@ -577,7 +607,7 @@ export function buildV5Decoder(type, typeCtx = new Map()) {
577
607
  case "AsyncFunction": {
578
608
  const isAsync = type.type === "AsyncFunction";
579
609
  const fnType = type;
580
- const fnIrDecoder = buildV5Decoder(irTypeValue, typeCtx);
610
+ const fnIrDecoder = irDecoderFor(typeCtx);
581
611
  const captureDecoderCache = new Map();
582
612
  return (reader, ctx) => {
583
613
  // Inline source-map delta.
@@ -585,10 +615,10 @@ export function buildV5Decoder(type, typeCtx = new Map()) {
585
615
  for (let i = 0; i < newStacks; i++) {
586
616
  ctx.sourceMap.intern_stack(readStack(reader));
587
617
  }
588
- // The IR itself must never decode frozen — finishDecodedFunction
589
- // stamps it in place before compiling — and captured values stay
590
- // mutable (a closure owns its own state). Containers a capture merely
591
- // aliases from the frozen graph resolve by REF and keep their brand.
618
+ // The IR itself must never decode frozen — decoded functions compile
619
+ // their IR — and captured values stay mutable (a closure owns its own
620
+ // state). Containers a capture merely aliases from the frozen graph
621
+ // resolve by REF and keep their brand.
592
622
  const wasFrozen = ctx.frozen;
593
623
  ctx.frozen = false;
594
624
  try {