@fnndsc/brasa 0.23.2 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/buildinfo.json +1 -1
- package/dist/builtins/fs/pull.args.d.ts +1 -1
- package/dist/builtins/fs/pull.args.js +5 -3
- package/dist/builtins/fs/pull.args.js.map +1 -1
- package/dist/builtins/fs/pull.js +2 -2
- package/dist/builtins/fs/touch.js +1 -1
- package/dist/builtins/fs/touch.js.map +1 -1
- package/dist/builtins/help.js +128 -10
- package/dist/builtins/help.js.map +1 -1
- package/dist/builtins/index.d.ts +5 -0
- package/dist/builtins/index.js +5 -0
- package/dist/builtins/index.js.map +1 -1
- package/dist/builtins/net/query.csv.js +14 -0
- package/dist/builtins/net/query.csv.js.map +1 -1
- package/dist/builtins/net/query.js +3 -0
- package/dist/builtins/net/query.js.map +1 -1
- package/dist/builtins/pluginExecute.js +28 -3
- package/dist/builtins/pluginExecute.js.map +1 -1
- package/dist/builtins/proc.js +32 -2
- package/dist/builtins/proc.js.map +1 -1
- package/dist/builtins/res/dicom.d.ts +35 -1
- package/dist/builtins/res/dicom.js +15 -2
- package/dist/builtins/res/dicom.js.map +1 -1
- package/dist/builtins/res/expect.d.ts +40 -0
- package/dist/builtins/res/expect.js +447 -0
- package/dist/builtins/res/expect.js.map +1 -0
- package/dist/builtins/res/gather.d.ts +10 -0
- package/dist/builtins/res/gather.js +224 -0
- package/dist/builtins/res/gather.js.map +1 -0
- package/dist/builtins/res/gather.store.d.ts +131 -0
- package/dist/builtins/res/gather.store.js +225 -0
- package/dist/builtins/res/gather.store.js.map +1 -0
- package/dist/builtins/res/pipeline.args.d.ts +5 -2
- package/dist/builtins/res/pipeline.args.js +8 -3
- package/dist/builtins/res/pipeline.args.js.map +1 -1
- package/dist/builtins/res/pipeline.js +23 -0
- package/dist/builtins/res/pipeline.js.map +1 -1
- package/dist/builtins/res/play.d.ts +70 -0
- package/dist/builtins/res/play.js +334 -0
- package/dist/builtins/res/play.js.map +1 -0
- package/dist/builtins/res/plugin.js +21 -6
- package/dist/builtins/res/plugin.js.map +1 -1
- package/dist/builtins/res/record.d.ts +49 -0
- package/dist/builtins/res/record.js +150 -0
- package/dist/builtins/res/record.js.map +1 -0
- package/dist/builtins/res/runWait.d.ts +49 -0
- package/dist/builtins/res/runWait.js +193 -0
- package/dist/builtins/res/runWait.js.map +1 -0
- package/dist/builtins/sys/weather.d.ts +132 -0
- package/dist/builtins/sys/weather.js +297 -0
- package/dist/builtins/sys/weather.js.map +1 -0
- package/dist/command-keys.js +4 -0
- package/dist/command-keys.js.map +1 -1
- package/dist/core/connect.d.ts +31 -1
- package/dist/core/connect.js +32 -1
- package/dist/core/connect.js.map +1 -1
- package/dist/core/dispatch.d.ts +0 -14
- package/dist/core/dispatch.js +83 -27
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/engine.d.ts +10 -0
- package/dist/core/engine.js +9 -0
- package/dist/core/engine.js.map +1 -1
- package/dist/core/expansion.d.ts +70 -0
- package/dist/core/expansion.js +289 -0
- package/dist/core/expansion.js.map +1 -0
- package/dist/core/promptContext.js +5 -1
- package/dist/core/promptContext.js.map +1 -1
- package/dist/lib/duration.d.ts +17 -0
- package/dist/lib/duration.js +25 -0
- package/dist/lib/duration.js.map +1 -0
- package/dist/lib/parser.d.ts +50 -0
- package/dist/lib/parser.js +119 -0
- package/dist/lib/parser.js.map +1 -1
- package/dist/logo/brain.d.ts +6 -27
- package/dist/logo/brain.js +5 -250
- package/dist/logo/brain.js.map +1 -1
- package/dist/session/answer.d.ts +141 -0
- package/dist/session/answer.js +163 -0
- package/dist/session/answer.js.map +1 -0
- package/dist/session/answerAdapters.d.ts +4 -0
- package/dist/session/answerAdapters.js +106 -0
- package/dist/session/answerAdapters.js.map +1 -0
- package/dist/session/recent.d.ts +68 -0
- package/dist/session/recent.js +99 -0
- package/dist/session/recent.js.map +1 -0
- package/dist/session/recorder.d.ts +61 -0
- package/dist/session/recorder.js +95 -0
- package/dist/session/recorder.js.map +1 -0
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.args.js","sourceRoot":"","sources":["../../../src/builtins/res/pipeline.args.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.args.js","sourceRoot":"","sources":["../../../src/builtins/res/pipeline.args.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@ import { table_render } from '@fnndsc/chili/screen/screen.js';
|
|
|
24
24
|
import { args_checkHasHelpFlag, help_render } from '../help.js';
|
|
25
25
|
import { sink_get, sink_dataLine, sink_errLine } from '../../core/sink.js';
|
|
26
26
|
import { pipelineRunArgs_parse } from './pipeline.args.js';
|
|
27
|
+
import { runs_awaitSettled, settlement_render } from './runWait.js';
|
|
28
|
+
import { recentFeed_note, recentRuns_note } from '../../session/recent.js';
|
|
27
29
|
import { pipelineDiagram_handle } from './pipeline.diagram.js';
|
|
28
30
|
import { pipelineManifest_render, pipelineParameters_render } from './pipeline.manifest.js';
|
|
29
31
|
import { path_resolve } from '../utils.js';
|
|
@@ -201,6 +203,27 @@ async function pipelineRun_handle(args) {
|
|
|
201
203
|
}
|
|
202
204
|
sink_dataLine(chalk.green(`✓ Workflow ${workflowId} created — ${pluginInstanceIds.length} node(s) queued`));
|
|
203
205
|
sink_dataLine(chalk.gray(` Instance IDs: ${pluginInstanceIds.join(', ')}`));
|
|
206
|
+
// What a later line's pronouns refer to.
|
|
207
|
+
if (feedID !== undefined)
|
|
208
|
+
recentFeed_note(feedID);
|
|
209
|
+
recentRuns_note(pluginInstanceIds);
|
|
210
|
+
// A workflow that returns when CUBE accepts it reads as finished and is
|
|
211
|
+
// not: the wait holds this line, never the session, and Esc detaches it.
|
|
212
|
+
// `--detach` asks for the handle up front instead.
|
|
213
|
+
if (!parsed.detach) {
|
|
214
|
+
const settlement = await runs_awaitSettled(pluginInstanceIds, pipelineResult.value.name);
|
|
215
|
+
sink_dataLine(settlement_render(settlement, pipelineResult.value.name));
|
|
216
|
+
if (settlement.outcome === 'settled' && settlement.failed > 0)
|
|
217
|
+
process.exitCode = 1;
|
|
218
|
+
if (feedID !== undefined) {
|
|
219
|
+
try {
|
|
220
|
+
await procCache_refresh(feedID);
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
// The nodes settled; a stale projection is the reconciler's problem.
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
204
227
|
// A scheduled run is a model, as a plugin's is: a surface lights the feed
|
|
205
228
|
// it landed in rather than reading the id out of the text.
|
|
206
229
|
const firstInstance = pluginInstanceIds[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/builtins/res/pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/builtins/res/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { CommandEnvelope } from '@fnndsc/cumin';
|
|
2
|
+
/** The model kind under which a played manifest's outcome travels. */
|
|
3
|
+
export declare const PLAY_MODEL_KIND: string;
|
|
4
|
+
/** One parameter a manifest declares. */
|
|
5
|
+
export interface ManifestParam {
|
|
6
|
+
name: string;
|
|
7
|
+
fallback?: string;
|
|
8
|
+
}
|
|
9
|
+
/** One line of a manifest, with where it came from. */
|
|
10
|
+
export interface ManifestLine {
|
|
11
|
+
/** 1-based line number in the file, so a refusal can point at it. */
|
|
12
|
+
number: number;
|
|
13
|
+
text: string;
|
|
14
|
+
}
|
|
15
|
+
/** A manifest, read. */
|
|
16
|
+
export interface Manifest {
|
|
17
|
+
name: string | null;
|
|
18
|
+
description: string | null;
|
|
19
|
+
params: ManifestParam[];
|
|
20
|
+
lines: ManifestLine[];
|
|
21
|
+
}
|
|
22
|
+
/** What a play did. */
|
|
23
|
+
export interface PlayOutcome {
|
|
24
|
+
manifest: string;
|
|
25
|
+
/** Lines that ran, in order. */
|
|
26
|
+
ran: number;
|
|
27
|
+
/** Lines the file holds. */
|
|
28
|
+
total: number;
|
|
29
|
+
/** The line a refusal stopped on, when one did. */
|
|
30
|
+
stoppedAt: number | null;
|
|
31
|
+
/** How long the play took. */
|
|
32
|
+
elapsedMs: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Reads a manifest.
|
|
36
|
+
*
|
|
37
|
+
* Header directives are collected wherever they appear and take effect
|
|
38
|
+
* before the first line runs, so a file cannot half-declare itself.
|
|
39
|
+
*
|
|
40
|
+
* @param text - The file's content.
|
|
41
|
+
* @returns What the file says, and the lines to run.
|
|
42
|
+
*/
|
|
43
|
+
export declare function manifest_parse(text: string): Manifest;
|
|
44
|
+
/** How a play was asked for. */
|
|
45
|
+
interface PlayArgs {
|
|
46
|
+
manifest: string | null;
|
|
47
|
+
params: Map<string, string>;
|
|
48
|
+
paceMs: number;
|
|
49
|
+
dryRun: boolean;
|
|
50
|
+
parseError: string | null;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Parses `play`'s own arguments.
|
|
54
|
+
*
|
|
55
|
+
* Hand-parsed because `--param` repeats, and a generic parser keeps only the
|
|
56
|
+
* last of a repeated option — which would silently drop every parameter but
|
|
57
|
+
* one and play the manifest with the wrong values.
|
|
58
|
+
*
|
|
59
|
+
* @param args - The tokens after `play`.
|
|
60
|
+
* @returns What was asked for.
|
|
61
|
+
*/
|
|
62
|
+
export declare function playArgs_parse(args: string[]): PlayArgs;
|
|
63
|
+
/**
|
|
64
|
+
* Builtin handler for the `play` command.
|
|
65
|
+
*
|
|
66
|
+
* @param args - Parsed command arguments.
|
|
67
|
+
* @returns An envelope carrying what the play did, or the refusal that stopped it.
|
|
68
|
+
*/
|
|
69
|
+
export declare function builtin_play(args: string[]): Promise<CommandEnvelope>;
|
|
70
|
+
export {};
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Builtin play command: running a manifest.
|
|
3
|
+
*
|
|
4
|
+
* A manifest is a text file of the lines an operator could have typed. It is
|
|
5
|
+
* not a second language and it has no runtime of its own: `play` reads the
|
|
6
|
+
* file and feeds its lines to the session one at a time, through the same
|
|
7
|
+
* path a typed line takes. That is the whole trick — because every verb
|
|
8
|
+
* lowers to a line and every line's answer is a typed model the surface
|
|
9
|
+
* renders, a manifest played at a surface PLAYS: the PACS pane fills, the
|
|
10
|
+
* cohort's face counts up, a viewer opens. Played headlessly, the same file
|
|
11
|
+
* prints the same envelopes and exits 0 or non-zero. Neither run knows which
|
|
12
|
+
* it is.
|
|
13
|
+
*
|
|
14
|
+
* The file may say what it needs (`@param`) and what it is (`@name`), and
|
|
15
|
+
* may refer to what the session just did through a closed set of pronouns.
|
|
16
|
+
* It may not say where anything goes: placement is the surface's judgment,
|
|
17
|
+
* and a manifest that named panes would fork into a browser version and a
|
|
18
|
+
* headless one.
|
|
19
|
+
*
|
|
20
|
+
* @module
|
|
21
|
+
*/
|
|
22
|
+
import chalk from 'chalk';
|
|
23
|
+
import { envelope_ok, envelope_error, errorStack } from '@fnndsc/cumin';
|
|
24
|
+
import { fileContent_get } from '@fnndsc/salsa';
|
|
25
|
+
import { path_resolve } from '../utils.js';
|
|
26
|
+
import { duration_parse } from '../../lib/duration.js';
|
|
27
|
+
import { recorder_mute, recorder_unmute } from '../../session/recorder.js';
|
|
28
|
+
import { sink_dataLine, sink_errLine } from '../../core/sink.js';
|
|
29
|
+
import { commandCancellation_enable, commandCancellation_signalGet } from '../../core/cancellation.js';
|
|
30
|
+
import { paramScope_run, reference_isReserved, reference_resolve, unresolvedStands_run } from '../../core/expansion.js';
|
|
31
|
+
import { shellWords_referencesExpand, shellWords_tokenize } from '../../lib/parser.js';
|
|
32
|
+
/** The model kind under which a played manifest's outcome travels. */
|
|
33
|
+
export const PLAY_MODEL_KIND = 'manifest.played';
|
|
34
|
+
/** A manifest may play a manifest; a manifest may not play itself forever. */
|
|
35
|
+
const NESTING_MAX = 2;
|
|
36
|
+
/** How deep the current play is. */
|
|
37
|
+
let depth = 0;
|
|
38
|
+
/**
|
|
39
|
+
* Reads a manifest.
|
|
40
|
+
*
|
|
41
|
+
* Header directives are collected wherever they appear and take effect
|
|
42
|
+
* before the first line runs, so a file cannot half-declare itself.
|
|
43
|
+
*
|
|
44
|
+
* @param text - The file's content.
|
|
45
|
+
* @returns What the file says, and the lines to run.
|
|
46
|
+
*/
|
|
47
|
+
export function manifest_parse(text) {
|
|
48
|
+
const params = [];
|
|
49
|
+
const lines = [];
|
|
50
|
+
let name = null;
|
|
51
|
+
let description = null;
|
|
52
|
+
const raw = text.split('\n');
|
|
53
|
+
for (let index = 0; index < raw.length; index++) {
|
|
54
|
+
const line = raw[index];
|
|
55
|
+
const trimmed = line.trim();
|
|
56
|
+
if (trimmed.length === 0 || trimmed.startsWith('#'))
|
|
57
|
+
continue;
|
|
58
|
+
if (trimmed.startsWith('@')) {
|
|
59
|
+
const space = trimmed.search(/\s/);
|
|
60
|
+
const directive = space === -1 ? trimmed : trimmed.slice(0, space);
|
|
61
|
+
const value = space === -1 ? '' : trimmed.slice(space + 1).trim();
|
|
62
|
+
if (directive === '@name')
|
|
63
|
+
name = value;
|
|
64
|
+
else if (directive === '@description')
|
|
65
|
+
description = value;
|
|
66
|
+
else if (directive === '@param') {
|
|
67
|
+
const equals = value.indexOf('=');
|
|
68
|
+
if (equals === -1)
|
|
69
|
+
params.push({ name: value.trim() });
|
|
70
|
+
else
|
|
71
|
+
params.push({ name: value.slice(0, equals).trim(), fallback: value.slice(equals + 1).trim() });
|
|
72
|
+
}
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
lines.push({ number: index + 1, text: trimmed });
|
|
76
|
+
}
|
|
77
|
+
return { name, description, params, lines };
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Sleeps between lines, unless the play is cancelled.
|
|
81
|
+
*
|
|
82
|
+
* @param ms - How long to wait.
|
|
83
|
+
* @param signal - The foreground command's abort signal.
|
|
84
|
+
* @returns True when the pause completed.
|
|
85
|
+
*/
|
|
86
|
+
async function pause_take(ms, signal) {
|
|
87
|
+
if (signal?.aborted === true)
|
|
88
|
+
return false;
|
|
89
|
+
return await new Promise((resolve) => {
|
|
90
|
+
const onAbort = () => { clearTimeout(timer); resolve(false); };
|
|
91
|
+
const timer = setTimeout(() => {
|
|
92
|
+
signal?.removeEventListener('abort', onAbort);
|
|
93
|
+
resolve(true);
|
|
94
|
+
}, ms);
|
|
95
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Reads a manifest, from the ChRIS filesystem or from the engine's own disk.
|
|
100
|
+
*
|
|
101
|
+
* A manifest is a ChRIS file: that is what makes one shareable, and sharing
|
|
102
|
+
* it is `setfacl`, like any other file. But a repository's battery lives
|
|
103
|
+
* beside the code that it tests, and uploading itself before it can run
|
|
104
|
+
* would be a ritual, not a requirement — so a path that names no CFS file
|
|
105
|
+
* is looked for on the host the ENGINE runs on. In a daemon that is the
|
|
106
|
+
* daemon's disk, never the surface's, which is why CFS is asked first.
|
|
107
|
+
*
|
|
108
|
+
* @param target - The manifest, as the operator wrote it.
|
|
109
|
+
* @returns The text and where it came from, or a refusal when neither has it.
|
|
110
|
+
*/
|
|
111
|
+
async function manifestText_read(target) {
|
|
112
|
+
const resolved = await path_resolve(target);
|
|
113
|
+
// Asking CFS is how we find out whether the manifest lives there. The
|
|
114
|
+
// miss is an ANSWER, not a fault: left on the stack it made a play that
|
|
115
|
+
// ran a host-side battery perfectly exit non-zero.
|
|
116
|
+
const mark = errorStack.checkpoint_mark();
|
|
117
|
+
const held = await fileContent_get(resolved);
|
|
118
|
+
if (held.ok)
|
|
119
|
+
return { ok: true, value: { text: held.value, from: resolved } };
|
|
120
|
+
errorStack.checkpoint_drain(mark);
|
|
121
|
+
try {
|
|
122
|
+
const { readFile } = await import('node:fs/promises');
|
|
123
|
+
const text = await readFile(target, 'utf8');
|
|
124
|
+
return { ok: true, value: { text, from: target } };
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return { ok: false };
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Renders a line as the kernel would expand it, without running it.
|
|
132
|
+
*
|
|
133
|
+
* It expands through the SAME resolver the dispatcher uses, so a dry run
|
|
134
|
+
* cannot disagree with a play; it simply stops before acting.
|
|
135
|
+
*
|
|
136
|
+
* @param text - The line as the manifest holds it.
|
|
137
|
+
* @returns The line with its references filled in.
|
|
138
|
+
*/
|
|
139
|
+
async function line_preview(text) {
|
|
140
|
+
const words = shellWords_tokenize(text);
|
|
141
|
+
const expanded = await unresolvedStands_run(async () => await shellWords_referencesExpand(words, reference_resolve, true));
|
|
142
|
+
if (!expanded.ok)
|
|
143
|
+
return text;
|
|
144
|
+
return expanded.words
|
|
145
|
+
.map((word) => (/\s/.test(word.value) ? `'${word.value}'` : word.value))
|
|
146
|
+
.join(' ');
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Parses `play`'s own arguments.
|
|
150
|
+
*
|
|
151
|
+
* Hand-parsed because `--param` repeats, and a generic parser keeps only the
|
|
152
|
+
* last of a repeated option — which would silently drop every parameter but
|
|
153
|
+
* one and play the manifest with the wrong values.
|
|
154
|
+
*
|
|
155
|
+
* @param args - The tokens after `play`.
|
|
156
|
+
* @returns What was asked for.
|
|
157
|
+
*/
|
|
158
|
+
export function playArgs_parse(args) {
|
|
159
|
+
const params = new Map();
|
|
160
|
+
let manifest = null;
|
|
161
|
+
let paceMs = 0;
|
|
162
|
+
let dryRun = false;
|
|
163
|
+
let parseError = null;
|
|
164
|
+
for (let index = 0; index < args.length; index++) {
|
|
165
|
+
const token = args[index];
|
|
166
|
+
if (token === '--param') {
|
|
167
|
+
const pair = args[index + 1];
|
|
168
|
+
const equals = pair === undefined ? -1 : pair.indexOf('=');
|
|
169
|
+
if (pair === undefined || equals <= 0) {
|
|
170
|
+
parseError = '--param takes NAME=value';
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
params.set(pair.slice(0, equals), pair.slice(equals + 1));
|
|
174
|
+
index++;
|
|
175
|
+
}
|
|
176
|
+
else if (token === '--pace') {
|
|
177
|
+
// One duration reader for the language: `expect --within` and
|
|
178
|
+
// `play --pace` are the same notion of time, and a second parser
|
|
179
|
+
// beside it is a second set of durations that mean something else.
|
|
180
|
+
const value = args[index + 1];
|
|
181
|
+
const ms = value === undefined ? null : duration_parse(value);
|
|
182
|
+
if (ms === null || ms < 0) {
|
|
183
|
+
parseError = '--pace takes a duration such as 2s';
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
paceMs = ms;
|
|
187
|
+
index++;
|
|
188
|
+
}
|
|
189
|
+
else if (token === '--dry-run') {
|
|
190
|
+
dryRun = true;
|
|
191
|
+
}
|
|
192
|
+
else if (token === '--step') {
|
|
193
|
+
// A keypress needs a terminal, and the daemon has none. Refusing by
|
|
194
|
+
// name beats pausing forever on a surface that cannot answer.
|
|
195
|
+
parseError = '--step needs a terminal; at a surface, play with --pace';
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
else if (token.startsWith('--')) {
|
|
199
|
+
parseError = `unknown option ${token}`;
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
else if (manifest === null) {
|
|
203
|
+
manifest = token;
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
parseError = `unexpected argument ${token}`;
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return { manifest, params, paceMs, dryRun, parseError };
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Builtin handler for the `play` command.
|
|
214
|
+
*
|
|
215
|
+
* @param args - Parsed command arguments.
|
|
216
|
+
* @returns An envelope carrying what the play did, or the refusal that stopped it.
|
|
217
|
+
*/
|
|
218
|
+
export async function builtin_play(args) {
|
|
219
|
+
const parsed = playArgs_parse(args);
|
|
220
|
+
if (parsed.parseError !== null) {
|
|
221
|
+
process.exitCode = 1;
|
|
222
|
+
return envelope_error('', undefined, `${chalk.red(`play: ${parsed.parseError}`)}\n`);
|
|
223
|
+
}
|
|
224
|
+
if (parsed.manifest === null) {
|
|
225
|
+
process.exitCode = 1;
|
|
226
|
+
return envelope_error('', undefined, `${chalk.red('Usage: play <manifest> [--param NAME=value]... [--pace <duration>] [--dry-run]')}\n`);
|
|
227
|
+
}
|
|
228
|
+
if (depth >= NESTING_MAX) {
|
|
229
|
+
process.exitCode = 1;
|
|
230
|
+
return envelope_error('', undefined, `${chalk.red(`play: ${parsed.manifest} is nested too deep — a manifest may play a manifest, not a chain of them.`)}\n`);
|
|
231
|
+
}
|
|
232
|
+
const source = await manifestText_read(parsed.manifest);
|
|
233
|
+
if (!source.ok) {
|
|
234
|
+
process.exitCode = 1;
|
|
235
|
+
return envelope_error('', undefined, `${chalk.red(`play: cannot read ${parsed.manifest} — no such manifest in the ChRIS filesystem, and none beside the engine.`)}\n`);
|
|
236
|
+
}
|
|
237
|
+
const manifest = manifest_parse(source.value.text);
|
|
238
|
+
// A manifest may not take a name the session answers for: shadowing a
|
|
239
|
+
// pronoun would make ${feed} mean two things in one language, and a reader
|
|
240
|
+
// of a shared file could not tell which one they were looking at.
|
|
241
|
+
const shadowed = manifest.params.filter((param) => reference_isReserved(param.name));
|
|
242
|
+
if (shadowed.length > 0) {
|
|
243
|
+
process.exitCode = 1;
|
|
244
|
+
return envelope_error('', undefined, `${chalk.red(`play: ${parsed.manifest} declares ${shadowed.map((param) => `@param ${param.name}`).join(', ')}, which the session already answers for.`)}\n`);
|
|
245
|
+
}
|
|
246
|
+
// Everything the file needs is settled BEFORE the first line runs: a
|
|
247
|
+
// manifest that gets half way and then asks has already changed the
|
|
248
|
+
// session, and the operator cannot un-ask it.
|
|
249
|
+
const values = new Map();
|
|
250
|
+
const missing = [];
|
|
251
|
+
for (const param of manifest.params) {
|
|
252
|
+
const given = parsed.params.get(param.name);
|
|
253
|
+
if (given !== undefined)
|
|
254
|
+
values.set(param.name, given);
|
|
255
|
+
else if (param.fallback !== undefined)
|
|
256
|
+
values.set(param.name, param.fallback);
|
|
257
|
+
else
|
|
258
|
+
missing.push(param.name);
|
|
259
|
+
}
|
|
260
|
+
for (const [key, value] of parsed.params)
|
|
261
|
+
values.set(key, value);
|
|
262
|
+
if (missing.length > 0) {
|
|
263
|
+
process.exitCode = 1;
|
|
264
|
+
return envelope_error('', undefined, `${chalk.red(`play: ${manifest.name ?? parsed.manifest} needs ${missing.map((name) => `--param ${name}=…`).join(' ')}`)}\n`);
|
|
265
|
+
}
|
|
266
|
+
if (manifest.name !== null)
|
|
267
|
+
sink_dataLine(chalk.bold(manifest.name));
|
|
268
|
+
if (manifest.description !== null)
|
|
269
|
+
sink_dataLine(chalk.gray(manifest.description));
|
|
270
|
+
const started = Date.now();
|
|
271
|
+
if (parsed.paceMs > 0)
|
|
272
|
+
commandCancellation_enable();
|
|
273
|
+
const signal = parsed.paceMs > 0 ? commandCancellation_signalGet() : undefined;
|
|
274
|
+
const { line_execute } = await import('../../core/engine.js');
|
|
275
|
+
let ran = 0;
|
|
276
|
+
let stoppedAt = null;
|
|
277
|
+
depth += 1;
|
|
278
|
+
// What a play runs is already written down in the file it is playing: a
|
|
279
|
+
// recording that captured it too would hold every line twice.
|
|
280
|
+
recorder_mute();
|
|
281
|
+
try {
|
|
282
|
+
await paramScope_run(values, async () => {
|
|
283
|
+
for (const line of manifest.lines) {
|
|
284
|
+
// A dry run shows what WOULD run, expanded by the kernel's own
|
|
285
|
+
// expander rather than a second one living here: a reference nothing
|
|
286
|
+
// can answer yet stands as written, since nothing has run to give it
|
|
287
|
+
// a value.
|
|
288
|
+
if (parsed.dryRun) {
|
|
289
|
+
sink_dataLine(chalk.cyan(`▸ ${await line_preview(line.text)}`));
|
|
290
|
+
ran += 1;
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
293
|
+
// The line is SHOWN as written, then handed to the session, which
|
|
294
|
+
// resolves its references the way it resolves every other line's.
|
|
295
|
+
sink_dataLine(chalk.cyan(`▸ ${line.text}`));
|
|
296
|
+
const envelopes = await line_execute(line.text);
|
|
297
|
+
ran += 1;
|
|
298
|
+
const refused = envelopes.some((envelope) => envelope.status === 'error');
|
|
299
|
+
if (refused || process.exitCode === 1) {
|
|
300
|
+
// A workflow whose first half failed has a second half that is
|
|
301
|
+
// noise: the play stops where the trouble is.
|
|
302
|
+
sink_errLine(chalk.red(`✗ ${parsed.manifest}:${line.number} refused — stopping.`));
|
|
303
|
+
stoppedAt = line.number;
|
|
304
|
+
break;
|
|
305
|
+
}
|
|
306
|
+
if (parsed.paceMs > 0 && !await pause_take(parsed.paceMs, signal)) {
|
|
307
|
+
sink_dataLine(chalk.yellow(`play: stopped at ${parsed.manifest}:${line.number}`));
|
|
308
|
+
stoppedAt = line.number;
|
|
309
|
+
break;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
finally {
|
|
315
|
+
recorder_unmute();
|
|
316
|
+
depth -= 1;
|
|
317
|
+
}
|
|
318
|
+
const outcome = {
|
|
319
|
+
manifest: parsed.manifest,
|
|
320
|
+
ran,
|
|
321
|
+
total: manifest.lines.length,
|
|
322
|
+
stoppedAt,
|
|
323
|
+
elapsedMs: Date.now() - started,
|
|
324
|
+
};
|
|
325
|
+
const model = { kind: PLAY_MODEL_KIND, data: outcome };
|
|
326
|
+
const took = `${Math.round(outcome.elapsedMs / 1000)}s`;
|
|
327
|
+
if (stoppedAt !== null) {
|
|
328
|
+
process.exitCode = 1;
|
|
329
|
+
return envelope_error('', undefined, `${chalk.red(`play: ${parsed.manifest} stopped at line ${stoppedAt} after ${ran} of ${manifest.lines.length} lines (${took})`)}\n`);
|
|
330
|
+
}
|
|
331
|
+
const what = parsed.dryRun ? 'would play' : 'played';
|
|
332
|
+
return envelope_ok(`${chalk.green(`play: ${what} ${ran} line${ran === 1 ? '' : 's'} of ${parsed.manifest} (${took})`)}\n`, model);
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=play.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"play.js","sourceRoot":"","sources":["../../../src/builtins/res/play.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import chalk from 'chalk';
|
|
15
15
|
import { commandArgs_process, cliOptions_from } from '../utils.js';
|
|
16
|
+
import { runs_awaitSettled, settlement_render } from './runWait.js';
|
|
16
17
|
import { plugins_fetchList } from '@fnndsc/chili/commands/plugins/list.js';
|
|
17
18
|
import { pluginFields_fetch } from '@fnndsc/chili/commands/plugins/fields.js';
|
|
18
19
|
import { plugin_execute } from '@fnndsc/chili/commands/plugin/run.js';
|
|
@@ -47,17 +48,31 @@ export async function builtin_plugin(args) {
|
|
|
47
48
|
return envelope_ok(rendered);
|
|
48
49
|
}
|
|
49
50
|
else if (subcommand === 'run') {
|
|
50
|
-
|
|
51
|
+
// `--detach` is ours, not the plugin's, and it is taken out before
|
|
52
|
+
// anything else reads the line: left in, the generic parser treats it
|
|
53
|
+
// as an option carrying the plugin's name as its value, and the run
|
|
54
|
+
// refuses with a usage message naming no plugin.
|
|
55
|
+
const detach = args.includes('--detach');
|
|
56
|
+
const clean = args.filter((arg) => arg !== '--detach');
|
|
57
|
+
const searchable = clean[1];
|
|
51
58
|
if (!searchable) {
|
|
52
|
-
return envelope_ok(`${chalk.red("Usage: plugin run <plugin> [args...]")}\n`);
|
|
59
|
+
return envelope_ok(`${chalk.red("Usage: plugin run [--detach] <plugin> [args...]")}\n`);
|
|
53
60
|
}
|
|
54
|
-
const params =
|
|
61
|
+
const params = clean.slice(2).join(' ');
|
|
55
62
|
const instance = await plugin_execute(searchable, params);
|
|
56
|
-
if (instance) {
|
|
63
|
+
if (!instance) {
|
|
64
|
+
process.exitCode = 1;
|
|
65
|
+
return envelope_error('', undefined, `${chalk.red("Plugin execution failed.")}\n`);
|
|
66
|
+
}
|
|
67
|
+
if (detach) {
|
|
57
68
|
return envelope_ok(`${pluginRun_render(instance)}\n`);
|
|
58
69
|
}
|
|
59
|
-
|
|
60
|
-
|
|
70
|
+
// A run that returns before its output exists reads as done and is
|
|
71
|
+
// not: the wait holds this line, never the session, and Esc detaches.
|
|
72
|
+
const settlement = await runs_awaitSettled([instance.id], searchable);
|
|
73
|
+
if (settlement.outcome === 'settled' && settlement.failed > 0)
|
|
74
|
+
process.exitCode = 1;
|
|
75
|
+
return envelope_ok(`${pluginRun_render(instance)}\n${settlement_render(settlement, searchable)}\n`);
|
|
61
76
|
}
|
|
62
77
|
else if (subcommand === 'add') {
|
|
63
78
|
return await plugin_addInteractive(parsed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/builtins/res/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAc,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAoB,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAwB,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,aAAa,EAAsB,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAwB,MAAM,cAAc,CAAC;AAE5E,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAWlF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,MAAM,MAAM,GAAe,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,UAAU,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvC,IAAI,CAAC,UAAU,EAAE,CAAC;QACf,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC;QACH,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YACjG,IAAI,QAAQ,GAAW,GAAG,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACvH,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;gBAC5D,QAAQ,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,MAAM,OAAO,UAAU,uDAAuD,CAAC,IAAI,CAAC;YACtI,CAAC;YACD,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/builtins/res/plugin.ts"],"names":[],"mappings":"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"}
|