@elaraai/east-node-cli 1.0.57 → 1.0.59

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/README.md CHANGED
@@ -96,6 +96,25 @@ Options:
96
96
  | `.east` | Text East format |
97
97
  | `.json` | JSON format |
98
98
 
99
+ ## Large Inputs
100
+
101
+ Indexed `.beast2` collection inputs (Array/Set/Dict) at or above 64 MiB open
102
+ **lazily by default**: size, single-pass iteration, and keyed reads are served
103
+ from the blob's segment index with O(segment) decoded memory, and any other
104
+ operation transparently decodes the whole value once. Semantics are identical
105
+ to an eager decode, so the threshold is a memory knob, not a behavior toggle.
106
+
107
+ Control it with the `EAST_LAZY_INPUT_BYTES` environment variable: a byte
108
+ threshold, or `0` to disable lazy opening entirely. The `--stream` input of a
109
+ streaming task always opens lazily regardless of size.
110
+
111
+ Lazy opening applies only to **value-semantic element shapes** (scalars,
112
+ structs, variants). An element type that transitively contains an Array, Set,
113
+ Dict or Ref — which East mutates in place through read-out elements — or a
114
+ Vector/Matrix/function (identity-compared) always decodes whole, keeping
115
+ writes and identity semantics exactly eager. The same rule applies in the
116
+ east-c and east-py runners.
117
+
99
118
  ## Platform Packages
100
119
 
101
120
  Platform packages provide the runtime implementations for East platform functions:
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkIH,wBAAgB,IAAI,IAAI,IAAI,CA4B3B"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0KH,wBAAgB,IAAI,IAAI,IAAI,CAkC3B"}
package/dist/cli.js CHANGED
@@ -10,6 +10,31 @@ import { runProgram } from './runner.js';
10
10
  import { writeSnapshot, readSnapshot } from './snapshot.js';
11
11
  const require = createRequire(import.meta.url);
12
12
  const pkg = require('../package.json');
13
+ /** Parses the streaming-execution flags into runner options. */
14
+ function streamingOptions(options) {
15
+ const out = {};
16
+ if (options.emit !== undefined) {
17
+ if (options.emit !== 'array' && options.emit !== 'set' && options.emit !== 'dict') {
18
+ throw new Error(`--emit must be one of array, set or dict, got '${options.emit}'`);
19
+ }
20
+ out.emit = options.emit;
21
+ }
22
+ if (options.stream !== undefined) {
23
+ const index = Number(options.stream);
24
+ if (!Number.isInteger(index) || index < 0) {
25
+ throw new Error(`--stream must be a non-negative input index, got '${options.stream}'`);
26
+ }
27
+ out.streamInput = index;
28
+ }
29
+ if (options.lazyInputs !== undefined) {
30
+ const bytes = Number(options.lazyInputs);
31
+ if (!Number.isFinite(bytes) || bytes < 0) {
32
+ throw new Error(`--lazy-inputs must be a byte threshold (0 disables), got '${options.lazyInputs}'`);
33
+ }
34
+ out.lazyInputBytes = bytes;
35
+ }
36
+ return out;
37
+ }
13
38
  async function cmdRun(irFile, options) {
14
39
  try {
15
40
  // --from-snapshot is exclusive with <ir_file>, -i, -p
@@ -22,7 +47,7 @@ async function cmdRun(irFile, options) {
22
47
  const ex = await readSnapshot(options.fromSnapshot);
23
48
  try {
24
49
  const platformFns = await loadPlatforms(ex.packages);
25
- await runProgram(ex.irPath, platformFns, ex.packages, ex.inputPaths, options.output, options.verbose ?? false);
50
+ await runProgram(ex.irPath, platformFns, ex.packages, ex.inputPaths, options.output, { verbose: options.verbose ?? false, ...streamingOptions(options) });
26
51
  }
27
52
  finally {
28
53
  ex.cleanup();
@@ -39,6 +64,14 @@ async function cmdRun(irFile, options) {
39
64
  console.error('Example: east-node run program.beast2 -p @elaraai/east-node-std');
40
65
  process.exit(1);
41
66
  }
67
+ // The manifest carries no streaming flags (format v1), so a captured
68
+ // emit/stream invocation would replay with the wrong arity — refuse
69
+ // at capture with the fix instead of failing confusingly at replay.
70
+ if (options.snapshot && (options.emit !== undefined || options.stream !== undefined)) {
71
+ console.error('Error: --snapshot does not capture --emit/--stream (snapshot format v1 has no ' +
72
+ 'streaming flags); replay with --from-snapshot passing --emit/--stream explicitly');
73
+ process.exit(1);
74
+ }
42
75
  // Write the snapshot BEFORE execution so crashes still leave the bundle behind.
43
76
  if (options.snapshot) {
44
77
  await writeSnapshot({
@@ -52,7 +85,7 @@ async function cmdRun(irFile, options) {
52
85
  console.error(`Snapshot: ${options.snapshot}`);
53
86
  }
54
87
  const platformFns = await loadPlatforms(packages);
55
- await runProgram(irFile, platformFns, packages, options.input ?? [], options.output, options.verbose ?? false);
88
+ await runProgram(irFile, platformFns, packages, options.input ?? [], options.output, { verbose: options.verbose ?? false, ...streamingOptions(options) });
56
89
  }
57
90
  catch (err) {
58
91
  if (err instanceof EastError) {
@@ -111,6 +144,9 @@ export function main() {
111
144
  .option('-v, --verbose', 'Enable verbose output')
112
145
  .option('--snapshot <path>', 'Write a .east-snapshot bundle (IR + inputs + manifest)')
113
146
  .option('--from-snapshot <path>', 'Replay from a .east-snapshot bundle (exclusive with <ir_file>, -i, -p)')
147
+ .option('--emit <kind>', "Write the output incrementally from the function's trailing emit parameter (array|set|dict)")
148
+ .option('--stream <index>', 'Feed the given -i input (0-based) lazily, segment-by-segment')
149
+ .option('--lazy-inputs <bytes>', 'Open indexed collection inputs at or above this size lazily (0 disables; default 64 MiB)')
114
150
  .action(cmdRun);
115
151
  program
116
152
  .command('version')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/loader.d.ts CHANGED
@@ -75,4 +75,26 @@ export declare function loadEastIR(filePath: string): EastIR<any, any> | AsyncEa
75
75
  * @returns Decoded value
76
76
  */
77
77
  export declare function loadInput(filePath: string, type: EastTypeValue): unknown;
78
+ /**
79
+ * Opens an input file as a lazy pager-backed collection value, when it can
80
+ * be: a beast2 v5 collection blob carrying a segment index. Size, iteration
81
+ * and keyed reads are then served from the index with O(segment) decoded
82
+ * memory; any other operation hydrates transparently to the eager value's
83
+ * exact semantics.
84
+ *
85
+ * Returns `undefined` when the file cannot be served lazily (a non-beast2
86
+ * format, a v4 or index-less blob, a non-collection root, or an element
87
+ * shape the lazy contract excludes — see below) — the caller falls back to
88
+ * {@link loadInput}.
89
+ *
90
+ * Element shapes that transitively contain a mutable container
91
+ * (Array/Set/Dict/Ref) or an identity-compared kind (Vector/Matrix,
92
+ * functions) always decode eagerly: East's runtime is reference-semantic for
93
+ * nested containers, so a write through a lazily-served (freshly decoded)
94
+ * element would be silently dropped. {@link isBeast2LazySafe} is the gate.
95
+ *
96
+ * @param filePath - Path to the input file
97
+ * @returns The lazy collection value, or `undefined` to fall back
98
+ */
99
+ export declare function loadInputLazy(filePath: string): unknown | undefined;
78
100
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAQH,MAAM,EACN,WAAW,EACX,KAAK,aAAa,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAWhF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,GAAG,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAsDD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAyCnF;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsB7F;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CASvF;AAmDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAgCxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAuBrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAoBxE"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAWH,MAAM,EACN,WAAW,EACX,KAAK,aAAa,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAWhF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,GAAG,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAsDD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAyCnF;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsB7F;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CASvF;AAmDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAgCxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAuBrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAoBxE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAUnE"}
package/dist/loader.js CHANGED
@@ -7,7 +7,7 @@ import { createRequire } from 'module';
7
7
  import * as path from 'path';
8
8
  import { extname } from 'path';
9
9
  import { fileURLToPath, pathToFileURL } from 'url';
10
- import { IRType, decodeBeast2For, decodeBeast2, decodeEastFor, decodeJSONFor, decodeEastIR, decodeAsyncEastIR, EastIR, AsyncEastIR, } from '@elaraai/east';
10
+ import { IRType, decodeBeast2For, decodeBeast2, decodeEastFor, decodeJSONFor, decodeEastIR, decodeAsyncEastIR, readBeast2Extents, openBeast2LazyFor, isBeast2LazySafe, EastIR, AsyncEastIR, } from '@elaraai/east';
11
11
  // Decoder for IR from beast2 format (self-describing)
12
12
  const decodeIRFromBeast2 = decodeBeast2For(IRType);
13
13
  // Decoder for IR from east text format
@@ -295,4 +295,39 @@ export function loadInput(filePath, type) {
295
295
  }
296
296
  }
297
297
  }
298
+ /**
299
+ * Opens an input file as a lazy pager-backed collection value, when it can
300
+ * be: a beast2 v5 collection blob carrying a segment index. Size, iteration
301
+ * and keyed reads are then served from the index with O(segment) decoded
302
+ * memory; any other operation hydrates transparently to the eager value's
303
+ * exact semantics.
304
+ *
305
+ * Returns `undefined` when the file cannot be served lazily (a non-beast2
306
+ * format, a v4 or index-less blob, a non-collection root, or an element
307
+ * shape the lazy contract excludes — see below) — the caller falls back to
308
+ * {@link loadInput}.
309
+ *
310
+ * Element shapes that transitively contain a mutable container
311
+ * (Array/Set/Dict/Ref) or an identity-compared kind (Vector/Matrix,
312
+ * functions) always decode eagerly: East's runtime is reference-semantic for
313
+ * nested containers, so a write through a lazily-served (freshly decoded)
314
+ * element would be silently dropped. {@link isBeast2LazySafe} is the gate.
315
+ *
316
+ * @param filePath - Path to the input file
317
+ * @returns The lazy collection value, or `undefined` to fall back
318
+ */
319
+ export function loadInputLazy(filePath) {
320
+ if (getFileFormat(filePath) !== 'beast2')
321
+ return undefined;
322
+ const data = readFileSync(filePath);
323
+ try {
324
+ const extents = readBeast2Extents(data);
325
+ if (!isBeast2LazySafe(extents.typeValue))
326
+ return undefined;
327
+ return openBeast2LazyFor(extents.typeValue)(data);
328
+ }
329
+ catch {
330
+ return undefined;
331
+ }
332
+ }
298
333
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
package/dist/runner.d.ts CHANGED
@@ -3,8 +3,35 @@
3
3
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
4
  */
5
5
  import type { PlatformFunction } from '@elaraai/east/internal';
6
+ /** Streaming-execution options accepted by {@link runProgram}. */
7
+ export interface RunProgramOptions {
8
+ /** Enable verbose timing/memory output on stderr. */
9
+ verbose?: boolean;
10
+ /** Write the output incrementally from the function's trailing `emit`
11
+ * parameter instead of its return value. The value names the output
12
+ * collection kind; element/key/value types come from the emit
13
+ * parameter's function type. */
14
+ emit?: 'array' | 'set' | 'dict';
15
+ /** Feed the given `-i` input (0-based) lazily — segment-by-segment
16
+ * iteration with O(segment) decoded memory — regardless of size.
17
+ * Element shapes the lazy contract excludes (nested mutable
18
+ * containers, vectors/matrices, functions) decode whole instead. */
19
+ streamInput?: number;
20
+ /** Open indexed beast2 collection inputs at or above this many bytes as
21
+ * lazy pager-backed values (0 disables). Defaults to 64 MiB, or the
22
+ * `EAST_LAZY_INPUT_BYTES` environment variable. Applies only to
23
+ * shape-gate-safe element types (see `loadInputLazy`) — others always
24
+ * decode whole. */
25
+ lazyInputBytes?: number;
26
+ }
27
+ /** Resolves the lazy-open threshold: explicit option, else environment, else
28
+ * the default. An unset or empty `EAST_LAZY_INPUT_BYTES` falls through to
29
+ * the 64 MiB default (`Number('')` is `0`, which would silently DISABLE
30
+ * lazy opening); invalid or negative values fall through too, matching
31
+ * east-c and east-py. Exported for the spec only. @internal */
32
+ export declare function lazyThreshold(options: RunProgramOptions): number;
6
33
  /**
7
34
  * Runs an East IR program.
8
35
  */
9
- export declare function runProgram(irPath: string, platformFns: PlatformFunction[], packages: string[], inputPaths: string[], outputPath?: string, verbose?: boolean): Promise<unknown>;
36
+ export declare function runProgram(irPath: string, platformFns: PlatformFunction[], packages: string[], inputPaths: string[], outputPath?: string, options?: RunProgramOptions | boolean): Promise<unknown>;
10
37
  //# sourceMappingURL=runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,wBAAwB,CAAC;AAiB9E;;GAEG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,gBAAgB,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAAE,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,OAAO,CAAC,CA2ElB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,wBAAwB,CAAC;AAiB9E,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAC9B,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;qCAGiC;IACjC,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAChC;;;yEAGqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;wBAIoB;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAKD;;;;gEAIgE;AAChE,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAQhE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,gBAAgB,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAAE,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,iBAAiB,GAAG,OAAY,GAC1C,OAAO,CAAC,OAAO,CAAC,CA6GlB"}
package/dist/runner.js CHANGED
@@ -2,11 +2,11 @@
2
2
  * Copyright (c) 2025 Elara AI Pty Ltd
3
3
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
4
  */
5
- import { writeFileSync, statSync } from 'fs';
5
+ import { closeSync, openSync, writeFileSync, writeSync, statSync } from 'fs';
6
6
  import { extname } from 'path';
7
- import { EastIR, encodeBeast2For, encodeBeast2PagedFor, encodeEastFor, encodeJSONFor, printFor, } from '@elaraai/east';
7
+ import { EastIR, Beast2Writer, BEAST2_PAGED_BATCH_DEFAULT, BEAST2_PAGED_TARGET_BYTES_DEFAULT, compareFor, encodeBeast2For, encodeBeast2PagedFor, encodeEastFor, encodeJSONFor, printFor, variant, } from '@elaraai/east';
8
8
  import { printTypeValue } from '@elaraai/east/internal';
9
- import { loadEastIR, loadInput } from './loader.js';
9
+ import { loadEastIR, loadInput, loadInputLazy } from './loader.js';
10
10
  function now() { return process.hrtime.bigint(); }
11
11
  function elapsed(start, end) { return Number(end - start) / 1e6; }
12
12
  function formatSize(bytes) {
@@ -24,10 +24,31 @@ function formatFileSize(path) {
24
24
  return '?';
25
25
  }
26
26
  }
27
+ /** Default size threshold above which collection inputs open lazily. */
28
+ const LAZY_INPUT_BYTES_DEFAULT = 64 * 1024 * 1024;
29
+ /** Resolves the lazy-open threshold: explicit option, else environment, else
30
+ * the default. An unset or empty `EAST_LAZY_INPUT_BYTES` falls through to
31
+ * the 64 MiB default (`Number('')` is `0`, which would silently DISABLE
32
+ * lazy opening); invalid or negative values fall through too, matching
33
+ * east-c and east-py. Exported for the spec only. @internal */
34
+ export function lazyThreshold(options) {
35
+ if (options.lazyInputBytes !== undefined)
36
+ return options.lazyInputBytes;
37
+ const raw = process.env.EAST_LAZY_INPUT_BYTES;
38
+ if (raw !== undefined && raw !== '') {
39
+ const env = Number(raw);
40
+ if (Number.isFinite(env) && env >= 0)
41
+ return env;
42
+ }
43
+ return LAZY_INPUT_BYTES_DEFAULT;
44
+ }
27
45
  /**
28
46
  * Runs an East IR program.
29
47
  */
30
- export async function runProgram(irPath, platformFns, packages, inputPaths, outputPath, verbose = false) {
48
+ export async function runProgram(irPath, platformFns, packages, inputPaths, outputPath, options = {}) {
49
+ // Callers predating streaming execution pass `verbose` as a boolean.
50
+ const opts = typeof options === 'boolean' ? { verbose: options } : options;
51
+ const verbose = opts.verbose ?? false;
31
52
  const t0 = now();
32
53
  // Load as an EastIR bundle so source_map travels with the IR and error
33
54
  // frames resolve end-to-end.
@@ -37,10 +58,28 @@ export async function runProgram(irPath, platformFns, packages, inputPaths, outp
37
58
  // Get the function's input/output types from the IR.
38
59
  const inputTypes = ir?.value?.type?.value?.inputs ?? [];
39
60
  const outputType = (ir?.value?.type?.value?.output ?? null);
40
- // Validate input count
41
- if (inputPaths.length !== inputTypes.length) {
42
- throw new Error(`Function expects ${inputTypes.length} input(s), but ${inputPaths.length} input file(s) provided`);
61
+ // With emit, the function takes one trailing runner-provided parameter
62
+ // beyond the input files: the emit capability. A zero-parameter function
63
+ // has no trailing parameter to be it — the shaped emit error, not a
64
+ // negative arity count.
65
+ if (opts.emit !== undefined && inputTypes.length === 0) {
66
+ throw new Error(`--emit requires the function's trailing parameter to be the emit capability (a function type), but the function takes no parameters`);
67
+ }
68
+ const fileParamCount = opts.emit !== undefined ? inputTypes.length - 1 : inputTypes.length;
69
+ if (inputPaths.length !== fileParamCount) {
70
+ throw new Error(`Function expects ${fileParamCount} input(s), but ${inputPaths.length} input file(s) provided`);
71
+ }
72
+ if (opts.emit !== undefined && (outputPath === undefined || extname(outputPath).toLowerCase() !== '.beast2')) {
73
+ // east-c / east-py parity: the emitted blob is a beast2 stream, so
74
+ // any other output extension is refused up front.
75
+ throw new Error(`--emit requires a .beast2 output file (-o)`);
76
+ }
77
+ if (opts.streamInput !== undefined && (opts.streamInput < 0 || opts.streamInput >= inputPaths.length)) {
78
+ throw new Error(`--stream index ${opts.streamInput} out of range (${inputPaths.length} inputs)`);
43
79
  }
80
+ const emitSink = opts.emit !== undefined
81
+ ? createEmitSink(opts.emit, inputTypes[inputTypes.length - 1], outputPath)
82
+ : null;
44
83
  // Verbose header
45
84
  if (verbose) {
46
85
  console.error(`Running: ${irPath} (${formatFileSize(irPath)})`);
@@ -50,21 +89,31 @@ export async function runProgram(irPath, platformFns, packages, inputPaths, outp
50
89
  console.error(` - ${p}`);
51
90
  }
52
91
  console.error(`Function: ${inputTypes.length} inputs, ${isAsync ? 'async' : 'sync'}`);
53
- for (let i = 0; i < inputTypes.length; i++) {
92
+ for (let i = 0; i < fileParamCount; i++) {
54
93
  const t = printTypeValue(inputTypes[i]);
55
94
  console.error(` input ${i}: ${inputPaths[i]} (${formatFileSize(inputPaths[i])})`);
56
95
  console.error(` ${t}`);
57
96
  }
97
+ if (emitSink)
98
+ console.error(` emit: ${opts.emit} sink -> ${outputPath}`);
58
99
  if (outputType) {
59
100
  console.error(` return:`);
60
101
  console.error(` ${printTypeValue(outputType)}`);
61
102
  }
62
103
  }
63
- // Load inputs
104
+ // Load inputs. The streamed input always opens lazily; other beast2
105
+ // collection inputs open lazily at or above the size threshold, so a
106
+ // sparse read into a huge indexed input stops paying a whole decode.
107
+ const threshold = lazyThreshold(opts);
64
108
  const inputs = [];
65
109
  for (let i = 0; i < inputPaths.length; i++) {
66
- inputs.push(loadInput(inputPaths[i], inputTypes[i]));
110
+ const wantLazy = i === opts.streamInput ||
111
+ (threshold > 0 && statSync(inputPaths[i]).size >= threshold);
112
+ const lazy = wantLazy ? loadInputLazy(inputPaths[i]) : undefined;
113
+ inputs.push(lazy !== undefined ? lazy : loadInput(inputPaths[i], inputTypes[i]));
67
114
  }
115
+ if (emitSink)
116
+ inputs.push(emitSink.emit);
68
117
  const t1 = now();
69
118
  let result;
70
119
  if (!isAsync) {
@@ -72,7 +121,9 @@ export async function runProgram(irPath, platformFns, packages, inputPaths, outp
72
121
  const t2 = now();
73
122
  result = compiled(...inputs);
74
123
  const t3 = now();
75
- const t4 = maybeWriteOutput(outputPath, result, outputType, verbose);
124
+ const t4 = emitSink
125
+ ? finishEmit(emitSink, outputPath, verbose)
126
+ : maybeWriteOutput(outputPath, result, outputType, verbose);
76
127
  const t5 = now();
77
128
  if (verbose)
78
129
  printTimingAndMemory(t0, t1, t2, t3, t4, t5);
@@ -82,13 +133,108 @@ export async function runProgram(irPath, platformFns, packages, inputPaths, outp
82
133
  const t2 = now();
83
134
  result = await compiled(...inputs);
84
135
  const t3 = now();
85
- const t4 = maybeWriteOutput(outputPath, result, outputType, verbose);
136
+ const t4 = emitSink
137
+ ? finishEmit(emitSink, outputPath, verbose)
138
+ : maybeWriteOutput(outputPath, result, outputType, verbose);
86
139
  const t5 = now();
87
140
  if (verbose)
88
141
  printTimingAndMemory(t0, t1, t2, t3, t4, t5);
89
142
  }
90
143
  return outputPath ? undefined : result;
91
144
  }
145
+ /**
146
+ * Builds the emit capability: a host function value that validates the
147
+ * canonical emission order (strictly ascending Set elements / Dict keys),
148
+ * re-batches elements byte-adaptively, and appends segments to the output
149
+ * file through a streaming writer — O(batch) memory end to end.
150
+ */
151
+ function createEmitSink(kind, emitParamType, outputPath) {
152
+ if (emitParamType.type !== 'Function') {
153
+ throw new Error(`--emit requires the function's trailing parameter to be the emit capability (a function type), got ${emitParamType.type}`);
154
+ }
155
+ const emitInputs = emitParamType.value.inputs;
156
+ const expectedArity = kind === 'dict' ? 2 : 1;
157
+ if (emitInputs.length !== expectedArity) {
158
+ throw new Error(`--emit ${kind} expects an emit parameter taking ${expectedArity} argument(s), got ${emitInputs.length}`);
159
+ }
160
+ // The output collection's wire type is reconstructed from the emit
161
+ // parameter's argument types.
162
+ const outTypeValue = kind === 'dict' ? variant('Dict', { key: emitInputs[0], value: emitInputs[1] }) :
163
+ kind === 'set' ? variant('Set', emitInputs[0]) :
164
+ variant('Array', emitInputs[0]);
165
+ const fd = openSync(outputPath, 'w');
166
+ let bytesWritten = 0;
167
+ let headerBytes = -1;
168
+ const writer = new Beast2Writer(outTypeValue, (bytes) => {
169
+ // writeSync may return a short count; loop until the chunk is fully
170
+ // on disk — a silently truncated write would corrupt the blob while
171
+ // the process still exits 0.
172
+ let written = 0;
173
+ while (written < bytes.length) {
174
+ written += writeSync(fd, bytes, written, bytes.length - written);
175
+ }
176
+ if (headerBytes < 0)
177
+ headerBytes = bytes.length;
178
+ bytesWritten += bytes.length;
179
+ });
180
+ // Canonical-order enforcement per element, ahead of the writer's own
181
+ // batch-level check, so a violation names the offending emit call and a
182
+ // duplicate key cannot collapse silently inside a batch container.
183
+ const orderCmp = kind === 'array' ? null : compareFor(emitInputs[0]);
184
+ let hasLast = false;
185
+ let lastKey;
186
+ // Byte-adaptive re-batching toward the paged-encode segment target,
187
+ // refined from the writer's actual output as segments flush.
188
+ let batch = [];
189
+ let written = 0;
190
+ let nextBatch = BEAST2_PAGED_BATCH_DEFAULT;
191
+ const flush = () => {
192
+ if (batch.length === 0)
193
+ return;
194
+ const value = kind === 'dict'
195
+ ? new Map(batch)
196
+ : kind === 'set' ? new Set(batch) : batch;
197
+ writer.write(value);
198
+ written += batch.length;
199
+ batch = [];
200
+ const body = Math.max(1, bytesWritten - Math.max(0, headerBytes));
201
+ const avg = Math.max(1, body / written);
202
+ nextBatch = Math.max(1, Math.min(BEAST2_PAGED_BATCH_DEFAULT, Math.floor(BEAST2_PAGED_TARGET_BYTES_DEFAULT / avg)));
203
+ };
204
+ const emit = (...args) => {
205
+ const key = args[0];
206
+ if (orderCmp !== null) {
207
+ if (hasLast && orderCmp(lastKey, key) >= 0) {
208
+ throw new Error(`beast2 v5: ${kind === 'dict' ? 'Dict' : 'Set'} stream batches must be strictly ascending in East ` +
209
+ `${kind === 'dict' ? 'key' : 'element'} order — segment content is the canonical value; ` +
210
+ `emit in ascending ${kind === 'dict' ? 'key' : 'element'} order, or emit arrival order as an Array`);
211
+ }
212
+ lastKey = key;
213
+ hasLast = true;
214
+ }
215
+ batch.push(kind === 'dict' ? [args[0], args[1]] : args[0]);
216
+ if (batch.length >= nextBatch)
217
+ flush();
218
+ return null;
219
+ };
220
+ return {
221
+ emit,
222
+ finish: () => {
223
+ flush();
224
+ writer.finish();
225
+ closeSync(fd);
226
+ },
227
+ };
228
+ }
229
+ /** Finalizes the emit sink and reports the output like the return-value path. */
230
+ function finishEmit(sink, outputPath, verbose) {
231
+ sink.finish();
232
+ const t = now();
233
+ if (verbose) {
234
+ console.error(`Output: ${outputPath} (${formatFileSize(outputPath)})`);
235
+ }
236
+ return t;
237
+ }
92
238
  function maybeWriteOutput(outputPath, result, outputType, verbose) {
93
239
  if (!outputPath) {
94
240
  // Print to stdout as .east format (matches east-c / east-py)
@@ -120,30 +266,19 @@ function printTimingAndMemory(t0, t1, t2, t3, t4, t5) {
120
266
  console.error('\nMemory:');
121
267
  console.error(` Peak RSS: ${rssMB.toFixed(1).padStart(8)} MB`);
122
268
  }
123
- /** Collection outputs above this element count are written segmented +
124
- * indexed so e3's paged dataset reads can seek instead of whole-decoding.
125
- * At or below it, the whole-value encode is kept byte-for-byte. */
126
- const OUTPUT_SEGMENT_THRESHOLD = 1_000;
127
- /** Element count of a collection value for a collection root type, or null
128
- * when the output type is not a collection root. */
129
- function collectionElementCount(value, type) {
130
- switch (type.type) {
131
- case 'Array':
132
- return value.length;
133
- case 'Set':
134
- case 'Dict':
135
- return value.size;
136
- default:
137
- return null;
138
- }
269
+ /** Whether an output root type is a collection (Array/Set/Dict). */
270
+ function isCollectionRoot(type) {
271
+ return type.type === 'Array' || type.type === 'Set' || type.type === 'Dict';
139
272
  }
140
273
  function writeOutput(filePath, value, type) {
141
274
  const ext = extname(filePath).toLowerCase();
142
275
  switch (ext) {
143
276
  case '.beast2':
144
277
  case '.beast': {
145
- const count = collectionElementCount(value, type);
146
- const encoder = count !== null && count > OUTPUT_SEGMENT_THRESHOLD
278
+ // Collection-rooted outputs are ALWAYS segmented + indexed
279
+ // (byte-adaptive segments) so e3's paged dataset reads can seek —
280
+ // one uniform encoding per logical value, at every size.
281
+ const encoder = isCollectionRoot(type)
147
282
  ? encodeBeast2PagedFor(type)
148
283
  : encodeBeast2For(type);
149
284
  writeFileSync(filePath, encoder(value));
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
@@ -3,18 +3,17 @@
3
3
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
4
  */
5
5
  /**
6
- * Output-encoding policy of the runner: collection outputs above the
7
- * segmentation threshold are written segmented + indexed (pageable by e3's
8
- * paged dataset reads); small outputs keep the whole-value encode
9
- * byte-for-byte.
6
+ * Output-encoding policy of the runner: collection-rooted outputs are ALWAYS
7
+ * written segmented + indexed (pageable by e3's paged dataset reads), at
8
+ * every size — one uniform encoding per logical value.
10
9
  */
11
10
  import { describe, it, beforeEach, afterEach } from 'node:test';
12
11
  import assert from 'node:assert/strict';
13
12
  import { mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
14
13
  import { tmpdir } from 'node:os';
15
14
  import { join } from 'node:path';
16
- import { ArrayType, IntegerType, East, decodeBeast2For, encodeBeast2For, encodeEastIR, openBeast2PagesFor, } from '@elaraai/east';
17
- import { runProgram } from './runner.js';
15
+ import { ArrayType, DictType, FunctionType, IntegerType, NullType, StringType, StructType, East, SortedMap, compareFor, decodeBeast2For, encodeBeast2PagedFor, encodeEastIR, openBeast2PagesFor, } from '@elaraai/east';
16
+ import { runProgram, lazyThreshold } from './runner.js';
18
17
  describe('runner output encoding', () => {
19
18
  let tempDir;
20
19
  beforeEach(() => {
@@ -42,12 +41,159 @@ describe('runner output encoding', () => {
42
41
  assert.deepEqual(pages.slice(900, 200), expected.slice(900, 1100), 'window spans segments');
43
42
  assert.deepEqual(decodeBeast2For(AT)(output), expected, 'whole decode equals the result');
44
43
  });
45
- it('keeps small collection outputs byte-identical to the whole-value encode', async () => {
44
+ it('writes small collection outputs segmented and indexed too', async () => {
46
45
  const output = await runToOutput(100n);
47
46
  const AT = ArrayType(IntegerType);
48
47
  const expected = Array.from({ length: 100 }, (_, i) => BigInt(i));
49
- assert.deepEqual(Array.from(output), Array.from(encodeBeast2For(AT)(expected)));
50
- assert.throws(() => openBeast2PagesFor(AT)(output), /no index/);
48
+ const pages = openBeast2PagesFor(AT)(output);
49
+ assert.equal(pages.segmentCount, 1);
50
+ assert.equal(pages.elementCount, 100);
51
+ assert.deepEqual(pages.slice(0, 100), expected);
52
+ assert.deepEqual(decodeBeast2For(AT)(output), expected, 'whole decode equals the result');
53
+ });
54
+ });
55
+ describe('runner streaming execution', () => {
56
+ let tempDir;
57
+ beforeEach(() => {
58
+ tempDir = mkdtempSync(join(tmpdir(), 'east-node-stream-'));
59
+ });
60
+ afterEach(() => {
61
+ rmSync(tempDir, { recursive: true, force: true });
62
+ });
63
+ function writeIr(fn) {
64
+ const irPath = join(tempDir, 'program.beast2');
65
+ writeFileSync(irPath, encodeEastIR(fn.toIR()));
66
+ return irPath;
67
+ }
68
+ it('a producer body emits an indexed Array output incrementally', async () => {
69
+ const fn = East.function([FunctionType([IntegerType], NullType)], NullType, ($, emit) => {
70
+ $.for(East.Array.range(0n, 2500n), ($, i) => {
71
+ $(emit(i.multiply(2n)));
72
+ });
73
+ });
74
+ const outputPath = join(tempDir, 'output.beast2');
75
+ await runProgram(writeIr(fn), [], [], [], outputPath, { emit: 'array' });
76
+ const output = new Uint8Array(readFileSync(outputPath));
77
+ const pages = openBeast2PagesFor(ArrayType(IntegerType))(output);
78
+ assert.equal(pages.elementCount, 2500);
79
+ assert.ok(pages.selfContained);
80
+ assert.equal(pages.element(1234), 2468n);
81
+ const expected = Array.from({ length: 2500 }, (_, i) => BigInt(i * 2));
82
+ assert.deepEqual(decodeBeast2For(ArrayType(IntegerType))(output), expected);
83
+ });
84
+ it('a stream input folds through emit with the input opened lazily', async () => {
85
+ const AT = ArrayType(IntegerType);
86
+ const events = Array.from({ length: 2500 }, (_, i) => BigInt(i));
87
+ const inputPath = join(tempDir, 'events.beast2');
88
+ writeFileSync(inputPath, encodeBeast2PagedFor(AT, { batchSize: 500 })(events));
89
+ const fn = East.function([AT, FunctionType([IntegerType], NullType)], NullType, ($, events, emit) => {
90
+ const acc = $.let(0n);
91
+ $.for(events, ($, v) => {
92
+ $.assign(acc, acc.add(v));
93
+ $(emit(acc));
94
+ });
95
+ });
96
+ const outputPath = join(tempDir, 'output.beast2');
97
+ await runProgram(writeIr(fn), [], [], [inputPath], outputPath, { emit: 'array', streamInput: 0 });
98
+ const decoded = decodeBeast2For(AT)(new Uint8Array(readFileSync(outputPath)));
99
+ assert.equal(decoded.length, 2500);
100
+ assert.equal(decoded[0], 0n);
101
+ assert.equal(decoded[2499], (2499n * 2500n) / 2n);
102
+ });
103
+ it('a dict emit enforces strictly ascending key order', async () => {
104
+ const emitType = FunctionType([IntegerType, StringType], NullType);
105
+ const ordered = East.function([emitType], NullType, ($, emit) => {
106
+ $.for(East.Array.range(0n, 1000n), ($, i) => {
107
+ $(emit(i, East.str `row-${i}`));
108
+ });
109
+ });
110
+ const outputPath = join(tempDir, 'output.beast2');
111
+ await runProgram(writeIr(ordered), [], [], [], outputPath, { emit: 'dict' });
112
+ const DT = DictType(IntegerType, StringType);
113
+ const decoded = decodeBeast2For(DT)(new Uint8Array(readFileSync(outputPath)));
114
+ assert.equal(decoded.size, 1000);
115
+ assert.equal(decoded.get(42n), 'row-42');
116
+ const descending = East.function([emitType], NullType, ($, emit) => {
117
+ $(emit(2n, 'b'));
118
+ $(emit(1n, 'a'));
119
+ });
120
+ await assert.rejects(runProgram(writeIr(descending), [], [], [], join(tempDir, 'bad.beast2'), { emit: 'dict' }), /strictly ascending in East key order/);
121
+ });
122
+ it('a lazy dict input serves keyed reads without a whole decode', async () => {
123
+ const DT = DictType(IntegerType, StringType);
124
+ const table = new SortedMap(Array.from({ length: 2000 }, (_, i) => [BigInt(i), `row-${i}`]), compareFor(IntegerType));
125
+ const inputPath = join(tempDir, 'table.beast2');
126
+ writeFileSync(inputPath, encodeBeast2PagedFor(DT, { batchSize: 250 })(table));
127
+ const fn = East.function([DT], StringType, ($, table) => table.get(1234n));
128
+ const outputPath = join(tempDir, 'output.beast2');
129
+ // Threshold of 1 byte forces the lazy open for any input size.
130
+ await runProgram(writeIr(fn), [], [], [inputPath], outputPath, { lazyInputBytes: 1 });
131
+ const result = decodeBeast2For(StringType)(new Uint8Array(readFileSync(outputPath)));
132
+ assert.equal(result, 'row-1234');
133
+ });
134
+ it('the shape gate keeps mutable-nested inputs eager even under the threshold', async () => {
135
+ const NestedT = DictType(IntegerType, StructType({ xs: ArrayType(IntegerType) }));
136
+ const table = new SortedMap([[1n, { xs: [1n, 2n] }], [2n, { xs: [] }], [3n, { xs: [3n] }]], compareFor(IntegerType));
137
+ const inputPath = join(tempDir, 'nested.beast2');
138
+ writeFileSync(inputPath, encodeBeast2PagedFor(NestedT, { batchSize: 2 })(table));
139
+ // Write through a read-out element, then force a re-materialization
140
+ // (insert would hydrate a lazy value from the blob, dropping the write)
141
+ // and observe: only an eagerly-opened input keeps the write.
142
+ const fn = East.function([NestedT], IntegerType, ($, d) => {
143
+ const row = $.let(d.get(1n));
144
+ $(row.xs.pushLast(42n));
145
+ $(d.insert(99n, { xs: [] }));
146
+ return d.get(1n).xs.size();
147
+ });
148
+ const outputPath = join(tempDir, 'output.beast2');
149
+ await runProgram(writeIr(fn), [], [], [inputPath], outputPath, { lazyInputBytes: 1 });
150
+ const result = decodeBeast2For(IntegerType)(new Uint8Array(readFileSync(outputPath)));
151
+ assert.equal(result, 3n, 'the write through the read-out element must land in the input');
152
+ });
153
+ it('refuses --emit with a non-.beast2 output, like east-c and east-py', async () => {
154
+ const fn = East.function([FunctionType([IntegerType], NullType)], NullType, ($, emit) => {
155
+ $(emit(1n));
156
+ });
157
+ await assert.rejects(runProgram(writeIr(fn), [], [], [], join(tempDir, 'out.json'), { emit: 'array' }), /--emit requires a \.beast2 output file \(-o\)/);
158
+ });
159
+ it('refuses --emit on a zero-parameter function with the emit-capability error', async () => {
160
+ const fn = East.function([], IntegerType, (_$) => 1n);
161
+ await assert.rejects(runProgram(writeIr(fn), [], [], [], join(tempDir, 'out.beast2'), { emit: 'array' }), /trailing parameter to be the emit capability[\s\S]*takes no parameters/);
162
+ });
163
+ it('a set emit names element order throughout the canonical violation message', async () => {
164
+ const emitType = FunctionType([IntegerType], NullType);
165
+ const descending = East.function([emitType], NullType, ($, emit) => {
166
+ $(emit(2n));
167
+ $(emit(1n));
168
+ });
169
+ await assert.rejects(runProgram(writeIr(descending), [], [], [], join(tempDir, 'bad.beast2'), { emit: 'set' }), /strictly ascending in East element order[\s\S]*emit in ascending element order/);
170
+ });
171
+ });
172
+ describe('lazy input threshold resolution', () => {
173
+ const saved = process.env.EAST_LAZY_INPUT_BYTES;
174
+ afterEach(() => {
175
+ if (saved === undefined)
176
+ delete process.env.EAST_LAZY_INPUT_BYTES;
177
+ else
178
+ process.env.EAST_LAZY_INPUT_BYTES = saved;
179
+ });
180
+ it('defaults to 64 MiB when the environment variable is unset or empty', () => {
181
+ delete process.env.EAST_LAZY_INPUT_BYTES;
182
+ assert.equal(lazyThreshold({}), 64 * 1024 * 1024);
183
+ process.env.EAST_LAZY_INPUT_BYTES = '';
184
+ assert.equal(lazyThreshold({}), 64 * 1024 * 1024, 'empty must fall through to the default, not disable lazy opening');
185
+ });
186
+ it('honours numeric overrides, 0 as the kill switch, and falls back on invalid values', () => {
187
+ process.env.EAST_LAZY_INPUT_BYTES = '0';
188
+ assert.equal(lazyThreshold({}), 0, '0 disables lazy opening');
189
+ process.env.EAST_LAZY_INPUT_BYTES = '123';
190
+ assert.equal(lazyThreshold({}), 123);
191
+ process.env.EAST_LAZY_INPUT_BYTES = '-5';
192
+ assert.equal(lazyThreshold({}), 64 * 1024 * 1024, 'negative values fall back to the default');
193
+ process.env.EAST_LAZY_INPUT_BYTES = 'not-a-number';
194
+ assert.equal(lazyThreshold({}), 64 * 1024 * 1024, 'garbage falls back to the default');
195
+ process.env.EAST_LAZY_INPUT_BYTES = '999';
196
+ assert.equal(lazyThreshold({ lazyInputBytes: 7 }), 7, 'the explicit option wins over the environment');
51
197
  });
52
198
  });
53
199
  //# sourceMappingURL=runner.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.spec.js","sourceRoot":"","sources":["../src/runner.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.spec.js","sourceRoot":"","sources":["../src/runner.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elaraai/east-node-cli",
3
- "version": "1.0.57",
3
+ "version": "1.0.59",
4
4
  "description": "Command-line interface for running East IR programs with Node.js",
5
5
  "bin": {
6
6
  "east-node": "./bin/east-node.mjs"
@@ -44,7 +44,7 @@
44
44
  "tar-stream": "^3.1.7"
45
45
  },
46
46
  "peerDependencies": {
47
- "@elaraai/east": "1.0.57"
47
+ "@elaraai/east": "1.0.59"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/node": "^22.18.1",