@fnndsc/brasa 0.56.4 → 0.57.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.
Files changed (79) hide show
  1. package/dist/buildinfo.json +1 -1
  2. package/dist/builtins/argumentTokens.d.ts +13 -0
  3. package/dist/builtins/argumentTokens.js +15 -3
  4. package/dist/builtins/argumentTokens.js.map +1 -1
  5. package/dist/builtins/fs/url.d.ts +27 -2
  6. package/dist/builtins/fs/url.js +60 -10
  7. package/dist/builtins/fs/url.js.map +1 -1
  8. package/dist/builtins/help.d.ts +6 -10
  9. package/dist/builtins/help.js +34 -87
  10. package/dist/builtins/help.js.map +1 -1
  11. package/dist/builtins/pluginExecute.d.ts +21 -3
  12. package/dist/builtins/pluginExecute.js +69 -33
  13. package/dist/builtins/pluginExecute.js.map +1 -1
  14. package/dist/builtins/res/pipeline.d.ts +231 -2
  15. package/dist/builtins/res/pipeline.js +225 -107
  16. package/dist/builtins/res/pipeline.js.map +1 -1
  17. package/dist/builtins/res/plugin.d.ts +343 -3
  18. package/dist/builtins/res/plugin.js +221 -67
  19. package/dist/builtins/res/plugin.js.map +1 -1
  20. package/dist/builtins/res/plugin.sync.js +5 -3
  21. package/dist/builtins/res/plugin.sync.js.map +1 -1
  22. package/dist/chris/binDeclarations.d.ts +312 -0
  23. package/dist/chris/binDeclarations.js +572 -0
  24. package/dist/chris/binDeclarations.js.map +1 -0
  25. package/dist/chris/chrisCommands.d.ts +1 -0
  26. package/dist/chris/chrisCommands.js +5 -30
  27. package/dist/chris/chrisCommands.js.map +1 -1
  28. package/dist/chris/commandFallback.d.ts +30 -3
  29. package/dist/chris/commandFallback.js +163 -94
  30. package/dist/chris/commandFallback.js.map +1 -1
  31. package/dist/chris/completion.d.ts +37 -0
  32. package/dist/chris/completion.js +41 -121
  33. package/dist/chris/completion.js.map +1 -1
  34. package/dist/chris/kinds.d.ts +11 -0
  35. package/dist/chris/kinds.js +32 -1
  36. package/dist/chris/kinds.js.map +1 -1
  37. package/dist/core/argumentKinds.d.ts +18 -0
  38. package/dist/core/argumentKinds.js +33 -0
  39. package/dist/core/argumentKinds.js.map +1 -1
  40. package/dist/core/backend.d.ts +12 -5
  41. package/dist/core/backend.js.map +1 -1
  42. package/dist/core/commandDeclaration.d.ts +40 -0
  43. package/dist/core/commandDeclaration.js.map +1 -1
  44. package/dist/core/commandOrder.js +3 -3
  45. package/dist/core/commandOrder.js.map +1 -1
  46. package/dist/core/commandParse.d.ts +14 -0
  47. package/dist/core/commandParse.js +39 -5
  48. package/dist/core/commandParse.js.map +1 -1
  49. package/dist/core/commandRegistry.d.ts +22 -36
  50. package/dist/core/commandRegistry.js +19 -10
  51. package/dist/core/commandRegistry.js.map +1 -1
  52. package/dist/core/commandSchema.js +4 -0
  53. package/dist/core/commandSchema.js.map +1 -1
  54. package/dist/core/coreCommands.d.ts +1 -0
  55. package/dist/core/coreCommands.js +6 -19
  56. package/dist/core/coreCommands.js.map +1 -1
  57. package/dist/core/dispatch.js +12 -41
  58. package/dist/core/dispatch.js.map +1 -1
  59. package/dist/core/preprocess.d.ts +0 -15
  60. package/dist/core/preprocess.js +0 -17
  61. package/dist/core/preprocess.js.map +1 -1
  62. package/dist/core/shellWords.d.ts +34 -0
  63. package/dist/core/shellWords.js +60 -0
  64. package/dist/core/shellWords.js.map +1 -0
  65. package/dist/core.d.ts +5 -0
  66. package/dist/core.js +4 -0
  67. package/dist/core.js.map +1 -1
  68. package/dist/lib/completer/declared.js +22 -6
  69. package/dist/lib/completer/declared.js.map +1 -1
  70. package/dist/lib/completer/index.js +15 -53
  71. package/dist/lib/completer/index.js.map +1 -1
  72. package/dist/notes.json +1 -1
  73. package/package.json +1 -1
  74. package/dist/builtins/res/pipeline.args.d.ts +0 -35
  75. package/dist/builtins/res/pipeline.args.js +0 -94
  76. package/dist/builtins/res/pipeline.args.js.map +0 -1
  77. package/dist/chris/help.d.ts +0 -18
  78. package/dist/chris/help.js +0 -229
  79. package/dist/chris/help.js.map +0 -1
@@ -21,6 +21,7 @@ import { errorStack } from '@fnndsc/fond';
21
21
  import { exitCode_set } from '../core/handlerRun.js';
22
22
  import { path_resolve } from '../core/paths.js';
23
23
  import { OperandRefusal, operands_read, stage_lines, stage_make, stageMade_lines, stageWriter_default, stageWriter_none } from './operands.js';
24
+ import { pluginDeclaration_get, pluginWords_parse } from '../chris/binDeclarations.js';
24
25
  import { echoNode_render, echoParameters_render } from './runEcho.js';
25
26
  import { operandRuns_split } from './operandRuns.js';
26
27
  /**
@@ -63,13 +64,14 @@ async function pluginParameters_read(pluginName) {
63
64
  }
64
65
  }
65
66
  /**
66
- * Executes a plugin in the current directory context.
67
+ * Executes a plugin in the current directory context: its line parsed
68
+ * against the declaration made from CUBE's parameters (binDeclarations.ts),
69
+ * a bad line refused before anything runs.
67
70
  *
68
71
  * This function is called when the user types a plugin name that exists in /bin.
69
- * It handles parameter parsing, interactive prompts, and delegates execution to salsa.
70
72
  *
71
73
  * @param pluginName - Full plugin name with version (e.g., pl-dcm2niix-v2.1.1).
72
- * @param args - Array of command line arguments.
74
+ * @param args - The words after it, carrying their shell words when a line gave them.
73
75
  * @param place - Where the run stands instead of the session's cwd, so a
74
76
  * caller can run off a node without moving the operator (`gather process`
75
77
  * runs off its cohort's feed root).
@@ -85,16 +87,51 @@ async function pluginParameters_read(pluginName) {
85
87
  * ```
86
88
  */
87
89
  export async function builtin_executePlugin(pluginName, args, place, dry = false) {
90
+ const declaration = await pluginDeclaration_get(pluginName);
91
+ if (declaration === null) {
92
+ sink_errLine(chalk.red(`${pluginName}: could not read the plugin's parameters from CUBE, so the line cannot be read`));
93
+ exitCode_set(1);
94
+ return envelope_error('');
95
+ }
96
+ const parsed = await pluginWords_parse(declaration, args);
97
+ if (!parsed.ok) {
98
+ sink_errLine(chalk.red(parsed.refusal));
99
+ exitCode_set(1);
100
+ return envelope_error('');
101
+ }
102
+ return pluginParsed_run(pluginName, parsed.line, place, dry);
103
+ }
104
+ /**
105
+ * Runs a plugin line already read: a look at the plugin when it asks for
106
+ * one, else one run per directory operand, or one run.
107
+ *
108
+ * @param pluginName - Full plugin name with version.
109
+ * @param line - The line, read against the plugin's declaration.
110
+ * @param place - Where the run stands instead of the session's cwd.
111
+ * @param dry - Resolve the run and print it, creating and running nothing.
112
+ * @returns Command envelope whose status matches the run.
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * await pluginParsed_run('pl-dircopy-v2.1.1', { operands: ['~/uploads'], parameters: {}, context: [], detach: false, inspect: null });
117
+ * ```
118
+ */
119
+ export async function pluginParsed_run(pluginName, line, place, dry = false) {
120
+ if (line.inspect !== null) {
121
+ const flags = line.inspect === 'parameters' ? ['--parameters'] : line.inspect === 'readme' ? ['--readme'] : ['--readme', '--raw'];
122
+ const { pluginExecutable_handle } = await import('./executable.js');
123
+ return (await pluginExecutable_handle(pluginName, flags)) ?? envelope_ok('');
124
+ }
88
125
  if (place !== undefined)
89
- return pluginRun_execute(pluginName, args, place, dry);
126
+ return pluginRun_execute(pluginName, line, place, dry);
90
127
  // Several directory operands are several runs, one each, and file operands
91
128
  // stand in one node; to an fs plugin every operand is its one `dir`,
92
129
  // untranslated, so that line is one run and its paths are not looked at.
93
130
  let runs;
94
131
  try {
95
- const operands = await operands_read(args);
132
+ const operands = await operands_read(line.operands);
96
133
  const placed = operands.directories.length > 1 || operands.subjects.length > 0;
97
- runs = placed && await pluginKind_read(pluginName) === 'fs' ? [args] : await operandRuns_split(args);
134
+ runs = placed && await pluginKind_read(pluginName) === 'fs' ? [[...line.operands]] : await operandRuns_split(line.operands);
98
135
  }
99
136
  catch (error) {
100
137
  if (!(error instanceof OperandRefusal))
@@ -103,21 +140,20 @@ export async function builtin_executePlugin(pluginName, args, place, dry = false
103
140
  return envelope_error('');
104
141
  }
105
142
  if (runs.length === 1)
106
- return pluginRun_execute(pluginName, args, undefined, dry);
143
+ return pluginRun_execute(pluginName, line, undefined, dry);
107
144
  // Every run is dispatched before any is waited for; then one wait holds the line for them all.
108
- const detach = args.includes('--detach');
109
145
  const instanceIDs = [];
110
146
  let last = envelope_ok('');
111
147
  let failed = false;
112
148
  for (const words of runs) {
113
149
  sink_dataLine(chalk.gray(`${pluginName} ${words[0]}:`));
114
- last = await pluginRun_execute(pluginName, detach ? words : [...words, '--detach'], undefined, dry);
150
+ last = await pluginRun_execute(pluginName, { ...line, operands: words, detach: true }, undefined, dry);
115
151
  failed ||= last.status === 'error';
116
152
  const instanceID = last.model?.kind === 'run.scheduled' ? last.model.data.instanceId : undefined;
117
153
  if (typeof instanceID === 'number')
118
154
  instanceIDs.push(instanceID);
119
155
  }
120
- if (!detach && instanceIDs.length > 0) {
156
+ if (!line.detach && instanceIDs.length > 0) {
121
157
  const settlement = await runs_awaitSettled(instanceIDs, pluginName);
122
158
  sink_dataLine(settlement_render(settlement, pluginName));
123
159
  if (settlement.outcome === 'settled' && settlement.failed > 0)
@@ -129,29 +165,32 @@ export async function builtin_executePlugin(pluginName, args, place, dry = false
129
165
  * Executes one plugin run: at most one directory operand, or file operands.
130
166
  *
131
167
  * @param pluginName - Full plugin name with version.
132
- * @param args - Array of command line arguments.
168
+ * @param line - The line, read.
133
169
  * @param place - Where the run stands instead of the session's cwd.
134
170
  * @param dry - Resolve the run and print it, creating and running nothing.
135
171
  * @returns Command envelope whose status matches parsing and execution.
136
172
  */
137
- async function pluginRun_execute(pluginName, args, place, dry = false) {
173
+ async function pluginRun_execute(pluginName, line, place, dry = false) {
138
174
  try {
139
- // 0. `--detach` is the SESSION's flag, never the plugin's: it says the
140
- // operator wants the handle now rather than the outcome later, so it
141
- // is taken out of the line before the plugin's own parameters are
142
- // read. Left in, it would be posted to CUBE as a plugin parameter.
143
- const detach = args.includes('--detach');
144
- args = args.filter((arg) => arg !== '--detach');
145
- // 0b. The input operand (operands.ts): a directory replaces cwd; files
146
- // are shaped into a stage the run roots the feed with; to an fs
147
- // plugin an operand is its `dir`, untranslated.
175
+ // `--detach` is the SESSION's option, never the plugin's: the line read
176
+ // it apart from the plugin's parameters, so it is never posted to CUBE.
177
+ const detach = line.detach;
178
+ // The input operand (operands.ts): a directory replaces cwd; files are
179
+ // shaped into a stage the run roots the feed with; to an fs plugin an
180
+ // operand is its `dir`, untranslated. A bare `key=value` among the
181
+ // operands is the plugin's, as it always was.
148
182
  let operandPlace = null;
149
183
  let stage = null;
150
184
  let operandDir = null;
185
+ let assigned = [];
186
+ if (place !== undefined && line.operands.length > 0) {
187
+ sink_errLine(chalk.red(`${pluginName}: an operand is not taken here; the run stands at ${place}`));
188
+ return envelope_error('');
189
+ }
151
190
  if (place === undefined) {
152
191
  let operands;
153
192
  try {
154
- operands = await operands_read(args);
193
+ operands = await operands_read(line.operands);
155
194
  }
156
195
  catch (error) {
157
196
  if (!(error instanceof OperandRefusal))
@@ -159,7 +198,7 @@ async function pluginRun_execute(pluginName, args, place, dry = false) {
159
198
  sink_errLine(chalk.red(`${pluginName}: ${error.message}`));
160
199
  return envelope_error('');
161
200
  }
162
- args = operands.rest;
201
+ assigned = operands.rest;
163
202
  if (operands.directory !== null || operands.subjects.length > 0) {
164
203
  const kind = await pluginKind_read(pluginName);
165
204
  if (kind === null) {
@@ -189,22 +228,18 @@ async function pluginRun_execute(pluginName, args, place, dry = false) {
189
228
  }
190
229
  if (dry)
191
230
  sink_dataLine(chalk.cyan(`would stage under ${stage.path}`));
192
- for (const line of stage_lines(stage))
193
- sink_dataLine(chalk.cyan(line));
231
+ for (const stageLine of stage_lines(stage))
232
+ sink_dataLine(chalk.cyan(stageLine));
194
233
  operandPlace = stage.path;
195
234
  }
196
235
  }
197
236
  }
198
- // 1. Split the already-tokenized arguments on the context delimiter.
199
- const delimiterIndex = args.indexOf('--');
200
- const pluginArgTokens = delimiterIndex === -1 ? args : args.slice(0, delimiterIndex);
201
- const contextArgTokens = delimiterIndex === -1 ? [] : args.slice(delimiterIndex + 1);
202
- // 2. Parse both sets of parameters
203
- let pluginParams = {};
237
+ // The parameters the line gave, and the context after its `--`.
238
+ let pluginParams = { ...line.parameters };
204
239
  let contextParams = {};
205
- if (pluginArgTokens.length > 0) {
240
+ if (assigned.length > 0) {
206
241
  try {
207
- pluginParams = executableArguments_parse(pluginArgTokens);
242
+ pluginParams = { ...pluginParams, ...executableArguments_parse(assigned) };
208
243
  }
209
244
  catch (e) {
210
245
  const msg = e instanceof Error ? e.message : String(e);
@@ -214,6 +249,7 @@ async function pluginRun_execute(pluginName, args, place, dry = false) {
214
249
  }
215
250
  if (operandDir !== null)
216
251
  pluginParams['dir'] = operandDir;
252
+ const contextArgTokens = line.context;
217
253
  if (contextArgTokens.length > 0) {
218
254
  try {
219
255
  contextParams = executableArguments_parse(contextArgTokens);
@@ -1 +1 @@
1
- {"version":3,"file":"pluginExecute.js","sourceRoot":"","sources":["../../src/builtins/pluginExecute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginExecute.js","sourceRoot":"","sources":["../../src/builtins/pluginExecute.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,57 @@
15
15
  *
16
16
  * @module
17
17
  */
18
+ import type { PipelineInvocationBinding } from '@fnndsc/salsa';
18
19
  import { type RunSettlement } from './runWait.js';
19
20
  import type { PipelineScheduled } from '../../api/models.js';
20
21
  import { type CommandEnvelope } from '@fnndsc/menu';
22
+ /**
23
+ * Handles `pipeline info <name|id>`.
24
+ *
25
+ * @param nameOrId - The pipeline.
26
+ * @returns Command envelope whose status matches resolution and manifest fetching.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * await pipelineInfo_handle('PHI_detection');
31
+ * ```
32
+ */
33
+ export declare function pipelineInfo_handle(nameOrId: string): Promise<CommandEnvelope>;
34
+ /** One pipeline run, as a line asks for it: the pipeline, where it attaches, its overlays, and how the line holds it. */
35
+ export interface PipelineRunRequest {
36
+ /** The pipeline: its name, id or `/bin` name. */
37
+ readonly pipeline: string;
38
+ /** The compute resource every node runs on, when given. */
39
+ readonly compute?: string;
40
+ /** The instance the run attaches to; absent, the feed node the session stands in. */
41
+ readonly previous?: number;
42
+ /** A CFS file of sparse YAML overrides, when given. */
43
+ readonly paramFile?: string;
44
+ /** The node overrides, `--<node>.<field> <value>`. */
45
+ readonly bindings: readonly PipelineInvocationBinding[];
46
+ /** Return the handles at once rather than wait for the run. */
47
+ readonly detach: boolean;
48
+ /** Echo every parameter of every piping. */
49
+ readonly verbose: boolean;
50
+ /** Resolve the run and print it, creating nothing (`whatif`). */
51
+ readonly dry: boolean;
52
+ /** A dry run on a feed that would be rooted first, so no node exists to attach to. */
53
+ readonly dryNewFeed: boolean;
54
+ }
55
+ /**
56
+ * Runs one pipeline: from the instance the request names or the feed node
57
+ * the session stands in, with the overlays it gives; the resolved call is
58
+ * echoed first, and a dry run stops there.
59
+ *
60
+ * @param request - The run.
61
+ * @returns Command envelope whose status matches Workflow creation.
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * await pipelineRun_execute({ pipeline: 'PHI_detection', bindings: [], detach: false, verbose: false, dry: true, dryNewFeed: false });
66
+ * ```
67
+ */
68
+ export declare function pipelineRun_execute(request: PipelineRunRequest): Promise<CommandEnvelope>;
21
69
  /** The model kind a scheduled pipeline travels under. */
22
70
  export declare const PIPELINE_SCHEDULED_KIND: string;
23
71
  /**
@@ -34,8 +82,189 @@ export declare const PIPELINE_SCHEDULED_KIND: string;
34
82
  */
35
83
  export declare function pipelineScheduled_make(pipelineName: string, workflowId: number, feedId: number, instanceIds: ReadonlyArray<number>, settlement: RunSettlement | null, newFeed?: boolean): PipelineScheduled;
36
84
  /**
37
- * Manages ChRIS pipeline registration, inspection, and execution.
85
+ * Handles `pipeline source <name|id>`.
86
+ *
87
+ * @param nameOrId - The pipeline.
88
+ * @returns Command envelope whose status matches source retrieval.
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * await pipelineSource_handle('PHI_detection');
93
+ * ```
94
+ */
95
+ export declare function pipelineSource_handle(nameOrId: string): Promise<CommandEnvelope>;
96
+ /**
97
+ * Handles `pipeline manifest <name|id|slug>`.
98
+ *
99
+ * @param specifier - The pipeline, its words joined.
100
+ * @returns Complete registered invocation manifest as serializable YAML.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * await pipelineManifestCommand_handle('PHI_detection');
105
+ * ```
106
+ */
107
+ export declare function pipelineManifestCommand_handle(specifier: string): Promise<CommandEnvelope>;
108
+ /**
109
+ * Handles shallow and SignalFlow pipeline diagram output.
110
+ *
111
+ * @param specifier - The pipeline, its words joined.
112
+ * @param withArguments - Each node's stored arguments inline.
113
+ * @param signalflow - SignalFlow YAML instead of the tree.
114
+ * @returns The diagram, or the refusal.
115
+ *
116
+ * @example
117
+ * ```ts
118
+ * await pipelineDiagramCommand_handle('PHI_detection', false, true);
119
+ * ```
120
+ */
121
+ export declare function pipelineDiagramCommand_handle(specifier: string, withArguments: boolean, signalflow: boolean): Promise<CommandEnvelope>;
122
+ /**
123
+ * `pipeline <list|search|inspect|info|manifest|run|source|diagram> …`: the
124
+ * declaration. `pipelines` is the same command, and a read.
125
+ *
126
+ * @example
127
+ * ```ts
128
+ * commands_register({ declarations: [pipelineCommand] }, 'backend');
129
+ * ```
130
+ */
131
+ export declare const pipelineCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
132
+ readonly bare: {
133
+ readonly summary: "Name the subcommands, and the feed node a run here starts from";
134
+ };
135
+ readonly subcommands: {
136
+ readonly list: {
137
+ readonly summary: "List the registered pipelines";
138
+ readonly operands: readonly [{
139
+ readonly name: "search";
140
+ readonly kind: "word";
141
+ readonly optional: true;
142
+ readonly summary: "Only those whose name holds this";
143
+ }];
144
+ };
145
+ readonly search: {
146
+ readonly summary: "List the pipelines whose name holds a word (list <word>)";
147
+ readonly operands: readonly [{
148
+ readonly name: "term";
149
+ readonly kind: "word";
150
+ readonly optional: true;
151
+ readonly summary: "The word";
152
+ }];
153
+ };
154
+ readonly inspect: {
155
+ readonly summary: "Name the fields a pipeline has";
156
+ };
157
+ readonly info: {
158
+ readonly summary: "Show a pipeline's nodes, plugins and topology";
159
+ readonly operands: readonly [{
160
+ readonly name: "pipeline";
161
+ readonly kind: "pipeline";
162
+ readonly summary: "The pipeline: its name, its id, or its /bin name";
163
+ }];
164
+ };
165
+ readonly manifest: {
166
+ readonly summary: "Emit the complete registered invocation YAML";
167
+ readonly operands: readonly [{
168
+ readonly name: "pipeline";
169
+ readonly kind: "pipeline";
170
+ readonly repeat: true;
171
+ readonly summary: "The pipeline: its name (in several words, joined), its id, or its /bin name";
172
+ }];
173
+ };
174
+ readonly run: {
175
+ readonly summary: "Run a pipeline from the feed node you are in, and wait for it";
176
+ readonly operands: readonly [{
177
+ readonly name: "pipeline";
178
+ readonly kind: "pipeline";
179
+ readonly summary: "The pipeline: its name, its id, or its /bin name";
180
+ }];
181
+ readonly options: {
182
+ readonly compute: {
183
+ readonly long: "compute";
184
+ readonly summary: "Run every node on this compute resource";
185
+ readonly value: {
186
+ readonly name: "resource";
187
+ readonly kind: "compute";
188
+ };
189
+ };
190
+ readonly previous: {
191
+ readonly long: "previous";
192
+ readonly summary: "Start from this instance (default: the feed node you are in)";
193
+ readonly value: {
194
+ readonly name: "instance";
195
+ readonly kind: "int";
196
+ readonly min: 1;
197
+ };
198
+ };
199
+ readonly paramFile: {
200
+ readonly long: "paramFile";
201
+ readonly summary: "Apply one sparse YAML invocation overlay, a CFS file";
202
+ readonly value: {
203
+ readonly name: "file";
204
+ readonly kind: "cfsPath";
205
+ };
206
+ };
207
+ readonly detach: {
208
+ readonly long: "detach";
209
+ readonly summary: "Return the instance ids at once, without waiting";
210
+ };
211
+ readonly verbose: {
212
+ readonly long: "verbose";
213
+ readonly summary: "Echo every parameter of every piping before the run";
214
+ };
215
+ readonly bindings: {
216
+ readonly long: "<node>.<field>";
217
+ readonly summary: "Override one parameter or execution control of one node (@<piping id> names a node whose title is ambiguous)";
218
+ readonly value: {
219
+ readonly name: "value";
220
+ readonly kind: "word";
221
+ };
222
+ readonly family: {
223
+ readonly pattern: RegExp;
224
+ readonly names_list: (operands: readonly string[]) => Promise<string[]>;
225
+ };
226
+ };
227
+ };
228
+ };
229
+ readonly source: {
230
+ readonly summary: "Show the pipeline YAML source";
231
+ readonly operands: readonly [{
232
+ readonly name: "pipeline";
233
+ readonly kind: "pipeline";
234
+ readonly summary: "The pipeline: its name, its id, or its /bin name";
235
+ }];
236
+ };
237
+ readonly diagram: {
238
+ readonly summary: "Draw the pipeline as a shallow tree";
239
+ readonly operands: readonly [{
240
+ readonly name: "pipeline";
241
+ readonly kind: "pipeline";
242
+ readonly repeat: true;
243
+ readonly summary: "The pipeline: its name (in several words, joined), its id, or its /bin name";
244
+ }];
245
+ readonly options: {
246
+ readonly withargs: {
247
+ readonly long: "withargs";
248
+ readonly summary: "Each node's stored non-null arguments inline";
249
+ };
250
+ readonly signalflow: {
251
+ readonly long: "signalflow";
252
+ readonly summary: "Emit SignalFlow YAML instead of the tree";
253
+ };
254
+ };
255
+ };
256
+ };
257
+ }>;
258
+ /**
259
+ * Manages ChRIS pipeline registration, inspection, and execution: a
260
+ * `pipeline` line over words already split, through the declaration.
261
+ *
262
+ * @param args - The words after `pipeline`.
263
+ * @returns The answer, or the refusal of a bad line.
38
264
  *
39
- * @param args - Command arguments.
265
+ * @example
266
+ * ```ts
267
+ * await builtin_pipeline(['run', 'PHI_detection', '--previous', '42']);
268
+ * ```
40
269
  */
41
270
  export declare function builtin_pipeline(args: string[]): Promise<CommandEnvelope>;