@elaraai/east-node-cli 1.0.78 → 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 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
- ### Streaming Outputs
51
-
52
- A function whose trailing parameter is an emit capability writes its output
53
- incrementally instead of returning it; `--stream` feeds the named inputs
54
- lazily, one decoded segment at a time:
55
-
56
- ```bash
57
- # Emit a Dict (or array / set) through the trailing parameter, feeding
58
- # inputs 0 and 1 lazily from indexed beast2 blobs
59
- east-node run ./task.beast2 -p @elaraai/east-node-std \
60
- -i rows.beast2 -i more.beast2 --stream 0 --stream 1 \
61
- --emit dict -o out.beast2 -v
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 `merge`) the runner
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 --emit dict -o out.beast2
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 merge`
144
+ ### `east-node exec`
212
145
 
213
- Merge sorted Set or Dict blobs of one type into one, in a single pass.
146
+ Execute a unit, the runner protocol (see [Running a unit](#running-a-unit-exec)).
214
147
 
215
148
  ```
216
- east-node merge -i <file>... -o <file> [options]
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
- -i, --input <file...> The input blobs (equal keys fold in this order)
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. Every `--stream` input of
299
- a streaming task opens lazily regardless of size.
300
-
301
- Lazy opening applies only to **value-semantic element shapes** (scalars,
302
- structs, variants). An element type that transitively contains an Array, Set,
303
- Dict or Ref — which East mutates in place through read-out elements — or a
304
- Vector/Matrix/function (identity-compared) always decodes whole, keeping
305
- writes and identity semantics exactly eager. The same rule applies in the
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 start`, `e3 watch`, `e3 logs` commands
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;AAgYH,wBAAgB,IAAI,IAAI,IAAI,CA0G3B"}
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 { mergeBlobs } from './merge.js';
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`, `--stream 0 --stream 1` — which is the grammar east-c and
27
- * east-py accept and all three READMEs document. Commander's variadic form
28
- * (`<file...>`) would also swallow the following positional, so
29
- * `run --stream 0 program.beast2` lost its IR file and reported it missing.
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 `merge`. */
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 1 once the write has FLUSHED.
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 = 1;
45
+ function fail(message, code = 1) {
46
+ process.exitCode = code;
86
47
  return new Promise(() => {
87
- process.stderr.write(`${message}\n`, () => process.exit(1));
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 (or use --from-snapshot PATH)');
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, { verbose: options.verbose ?? false, ...streamingOptions(options) });
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 merge` (#770): k sorted Set/Dict blobs of one type into one
202
- * canonical blob, in a single pass — the fan-in of a partitioned task's
203
- * keyed partials.
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 cmdMerge(options) {
133
+ async function cmdExec(unitPath, options) {
206
134
  startLifeline(options);
135
+ let result;
207
136
  try {
208
- // The same rules, in the same words, as east-c and east-py: a merge
209
- // needs at least one input, an output, one fold at most, and writes a
210
- // beast2 stream exactly as `run --emit` does.
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('merge')
345
- .description('Merge sorted Set or Dict blobs of one type into one, in a single pass: equal keys fold with ' +
346
- 'the East function (K, V, V) -> V in --merge <file> (Dict), or collapse under --union (Set); without ' +
347
- 'a fold an equal key is an error. The output is what `run --emit` writes for the same entries emitted ascending')
348
- .option('-i, --input <file>', 'An input blob (can be repeated; equal keys fold in this order)', collect, [])
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(cmdMerge);
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"}