@elaraai/east-node-cli 1.0.79 → 1.0.80
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 +35 -105
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +37 -135
- package/dist/cli.js.map +1 -1
- package/dist/exec.d.ts +36 -0
- package/dist/exec.d.ts.map +1 -0
- package/dist/exec.js +296 -0
- package/dist/exec.js.map +1 -0
- package/dist/exec.spec.d.ts +6 -0
- package/dist/exec.spec.d.ts.map +1 -0
- package/dist/exec.spec.js +91 -0
- package/dist/exec.spec.js.map +1 -0
- package/dist/loader.d.ts +23 -3
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +190 -36
- package/dist/loader.js.map +1 -1
- package/dist/loader.spec.js +188 -4
- package/dist/loader.spec.js.map +1 -1
- package/dist/merge.d.ts +8 -8
- package/dist/merge.d.ts.map +1 -1
- package/dist/merge.js +167 -221
- package/dist/merge.js.map +1 -1
- package/dist/runner.d.ts +25 -49
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +76 -214
- package/dist/runner.js.map +1 -1
- package/dist/runner.spec.js +191 -336
- package/dist/runner.spec.js.map +1 -1
- package/package.json +4 -6
- package/dist/emit-writer.d.ts +0 -74
- package/dist/emit-writer.d.ts.map +0 -1
- package/dist/emit-writer.js +0 -159
- package/dist/emit-writer.js.map +0 -1
- package/dist/snapshot.d.ts +0 -19
- package/dist/snapshot.d.ts.map +0 -1
- package/dist/snapshot.js +0 -116
- package/dist/snapshot.js.map +0 -1
package/README.md
CHANGED
|
@@ -47,83 +47,23 @@ east-node run ./process.beast2 \
|
|
|
47
47
|
east-node run ./program.beast2 -p @elaraai/east-node-std -v
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
###
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
Dict and Set emissions must ascend in East order. The sink writes one pass,
|
|
65
|
-
segment by segment, with one open batch in memory whatever the size of the
|
|
66
|
-
output, and a key below the previous one is an error naming both:
|
|
67
|
-
|
|
68
|
-
```text
|
|
69
|
-
beast2 v5: Dict key emitted out of order: 1 after 2 — Set/Dict emissions must ascend in East order
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
Equal keys are an error too unless the sink folds them:
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
# Dict: fold the values of adjacent equal keys with an East function (K, V, V) -> V
|
|
76
|
-
east-node run ./task.beast2 -p @elaraai/east-node-std --emit dict --merge merge.beast2 -o out.beast2
|
|
77
|
-
|
|
78
|
-
# Set: keep the first of adjacent equal elements
|
|
79
|
-
east-node run ./task.beast2 -p @elaraai/east-node-std --emit set --union -o out.beast2
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
`--merge` takes an IR file in any format the program itself may use, compiled
|
|
83
|
-
with the run's `-p` platforms; its signature must match the emit parameter's
|
|
84
|
-
key and value types. Adjacent equal keys fold left in emission order,
|
|
85
|
-
`acc = merge(key, acc, value)`, and the output is byte-identical to what the
|
|
86
|
-
sink writes without the flag for the already-folded sequence.
|
|
87
|
-
|
|
88
|
-
### Merging blobs
|
|
89
|
-
|
|
90
|
-
`merge` combines sorted Set or Dict blobs of one type — the files `run --emit`
|
|
91
|
-
writes — into one, in a single pass over the inputs: every input is read
|
|
92
|
-
segment by segment, equal keys across inputs fold in input order (`--merge`
|
|
93
|
-
on Dict inputs, `--union` on Set inputs; without a fold an equal key is an
|
|
94
|
-
error), and the output is byte-identical to what `run --emit` writes for the
|
|
95
|
-
same entries emitted ascending. This is how e3 assembles a partitioned task's
|
|
96
|
-
keyed partials; all three runners write the same bytes.
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
# Dict partials: fold the values of equal keys, in input order
|
|
100
|
-
east-node merge --merge merge.beast2 -i part-0.beast2 -i part-1.beast2 -i part-2.beast2 -o out.beast2 -v
|
|
101
|
-
|
|
102
|
-
# Set partials: the first of equal elements stands
|
|
103
|
-
east-node merge --union -i part-0.beast2 -i part-1.beast2 -o out.beast2
|
|
104
|
-
|
|
105
|
-
# Only the keys in [from, to): range.beast2 holds a Struct{from: Option<K>,
|
|
106
|
-
# to: Option<K>} over the inputs' key type, an absent bound open
|
|
107
|
-
east-node merge --merge merge.beast2 --range range.beast2 -i part-0.beast2 -i part-1.beast2 -o out.beast2
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
With `--range` every input is sought to the segment owning `from` through its
|
|
111
|
-
fences and read up to the first key at or past `to`, so a merge over one key
|
|
112
|
-
range of large partials reads that range's share of each, plus at most one
|
|
113
|
-
segment — how e3 merges a large output in parallel, one range per unit.
|
|
114
|
-
|
|
115
|
-
An input of another type than the first, an Array input, an input whose keys
|
|
116
|
-
do not ascend, a fold whose signature does not match the inputs, and bounds of
|
|
117
|
-
another type than the inputs' key are refused, naming the input. With `-v` the
|
|
118
|
-
merge prints its account:
|
|
119
|
-
|
|
120
|
-
```text
|
|
121
|
-
merge: 3 input(s), 31 entries, 13 fold(s)
|
|
122
|
-
```
|
|
50
|
+
### Running a unit (`exec`)
|
|
51
|
+
|
|
52
|
+
`east-node exec <unit.beast2>` is the command e3 runs: the machine-facing twin
|
|
53
|
+
of `run`. The unit file names the work — a program to run over its inputs, or
|
|
54
|
+
the parts of an output to merge — with the platforms, the threads the runner
|
|
55
|
+
may use, the output's kind (a value the program returns, or an array, set,
|
|
56
|
+
dict or fold it emits into), and where to write the output and a typed
|
|
57
|
+
result: the outcome (`ok`, or `failed` with the message and its source
|
|
58
|
+
locations), the peak memory, and the time spent loading, compiling, executing
|
|
59
|
+
and writing. Paths in a unit may be relative to its file, so a unit and the
|
|
60
|
+
files it names replay wherever they are moved together. It exits 0 when the
|
|
61
|
+
outcome is `ok` and 1 when the result records a failure; `-v` prints where the
|
|
62
|
+
time went and the peak memory.
|
|
123
63
|
|
|
124
64
|
### Exiting with the Parent
|
|
125
65
|
|
|
126
|
-
With `--exit-with-parent` on its command line (`run` and `
|
|
66
|
+
With `--exit-with-parent` on its command line (`run` and `exec`) the runner
|
|
127
67
|
watches its stdin from a worker thread, reading it through a socket on the
|
|
128
68
|
worker's own event loop, and kills its own process as soon as stdin ends,
|
|
129
69
|
closes or cannot be read. A parent that spawns the runner with a stdin pipe
|
|
@@ -137,7 +77,7 @@ would otherwise wait until the parent is gone. Without the flag, stdin is left
|
|
|
137
77
|
alone.
|
|
138
78
|
|
|
139
79
|
```bash
|
|
140
|
-
east-node run ./task.beast2 --exit-with-parent -p @elaraai/east-node-std
|
|
80
|
+
east-node run ./task.beast2 --exit-with-parent -p @elaraai/east-node-std -o out.beast2
|
|
141
81
|
```
|
|
142
82
|
|
|
143
83
|
### Version Information
|
|
@@ -196,38 +136,24 @@ Options:
|
|
|
196
136
|
-i, --input <file> Input data file (can be repeated)
|
|
197
137
|
-o, --output <file> Output file path for result
|
|
198
138
|
-v, --verbose Enable verbose output
|
|
199
|
-
--emit <kind> Write the output incrementally from the function's
|
|
200
|
-
trailing emit parameter (array|set|dict)
|
|
201
|
-
--merge <file> With --emit dict: fold equal keys with the East function
|
|
202
|
-
(K, V, V) -> V in <file>, in emission order
|
|
203
|
-
--union With --emit set: collapse equal elements
|
|
204
|
-
--stream <index> Feed the given -i input (0-based) lazily, segment by
|
|
205
|
-
segment (can be repeated)
|
|
206
139
|
--exit-with-parent Exit as soon as stdin reaches end of file — for a parent
|
|
207
140
|
that holds a stdin pipe it never writes to
|
|
208
141
|
-h, --help Display help
|
|
209
142
|
```
|
|
210
143
|
|
|
211
|
-
### `east-node
|
|
144
|
+
### `east-node exec`
|
|
212
145
|
|
|
213
|
-
|
|
146
|
+
Execute a unit, the runner protocol (see [Running a unit](#running-a-unit-exec)).
|
|
214
147
|
|
|
215
148
|
```
|
|
216
|
-
east-node
|
|
149
|
+
east-node exec <unit> [options]
|
|
150
|
+
|
|
151
|
+
Arguments:
|
|
152
|
+
unit The unit file (.beast2); relative paths in it are relative to its directory
|
|
217
153
|
|
|
218
154
|
Options:
|
|
219
|
-
-
|
|
220
|
-
-o, --output <file> The merged blob
|
|
221
|
-
-p, --package <package...> Platform packages the --merge function's platform calls need
|
|
222
|
-
-v, --verbose Enable verbose output
|
|
223
|
-
--merge <file> Dict inputs: fold equal keys with the East function
|
|
224
|
-
(K, V, V) -> V in <file>, in input order
|
|
225
|
-
--union Set inputs: the first of equal elements stands
|
|
226
|
-
--range <file> Merge only the keys in [from, to): a beast2 blob of
|
|
227
|
-
Struct{from: Option<K>, to: Option<K>} over the inputs'
|
|
228
|
-
key type; an absent bound is open
|
|
155
|
+
-v, --verbose Print where the time went and the peak memory
|
|
229
156
|
--exit-with-parent Exit as soon as stdin reaches end of file
|
|
230
|
-
-h, --help Display help
|
|
231
157
|
```
|
|
232
158
|
|
|
233
159
|
### `east-node transpile`
|
|
@@ -295,14 +221,18 @@ operation transparently decodes the whole value once. Semantics are identical
|
|
|
295
221
|
to an eager decode, so the threshold is a memory knob, not a behavior toggle.
|
|
296
222
|
|
|
297
223
|
Control it with the `EAST_LAZY_INPUT_BYTES` environment variable: a byte
|
|
298
|
-
threshold, or `0` to disable lazy opening entirely.
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
224
|
+
threshold, or `0` to disable lazy opening entirely.
|
|
225
|
+
|
|
226
|
+
A collection input may also be a manifest directory, the form e3 stages a
|
|
227
|
+
stored collection in: the input file holds a manifest, and each segment it
|
|
228
|
+
names is a standalone blob in `<file>.segments/<sha256>.beast2`. It opens
|
|
229
|
+
over those files — lazily, a read opening only the segments it reaches, or
|
|
230
|
+
whole — and counts as the size of its segments against the threshold.
|
|
231
|
+
|
|
232
|
+
Inputs open **frozen** — a frozen value cannot be mutated, and a frozen
|
|
233
|
+
collection compares by value — so a lazy open serves every element shape but
|
|
234
|
+
one that carries a `Ref` or a function, whose identity a fresh decode of each
|
|
235
|
+
segment would lose; that shape decodes whole. The same rule applies in the
|
|
306
236
|
east-c and east-py runners.
|
|
307
237
|
|
|
308
238
|
## Platform Packages
|
|
@@ -378,7 +308,7 @@ Dual-licensed:
|
|
|
378
308
|
- [@elaraai/e3](https://www.npmjs.com/package/@elaraai/e3): SDK for authoring e3 packages with typed tasks and pipelines
|
|
379
309
|
- [@elaraai/e3-core](https://www.npmjs.com/package/@elaraai/e3-core): Object store, dataflow orchestrator, execution state
|
|
380
310
|
- [@elaraai/e3-types](https://www.npmjs.com/package/@elaraai/e3-types): Shared type definitions for e3 packages
|
|
381
|
-
- [@elaraai/e3-cli](https://www.npmjs.com/package/@elaraai/e3-cli): `e3 repo`, `e3 package`, `e3 workspace`, `e3
|
|
311
|
+
- [@elaraai/e3-cli](https://www.npmjs.com/package/@elaraai/e3-cli): `e3 repo`, `e3 package`, `e3 workspace`, `e3 dataflow run`, `e3 watch`, `e3 task logs` commands
|
|
382
312
|
- [@elaraai/e3-api-client](https://www.npmjs.com/package/@elaraai/e3-api-client): HTTP client for remote e3 repositories
|
|
383
313
|
- [@elaraai/e3-api-server](https://www.npmjs.com/package/@elaraai/e3-api-server): REST API server for e3 repositories
|
|
384
314
|
- [@elaraai/e3-api-tests](https://www.npmjs.com/package/@elaraai/e3-api-tests): Shared API compliance test suites
|
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;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+QH,wBAAgB,IAAI,IAAI,IAAI,CAuF3B"}
|
package/dist/cli.js
CHANGED
|
@@ -4,74 +4,35 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Command } from 'commander';
|
|
6
6
|
import { writeFileSync } from 'node:fs';
|
|
7
|
-
import { extname } from 'node:path';
|
|
8
7
|
import { Worker } from 'node:worker_threads';
|
|
9
8
|
import { createRequire } from 'module';
|
|
10
9
|
import { EastError } from '@elaraai/east/internal';
|
|
11
10
|
import { loadPlatforms, loadPlatformWithMetadata } from './loader.js';
|
|
12
|
-
import { runProgram, UsageError } from './runner.js';
|
|
13
|
-
import {
|
|
14
|
-
import { writeSnapshot, readSnapshot } from './snapshot.js';
|
|
11
|
+
import { printResult, runProgram, UsageError } from './runner.js';
|
|
12
|
+
import { executeUnit, readUnit } from './exec.js';
|
|
15
13
|
import { encodeRebuilt, isDirectory, transpile, transpileDir } from './transpile.js';
|
|
16
14
|
import { exportFunctionsFromModule } from './export-functions.js';
|
|
17
15
|
import { serve as serveLsp } from './lsp.js';
|
|
18
16
|
import { checkModule, formatFinding } from './check.js';
|
|
19
|
-
import { East } from '@elaraai/east';
|
|
17
|
+
import { East, UnitResultType, encodeBeast2For } from '@elaraai/east';
|
|
20
18
|
const require = createRequire(import.meta.url);
|
|
21
19
|
const pkg = require('../package.json');
|
|
22
20
|
/**
|
|
23
21
|
* Collects a repeated option's values.
|
|
24
22
|
*
|
|
25
23
|
* Every repeatable flag takes ONE value and is given again for the next —
|
|
26
|
-
* `-i a -i b`,
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
24
|
+
* `-i a -i b`, `-p x -p y` — which is the grammar east-c and east-py accept
|
|
25
|
+
* and all three READMEs document. Commander's variadic form (`<file...>`)
|
|
26
|
+
* would also swallow the following positional, so `run -i a.beast2
|
|
27
|
+
* program.beast2` would lose its IR file and report it missing.
|
|
30
28
|
*/
|
|
31
29
|
function collect(value, previous) {
|
|
32
30
|
return [...previous, value];
|
|
33
31
|
}
|
|
34
|
-
/** The `--exit-with-parent` flag's help, shared by `run` and `
|
|
32
|
+
/** The `--exit-with-parent` flag's help, shared by `run` and `exec`. */
|
|
35
33
|
const EXIT_WITH_PARENT_HELP = 'Exit as soon as stdin reaches end of file — for a parent that holds a stdin pipe it never writes to, and takes the runner down with it';
|
|
36
|
-
/** Parses the streaming-execution flags into runner options. */
|
|
37
|
-
function streamingOptions(options) {
|
|
38
|
-
const out = {};
|
|
39
|
-
if (options.emit !== undefined) {
|
|
40
|
-
if (options.emit !== 'array' && options.emit !== 'set' && options.emit !== 'dict') {
|
|
41
|
-
throw new UsageError(`--emit must be one of array, set or dict, got '${options.emit}'`);
|
|
42
|
-
}
|
|
43
|
-
out.emit = options.emit;
|
|
44
|
-
}
|
|
45
|
-
if (options.merge !== undefined) {
|
|
46
|
-
if (out.emit !== 'dict')
|
|
47
|
-
throw new UsageError('--merge applies to --emit dict only');
|
|
48
|
-
out.merge = options.merge;
|
|
49
|
-
}
|
|
50
|
-
if (options.union) {
|
|
51
|
-
if (out.emit !== 'set')
|
|
52
|
-
throw new UsageError('--union applies to --emit set only');
|
|
53
|
-
out.union = true;
|
|
54
|
-
}
|
|
55
|
-
if (options.stream !== undefined) {
|
|
56
|
-
out.streamInputs = options.stream.map((raw) => {
|
|
57
|
-
const index = Number(raw);
|
|
58
|
-
if (!Number.isInteger(index) || index < 0) {
|
|
59
|
-
throw new UsageError(`--stream must be a non-negative input index, got '${raw}'`);
|
|
60
|
-
}
|
|
61
|
-
return index;
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
if (options.lazyInputs !== undefined) {
|
|
65
|
-
const bytes = Number(options.lazyInputs);
|
|
66
|
-
if (!Number.isFinite(bytes) || bytes < 0) {
|
|
67
|
-
throw new UsageError(`--lazy-inputs must be a byte threshold (0 disables), got '${options.lazyInputs}'`);
|
|
68
|
-
}
|
|
69
|
-
out.lazyInputBytes = bytes;
|
|
70
|
-
}
|
|
71
|
-
return out;
|
|
72
|
-
}
|
|
73
34
|
/**
|
|
74
|
-
* Print `message` to stderr and exit
|
|
35
|
+
* Print `message` to stderr and exit with `code` once the write has FLUSHED.
|
|
75
36
|
*
|
|
76
37
|
* A write to `process.stderr` is asynchronous on a POSIX pipe (and on a
|
|
77
38
|
* Windows terminal), so `console.error(...)` followed by `process.exit(1)` can
|
|
@@ -81,10 +42,10 @@ function streamingOptions(options) {
|
|
|
81
42
|
* resolves (the process exits from the write callback), so `return fail(...)`
|
|
82
43
|
* ends the caller exactly like the exit it replaces.
|
|
83
44
|
*/
|
|
84
|
-
function fail(message) {
|
|
85
|
-
process.exitCode =
|
|
45
|
+
function fail(message, code = 1) {
|
|
46
|
+
process.exitCode = code;
|
|
86
47
|
return new Promise(() => {
|
|
87
|
-
process.stderr.write(`${message}\n`, () => process.exit(
|
|
48
|
+
process.stderr.write(`${message}\n`, () => process.exit(code));
|
|
88
49
|
});
|
|
89
50
|
}
|
|
90
51
|
/**
|
|
@@ -134,51 +95,16 @@ function startLifeline(options) {
|
|
|
134
95
|
async function cmdRun(irFile, options) {
|
|
135
96
|
startLifeline(options);
|
|
136
97
|
try {
|
|
137
|
-
// --from-snapshot is exclusive with <ir_file>, -i, -p
|
|
138
|
-
if (options.fromSnapshot) {
|
|
139
|
-
if (irFile || (options.input && options.input.length > 0) ||
|
|
140
|
-
(options.package && options.package.length > 0)) {
|
|
141
|
-
return fail('Error: --from-snapshot cannot be combined with <ir_file>, -i, or -p');
|
|
142
|
-
}
|
|
143
|
-
const ex = await readSnapshot(options.fromSnapshot);
|
|
144
|
-
try {
|
|
145
|
-
const platformFns = await loadPlatforms(ex.packages);
|
|
146
|
-
await runProgram(ex.irPath, platformFns, ex.packages, ex.inputPaths, options.output, { verbose: options.verbose ?? false, ...streamingOptions(options) });
|
|
147
|
-
}
|
|
148
|
-
finally {
|
|
149
|
-
ex.cleanup();
|
|
150
|
-
}
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
98
|
if (!irFile) {
|
|
154
|
-
return fail('Error: Missing <ir_file> argument
|
|
99
|
+
return fail('Error: Missing <ir_file> argument');
|
|
155
100
|
}
|
|
156
101
|
const packages = options.package ?? [];
|
|
157
102
|
if (packages.length === 0) {
|
|
158
103
|
return fail('Error: At least one platform package is required.\n' +
|
|
159
104
|
'Example: east-node run program.beast2 -p @elaraai/east-node-std');
|
|
160
105
|
}
|
|
161
|
-
// The manifest carries no streaming flags (format v1), so a captured
|
|
162
|
-
// emit/stream invocation would replay with the wrong arity — refuse
|
|
163
|
-
// at capture with the fix instead of failing confusingly at replay.
|
|
164
|
-
if (options.snapshot && (options.emit !== undefined || options.stream !== undefined)) {
|
|
165
|
-
return fail('Error: --snapshot does not capture --emit/--stream (snapshot format v1 has no ' +
|
|
166
|
-
'streaming flags); replay with --from-snapshot passing --emit/--stream explicitly');
|
|
167
|
-
}
|
|
168
|
-
// Write the snapshot BEFORE execution so crashes still leave the bundle behind.
|
|
169
|
-
if (options.snapshot) {
|
|
170
|
-
await writeSnapshot({
|
|
171
|
-
outPath: options.snapshot,
|
|
172
|
-
irPath: irFile,
|
|
173
|
-
inputPaths: options.input ?? [],
|
|
174
|
-
packages,
|
|
175
|
-
cliVersion: `${pkg.name} ${pkg.version}`,
|
|
176
|
-
});
|
|
177
|
-
if (options.verbose)
|
|
178
|
-
console.error(`Snapshot: ${options.snapshot}`);
|
|
179
|
-
}
|
|
180
106
|
const platformFns = await loadPlatforms(packages);
|
|
181
|
-
await runProgram(irFile, platformFns, packages, options.input ?? [], options.output,
|
|
107
|
+
await runProgram(irFile, platformFns, packages, options.input ?? [], options.output, options.verbose ?? false);
|
|
182
108
|
}
|
|
183
109
|
catch (err) {
|
|
184
110
|
// A plain (non-East) error — e.g. one thrown by a custom platform
|
|
@@ -198,39 +124,28 @@ async function cmdRun(irFile, options) {
|
|
|
198
124
|
}
|
|
199
125
|
}
|
|
200
126
|
/**
|
|
201
|
-
* `east-node
|
|
202
|
-
*
|
|
203
|
-
*
|
|
127
|
+
* `east-node exec <unit>`: the runner protocol. The unit's work is done, its
|
|
128
|
+
* output written and its result recorded where it says; the exit status is 0
|
|
129
|
+
* for an `ok` outcome and 1 for a failure, whose message and locations also go
|
|
130
|
+
* to stderr. A unit that cannot be read, or a result that cannot be written,
|
|
131
|
+
* leaves no result: exit 2.
|
|
204
132
|
*/
|
|
205
|
-
async function
|
|
133
|
+
async function cmdExec(unitPath, options) {
|
|
206
134
|
startLifeline(options);
|
|
135
|
+
let result;
|
|
207
136
|
try {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
if (options.input.length === 0) {
|
|
212
|
-
return fail('Error: merge requires at least one -i input');
|
|
213
|
-
}
|
|
214
|
-
if (options.output === undefined) {
|
|
215
|
-
return fail('Error: merge requires -o FILE');
|
|
216
|
-
}
|
|
217
|
-
if (options.merge !== undefined && options.union) {
|
|
218
|
-
return fail('Error: --merge and --union are two folds — give one');
|
|
219
|
-
}
|
|
220
|
-
if (extname(options.output).toLowerCase() !== '.beast2') {
|
|
221
|
-
return fail('Error: merge requires a .beast2 output file (-o)');
|
|
222
|
-
}
|
|
223
|
-
const platformFns = await loadPlatforms(options.package ?? []);
|
|
224
|
-
mergeBlobs(options.input, options.output, {
|
|
225
|
-
...(options.merge !== undefined && { mergePath: options.merge }),
|
|
226
|
-
...(options.range !== undefined && { rangePath: options.range }),
|
|
227
|
-
union: options.union ?? false,
|
|
228
|
-
platformFns,
|
|
229
|
-
verbose: options.verbose ?? false,
|
|
230
|
-
});
|
|
137
|
+
const read = readUnit(unitPath);
|
|
138
|
+
result = await executeUnit(read);
|
|
139
|
+
writeFileSync(read.at(read.unit.result), encodeBeast2For(UnitResultType)(result));
|
|
231
140
|
}
|
|
232
141
|
catch (err) {
|
|
233
|
-
return fail(`Error: ${err.message}
|
|
142
|
+
return fail(`Error: exec ${unitPath}: ${err.message ?? String(err)}`, 2);
|
|
143
|
+
}
|
|
144
|
+
if (options.verbose)
|
|
145
|
+
printResult(result);
|
|
146
|
+
if (result.outcome.type === 'failed') {
|
|
147
|
+
const { message, locations } = result.outcome.value;
|
|
148
|
+
return fail(['Error: ' + message, ...locations.map((l) => ` at ${l.filename}:${l.line}:${l.column}`)].join('\n'));
|
|
234
149
|
}
|
|
235
150
|
}
|
|
236
151
|
/**
|
|
@@ -331,29 +246,16 @@ export function main() {
|
|
|
331
246
|
.option('-i, --input <file>', 'Input data file (can be repeated, order matches function parameters)', collect, [])
|
|
332
247
|
.option('-o, --output <file>', 'Output file path for result')
|
|
333
248
|
.option('-v, --verbose', 'Enable verbose output')
|
|
334
|
-
.option('--snapshot <path>', 'Write a .east-snapshot bundle (IR + inputs + manifest)')
|
|
335
|
-
.option('--from-snapshot <path>', 'Replay from a .east-snapshot bundle (exclusive with <ir_file>, -i, -p)')
|
|
336
|
-
.option('--emit <kind>', "Write the output incrementally from the function's trailing emit parameter (array|set|dict)")
|
|
337
|
-
.option('--merge <file>', 'With --emit dict: fold equal keys with the East function (K, V, V) -> V in <file>, in emission order')
|
|
338
|
-
.option('--union', 'With --emit set: collapse equal elements')
|
|
339
|
-
.option('--stream <index>', 'Feed the given -i input (0-based) lazily, segment-by-segment (can be repeated)', collect, [])
|
|
340
|
-
.option('--lazy-inputs <bytes>', 'Open indexed collection inputs at or above this size lazily (0 disables; default 64 MiB)')
|
|
341
249
|
.option('--exit-with-parent', EXIT_WITH_PARENT_HELP)
|
|
342
250
|
.action(cmdRun);
|
|
343
251
|
program
|
|
344
|
-
.command('
|
|
345
|
-
.description('
|
|
346
|
-
'the
|
|
347
|
-
'
|
|
348
|
-
.option('-
|
|
349
|
-
.option('-o, --output <file>', 'The merged blob')
|
|
350
|
-
.option('-p, --package <package>', "Platform package the --merge function's platform calls need (can be repeated)", collect, [])
|
|
351
|
-
.option('-v, --verbose', 'Enable verbose output')
|
|
352
|
-
.option('--merge <file>', 'Dict inputs: fold equal keys with the East function (K, V, V) -> V in <file>, in input order')
|
|
353
|
-
.option('--union', 'Set inputs: the first of equal elements stands')
|
|
354
|
-
.option('--range <file>', "Merge only the keys in [from, to): a beast2 blob of Struct{from: Option<K>, to: Option<K>} over the inputs' key type; an absent bound is open")
|
|
252
|
+
.command('exec')
|
|
253
|
+
.description('Execute a unit, the runner protocol: run a program, or merge the parts of an output, as the unit file ' +
|
|
254
|
+
'says, write the output by its kind and record the result; exit 0 when it is ok and 1 when it failed')
|
|
255
|
+
.argument('<unit>', 'The unit file (.beast2); relative paths in it are relative to its directory')
|
|
256
|
+
.option('-v, --verbose', 'Print where the time went and the peak memory')
|
|
355
257
|
.option('--exit-with-parent', EXIT_WITH_PARENT_HELP)
|
|
356
|
-
.action(
|
|
258
|
+
.action(cmdExec);
|
|
357
259
|
program
|
|
358
260
|
.command('transpile')
|
|
359
261
|
.description('Print an East IR program as TypeScript East.function builder source')
|
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/exec.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
import { type Unit, type UnitResult } from '@elaraai/east';
|
|
6
|
+
/** Resolves a path a unit names. */
|
|
7
|
+
type Resolve = (path: string) => string;
|
|
8
|
+
/** A unit read from its file, and how to find what it names. */
|
|
9
|
+
export interface ReadUnit {
|
|
10
|
+
/** The unit, as its file holds it. */
|
|
11
|
+
unit: Unit;
|
|
12
|
+
/** Resolves a path the unit names: a relative one against the unit file's
|
|
13
|
+
* directory, so a unit and the files it names move together. */
|
|
14
|
+
at: Resolve;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Reads a unit file.
|
|
18
|
+
*
|
|
19
|
+
* @param unitPath - the unit file
|
|
20
|
+
* @returns the unit, and how to resolve the paths it names
|
|
21
|
+
* @throws {Error} When the file cannot be read or does not hold a unit.
|
|
22
|
+
*/
|
|
23
|
+
export declare function readUnit(unitPath: string): ReadUnit;
|
|
24
|
+
/**
|
|
25
|
+
* Executes a unit: does its work, writes its output, and reports how it went.
|
|
26
|
+
*
|
|
27
|
+
* @param read - the unit, and how to resolve the paths it names
|
|
28
|
+
* @returns the result — a failure is its outcome, never a throw
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
* The unit's thread grant caps the frame pool for the rest of the process: a
|
|
32
|
+
* grant of one frames every output inline.
|
|
33
|
+
*/
|
|
34
|
+
export declare function executeUnit({ unit, at }: ReadUnit): Promise<UnitResult>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=exec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,OAAO,EAgBH,KAAK,IAAI,EAGT,KAAK,UAAU,EAElB,MAAM,eAAe,CAAC;AAavB,oCAAoC;AACpC,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAKxC,gEAAgE;AAChE,MAAM,WAAW,QAAQ;IACrB,sCAAsC;IACtC,IAAI,EAAE,IAAI,CAAC;IACX;qEACiE;IACjE,EAAE,EAAE,OAAO,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAInD;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAwB7E"}
|