@fnndsc/brasa 0.44.1 → 0.46.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 (99) hide show
  1. package/dist/api/models.d.ts +37 -0
  2. package/dist/api/models.js.map +1 -1
  3. package/dist/buildinfo.json +1 -1
  4. package/dist/builtins/fs/pull.args.d.ts +0 -10
  5. package/dist/builtins/fs/pull.args.js +5 -30
  6. package/dist/builtins/fs/pull.args.js.map +1 -1
  7. package/dist/builtins/fs/pull.js +2 -48
  8. package/dist/builtins/fs/pull.js.map +1 -1
  9. package/dist/builtins/help.js +43 -11
  10. package/dist/builtins/help.js.map +1 -1
  11. package/dist/builtins/helpSections.js +3 -3
  12. package/dist/builtins/helpSections.js.map +1 -1
  13. package/dist/builtins/net/query.js +0 -3
  14. package/dist/builtins/net/query.js.map +1 -1
  15. package/dist/builtins/pluginExecute.d.ts +4 -1
  16. package/dist/builtins/pluginExecute.js +11 -12
  17. package/dist/builtins/pluginExecute.js.map +1 -1
  18. package/dist/builtins/res/expect.js +5 -2
  19. package/dist/builtins/res/expect.js.map +1 -1
  20. package/dist/builtins/res/gather.d.ts +2 -2
  21. package/dist/builtins/res/gather.js +11 -3
  22. package/dist/builtins/res/gather.js.map +1 -1
  23. package/dist/builtins/res/gather.kind.d.ts +9 -0
  24. package/dist/builtins/res/gather.kind.js +10 -0
  25. package/dist/builtins/res/gather.kind.js.map +1 -0
  26. package/dist/builtins/res/gather.process.d.ts +29 -0
  27. package/dist/builtins/res/gather.process.js +177 -0
  28. package/dist/builtins/res/gather.process.js.map +1 -0
  29. package/dist/builtins/res/pipeline.d.ts +16 -0
  30. package/dist/builtins/res/pipeline.js +38 -13
  31. package/dist/builtins/res/pipeline.js.map +1 -1
  32. package/dist/builtins/res/play.d.ts +2 -0
  33. package/dist/builtins/res/play.js +30 -7
  34. package/dist/builtins/res/play.js.map +1 -1
  35. package/dist/builtins/res/plugin.js +9 -30
  36. package/dist/builtins/res/plugin.js.map +1 -1
  37. package/dist/builtins/res/runWait.d.ts +10 -0
  38. package/dist/builtins/res/runWait.js +14 -0
  39. package/dist/builtins/res/runWait.js.map +1 -1
  40. package/dist/builtins/sys/tasks.d.ts +46 -0
  41. package/dist/builtins/sys/tasks.js +128 -0
  42. package/dist/builtins/sys/tasks.js.map +1 -0
  43. package/dist/builtins/sys/textFilters.js +3 -3
  44. package/dist/builtins/sys/textFilters.js.map +1 -1
  45. package/dist/builtins/sys/variables.d.ts +25 -0
  46. package/dist/builtins/sys/variables.js +113 -0
  47. package/dist/builtins/sys/variables.js.map +1 -0
  48. package/dist/builtins/variablesPage.d.ts +9 -0
  49. package/dist/builtins/variablesPage.js +54 -0
  50. package/dist/builtins/variablesPage.js.map +1 -0
  51. package/dist/chris/binExecutables.d.ts +19 -0
  52. package/dist/chris/binExecutables.js +18 -0
  53. package/dist/chris/binExecutables.js.map +1 -0
  54. package/dist/chris/commandFallback.js +6 -22
  55. package/dist/chris/commandFallback.js.map +1 -1
  56. package/dist/chris/help.d.ts +2 -2
  57. package/dist/chris/help.js +27 -44
  58. package/dist/chris/help.js.map +1 -1
  59. package/dist/chris/references.js +14 -75
  60. package/dist/chris/references.js.map +1 -1
  61. package/dist/core/assignment.d.ts +13 -0
  62. package/dist/core/assignment.js +98 -0
  63. package/dist/core/assignment.js.map +1 -0
  64. package/dist/core/backend.d.ts +3 -0
  65. package/dist/core/backend.js.map +1 -1
  66. package/dist/core/coreCommands.js +10 -0
  67. package/dist/core/coreCommands.js.map +1 -1
  68. package/dist/core/engine.d.ts +8 -0
  69. package/dist/core/engine.js +29 -6
  70. package/dist/core/engine.js.map +1 -1
  71. package/dist/core/expansion.d.ts +13 -7
  72. package/dist/core/expansion.js +36 -19
  73. package/dist/core/expansion.js.map +1 -1
  74. package/dist/core/runner.d.ts +231 -0
  75. package/dist/core/runner.js +391 -0
  76. package/dist/core/runner.js.map +1 -0
  77. package/dist/core/sink.d.ts +33 -0
  78. package/dist/core/sink.js +48 -0
  79. package/dist/core/sink.js.map +1 -1
  80. package/dist/core/variables.d.ts +121 -0
  81. package/dist/core/variables.js +316 -0
  82. package/dist/core/variables.js.map +1 -0
  83. package/dist/core/version.d.ts +14 -0
  84. package/dist/core/version.js +19 -0
  85. package/dist/core/version.js.map +1 -1
  86. package/dist/core.d.ts +2 -1
  87. package/dist/core.js +2 -1
  88. package/dist/core.js.map +1 -1
  89. package/dist/lib/parser.js +2 -2
  90. package/dist/notes.json +1 -1
  91. package/dist/session/answerAdapters.js +12 -0
  92. package/dist/session/answerAdapters.js.map +1 -1
  93. package/package.json +5 -5
  94. package/dist/builtins/pronouns.d.ts +0 -8
  95. package/dist/builtins/pronouns.js +0 -39
  96. package/dist/builtins/pronouns.js.map +0 -1
  97. package/dist/session/recent.d.ts +0 -68
  98. package/dist/session/recent.js +0 -99
  99. package/dist/session/recent.js.map +0 -1
@@ -0,0 +1,29 @@
1
+ import { type CommandEnvelope } from '@fnndsc/menu';
2
+ /** How `gather process` was asked for. */
3
+ export interface GatherProcessArgs {
4
+ /** The plugin or pipeline, as `/bin` names it. */
5
+ name: string | null;
6
+ /** The feed's title, when one is made. */
7
+ title: string | null;
8
+ /** Whether the line returns at once rather than waiting for the run. */
9
+ detach: boolean;
10
+ /** What follows `--`, handed to the run as its own arguments. */
11
+ forwarded: string[];
12
+ /** Why the words make no request, when they do not. */
13
+ error: string | null;
14
+ }
15
+ /**
16
+ * Reads the words after `gather process`.
17
+ *
18
+ * @param words - The words, raw.
19
+ * @returns The request, or why it is not one.
20
+ */
21
+ export declare function gatherProcessArgs_parse(words: ReadonlyArray<string>): GatherProcessArgs;
22
+ /**
23
+ * `gather process <name> [--title T] [--detach] [-- args]`: runs a plugin or
24
+ * a pipeline once over the whole cohort.
25
+ *
26
+ * @param words - The words after `gather process`, raw.
27
+ * @returns The run's envelope, or a refusal.
28
+ */
29
+ export declare function gather_process(words: ReadonlyArray<string>): Promise<CommandEnvelope>;
@@ -0,0 +1,177 @@
1
+ /**
2
+ * @file `gather process`: one run over the whole cohort.
3
+ *
4
+ * A cohort is processed as a group: one feed whose `pl-dircopy` root holds
5
+ * every member's landed folder, and the named plugin or pipeline runs once
6
+ * off that root, reading the group from it. There is no loop: the iteration
7
+ * is in the data the plugin reads. This is the shape ARGUS's PROCESS builds
8
+ * from a press (#597), so a manifest and a press make the same feed.
9
+ *
10
+ * When the cohort already has a feed (a `pull --new-feed`, or ARGUS's
11
+ * CREATE FEED, noted it on the cohort), the run goes off that feed's root and
12
+ * nothing is copied twice; otherwise the feed is made here and noted on the
13
+ * cohort for the next run. The name resolves as a bare line resolves it in
14
+ * `/bin`. A series not pulled yet has no folder to copy, and the verb refuses
15
+ * by name rather than processing part of the cohort.
16
+ *
17
+ * It answers what the bare run would: `run.scheduled` for a plugin,
18
+ * `pipeline.scheduled` for a pipeline. Waiting, `--detach` and failure are
19
+ * the bare run's.
20
+ *
21
+ * @module
22
+ */
23
+ import chalk from 'chalk';
24
+ import { feed_create } from '@fnndsc/salsa';
25
+ import { envelope_error } from '@fnndsc/menu';
26
+ import { sink_dataLine } from '../../core/sink.js';
27
+ import { binExecutableMatches_get } from '../../chris/binExecutables.js';
28
+ import { builtin_executePlugin } from '../pluginExecute.js';
29
+ import { builtin_pipeline } from './pipeline.js';
30
+ import { newFeed_cacheAdd, run_follow } from '../feedCreation.js';
31
+ import { cohort_read, cohort_write } from './gather.store.js';
32
+ /** The usage line a refusal points at. */
33
+ const USAGE = 'gather process <plugin|pipeline> [--title T] [--detach] [-- <its arguments>]';
34
+ /**
35
+ * Reads the words after `gather process`.
36
+ *
37
+ * @param words - The words, raw.
38
+ * @returns The request, or why it is not one.
39
+ */
40
+ export function gatherProcessArgs_parse(words) {
41
+ const delimiter = words.indexOf('--');
42
+ const own = delimiter === -1 ? words : words.slice(0, delimiter);
43
+ const forwarded = delimiter === -1 ? [] : words.slice(delimiter + 1);
44
+ const parsed = { name: null, title: null, detach: false, forwarded, error: null };
45
+ for (let at = 0; at < own.length; at++) {
46
+ const word = own[at];
47
+ if (word === '--detach') {
48
+ parsed.detach = true;
49
+ continue;
50
+ }
51
+ if (word === '--title') {
52
+ const title = own[at + 1];
53
+ if (title === undefined || title.startsWith('--') || title.trim() === '') {
54
+ parsed.error ??= '--title needs a title';
55
+ continue;
56
+ }
57
+ parsed.title = title.trim();
58
+ at++;
59
+ continue;
60
+ }
61
+ if (word.startsWith('-')) {
62
+ parsed.error ??= `${word}: unknown option; the run's own arguments go after --`;
63
+ continue;
64
+ }
65
+ if (parsed.name !== null) {
66
+ parsed.error ??= `one plugin or pipeline at a time; ${word} is a second (its arguments go after --)`;
67
+ continue;
68
+ }
69
+ parsed.name = word;
70
+ }
71
+ if (parsed.name === null)
72
+ parsed.error ??= `name the plugin or pipeline to run over the cohort. Usage: ${USAGE}`;
73
+ return parsed;
74
+ }
75
+ /**
76
+ * Refuses, saying why.
77
+ *
78
+ * @param message - What the operator needs to know.
79
+ * @returns The error envelope.
80
+ */
81
+ function process_refuse(message) {
82
+ process.exitCode = 1;
83
+ return envelope_error('', undefined, `${chalk.red(`gather process: ${message}`)}\n`);
84
+ }
85
+ /**
86
+ * Where a member is in CUBE: a pulled series' landed folder, a folder or
87
+ * file's own path; null for a series not pulled yet.
88
+ *
89
+ * @param member - The member.
90
+ * @returns Its CFS path, or null.
91
+ */
92
+ function member_place(member) {
93
+ if (member.kind !== 'series')
94
+ return member.vfsPath;
95
+ const landed = member.folderPath;
96
+ return typeof landed === 'string' && landed.length > 0 ? landed : null;
97
+ }
98
+ /**
99
+ * What a member is called in a refusal.
100
+ *
101
+ * @param member - The member.
102
+ * @returns Its description, or the last part of its address.
103
+ */
104
+ function member_word(member) {
105
+ return member.description ?? member.vfsPath.split('/').filter(Boolean).pop() ?? member.vfsPath;
106
+ }
107
+ /**
108
+ * The cohort's feed: the one noted on it, or one made now from every
109
+ * member's place and noted on the cohort.
110
+ *
111
+ * @param state - The cohort.
112
+ * @param places - Every member's CFS path.
113
+ * @param title - The title for a feed made now.
114
+ * @returns The feed and whether it was made now, or a refusal.
115
+ */
116
+ async function cohortFeed_ensure(state, places, title) {
117
+ if (state.feed !== null)
118
+ return { feed: state.feed, made: false };
119
+ const feed = await feed_create(places, { title });
120
+ const feedId = Number(feed?.id);
121
+ const rootInstanceId = Number(feed?.pluginInstance?.data?.id);
122
+ const owner = typeof feed?.owner_username === 'string' ? feed.owner_username.trim() : '';
123
+ if (!Number.isInteger(feedId) || feedId <= 0 || !Number.isInteger(rootInstanceId) || rootInstanceId <= 0 || owner === '') {
124
+ return `could not make the cohort's feed '${title}'`;
125
+ }
126
+ newFeed_cacheAdd({ feedID: feedId, title, ownerUsername: owner, rootInstanceID: rootInstanceId });
127
+ run_follow(feedId);
128
+ const made = { feedId, rootInstanceId, path: `/home/${owner}/feeds/feed_${feedId}/pl-dircopy_${rootInstanceId}/data` };
129
+ await cohort_write({ ...state, feed: made });
130
+ sink_dataLine(chalk.green(`Feed created: ${feedId} (${places.length} member${places.length === 1 ? '' : 's'} in its root, ${rootInstanceId})`));
131
+ return { feed: made, made: true };
132
+ }
133
+ /**
134
+ * `gather process <name> [--title T] [--detach] [-- args]`: runs a plugin or
135
+ * a pipeline once over the whole cohort.
136
+ *
137
+ * @param words - The words after `gather process`, raw.
138
+ * @returns The run's envelope, or a refusal.
139
+ */
140
+ export async function gather_process(words) {
141
+ const parsed = gatherProcessArgs_parse(words);
142
+ if (parsed.error !== null || parsed.name === null)
143
+ return process_refuse(parsed.error ?? USAGE);
144
+ const name = parsed.name;
145
+ const state = await cohort_read();
146
+ if (state.series.length === 0)
147
+ return process_refuse('the cohort is empty; gather add something first');
148
+ const waiting = state.series.filter((member) => member_place(member) === null);
149
+ if (waiting.length > 0) {
150
+ const named = waiting.slice(0, 5).map(member_word).join(', ') + (waiting.length > 5 ? `, and ${waiting.length - 5} more` : '');
151
+ return process_refuse(`${waiting.length} series ${waiting.length === 1 ? 'is' : 'are'} not pulled yet (${named}); pull \${gather} first`);
152
+ }
153
+ const matches = await binExecutableMatches_get(name);
154
+ if (matches.plugin !== undefined && matches.pipeline !== undefined) {
155
+ return process_refuse(`${name} names both a plugin and a pipeline in /bin; it cannot tell which to run`);
156
+ }
157
+ if (matches.plugin === undefined && matches.pipeline === undefined) {
158
+ return process_refuse(`no plugin or pipeline named ${name} in /bin`);
159
+ }
160
+ const places = state.series.map((member) => member_place(member));
161
+ const title = parsed.title ?? state.name ?? 'cohort';
162
+ const ensured = await cohortFeed_ensure(state, places, title);
163
+ if (typeof ensured === 'string')
164
+ return process_refuse(ensured);
165
+ const { feed, made } = ensured;
166
+ const detach = parsed.detach ? ['--detach'] : [];
167
+ const envelope = matches.pipeline !== undefined
168
+ ? await builtin_pipeline(['run', name, '--previous', String(feed.rootInstanceId), ...detach, ...parsed.forwarded])
169
+ : await builtin_executePlugin(name, [...detach, ...parsed.forwarded], feed.path);
170
+ // The run went off a root, so it reads as continuing a feed; when that
171
+ // feed was made by this line, the answer says so, as a bare run's would.
172
+ if (made && envelope.model !== undefined && typeof envelope.model.data === 'object' && envelope.model.data !== null) {
173
+ return { ...envelope, model: { ...envelope.model, data: { ...envelope.model.data, newFeed: true } } };
174
+ }
175
+ return envelope;
176
+ }
177
+ //# sourceMappingURL=gather.process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gather.process.js","sourceRoot":"","sources":["../../../src/builtins/res/gather.process.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,23 @@
15
15
  *
16
16
  * @module
17
17
  */
18
+ import { type RunSettlement } from './runWait.js';
19
+ import type { PipelineScheduled } from '../../api/models.js';
18
20
  import { type CommandEnvelope } from '@fnndsc/menu';
21
+ /** The model kind a scheduled pipeline travels under. */
22
+ export declare const PIPELINE_SCHEDULED_KIND: string;
23
+ /**
24
+ * A scheduled pipeline as a model: every node, as the process cache knows it
25
+ * once the feed was refreshed, and the nodes nothing in it runs off.
26
+ *
27
+ * @param pipelineName - The pipeline.
28
+ * @param workflowId - The workflow CUBE made.
29
+ * @param feedId - The feed its nodes joined.
30
+ * @param instanceIds - The nodes, in the order CUBE scheduled them.
31
+ * @param settlement - How the wait ended, or null when the line did not wait.
32
+ * @returns The model.
33
+ */
34
+ export declare function pipelineScheduled_make(pipelineName: string, workflowId: number, feedId: number, instanceIds: ReadonlyArray<number>, settlement: RunSettlement | null): PipelineScheduled;
19
35
  /**
20
36
  * Manages ChRIS pipeline registration, inspection, and execution.
21
37
  *
@@ -24,8 +24,7 @@ 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
+ import { runs_awaitSettled, settlement_render, settlementStatus_of } from './runWait.js';
29
28
  import { pipelineDiagram_handle } from './pipeline.diagram.js';
30
29
  import { pipelineManifest_render, pipelineParameters_render } from './pipeline.manifest.js';
31
30
  import { path_resolve } from '../utils.js';
@@ -205,15 +204,12 @@ async function pipelineRun_handle(args) {
205
204
  }
206
205
  sink_dataLine(chalk.green(`✓ Workflow ${workflowId} created — ${pluginInstanceIds.length} node(s) queued`));
207
206
  sink_dataLine(chalk.gray(` Instance IDs: ${pluginInstanceIds.join(', ')}`));
208
- // What a later line's pronouns refer to.
209
- if (feedID !== undefined)
210
- recentFeed_note(feedID);
211
- recentRuns_note(pluginInstanceIds);
212
207
  // A workflow that returns when CUBE accepts it reads as finished and is
213
208
  // not: the wait holds this line, never the session, and Esc detaches it.
214
209
  // `--detach` asks for the handle up front instead.
210
+ let settlement = null;
215
211
  if (!parsed.detach) {
216
- const settlement = await runs_awaitSettled(pluginInstanceIds, pipelineResult.value.name);
212
+ settlement = await runs_awaitSettled(pluginInstanceIds, pipelineResult.value.name);
217
213
  sink_dataLine(settlement_render(settlement, pipelineResult.value.name));
218
214
  if (settlement.outcome === 'settled' && settlement.failed > 0)
219
215
  process.exitCode = 1;
@@ -226,16 +222,45 @@ async function pipelineRun_handle(args) {
226
222
  }
227
223
  }
228
224
  }
229
- // A scheduled run is a model, as a plugin's is: a surface lights the feed
230
- // it landed in rather than reading the id out of the text.
231
- const firstInstance = pluginInstanceIds[0];
232
- if (feedID === undefined || firstInstance === undefined)
225
+ // A scheduled pipeline is a model, as a plugin's run is: a surface lights
226
+ // the feed it landed in, and a capture holds every node it made.
227
+ if (feedID === undefined || pluginInstanceIds.length === 0)
233
228
  return envelope_ok('');
234
229
  return envelope_ok('', {
235
- kind: 'run.scheduled',
236
- data: { pluginName: pipelineResult.value.name, instanceId: firstInstance, feedId: feedID, newFeed: false, outputPath: '' },
230
+ kind: PIPELINE_SCHEDULED_KIND,
231
+ data: pipelineScheduled_make(pipelineResult.value.name, workflowId, feedID, pluginInstanceIds, settlement),
237
232
  });
238
233
  }
234
+ /** The model kind a scheduled pipeline travels under. */
235
+ export const PIPELINE_SCHEDULED_KIND = 'pipeline.scheduled';
236
+ /**
237
+ * A scheduled pipeline as a model: every node, as the process cache knows it
238
+ * once the feed was refreshed, and the nodes nothing in it runs off.
239
+ *
240
+ * @param pipelineName - The pipeline.
241
+ * @param workflowId - The workflow CUBE made.
242
+ * @param feedId - The feed its nodes joined.
243
+ * @param instanceIds - The nodes, in the order CUBE scheduled them.
244
+ * @param settlement - How the wait ended, or null when the line did not wait.
245
+ * @returns The model.
246
+ */
247
+ export function pipelineScheduled_make(pipelineName, workflowId, feedId, instanceIds, settlement) {
248
+ const cache = procCache_get();
249
+ const instances = instanceIds.map((instanceId) => {
250
+ const known = cache.instance_get(instanceId);
251
+ return {
252
+ instanceId,
253
+ pluginName: known?.pluginName ?? 'unknown',
254
+ outputPath: known?.outputPath ?? null,
255
+ status: settlement === null ? 'detached' : settlementStatus_of(settlement, instanceId),
256
+ };
257
+ });
258
+ const parents = new Set(instanceIds
259
+ .map((instanceId) => cache.instance_get(instanceId)?.parentID)
260
+ .filter((parent) => typeof parent === 'number'));
261
+ const leaves = instanceIds.filter((instanceId) => !parents.has(instanceId));
262
+ return { pipelineName, workflowId, feedId, newFeed: false, instances, leaves };
263
+ }
239
264
  /**
240
265
  * Handles `pipeline source <name|id>`.
241
266
  *
@@ -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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"}
@@ -17,6 +17,8 @@ export interface Manifest {
17
17
  name: string | null;
18
18
  description: string | null;
19
19
  params: ManifestParam[];
20
+ /** The variable whose model the play answers with (`@answers`), when the manifest names one. */
21
+ answers: string | null;
20
22
  lines: ManifestLine[];
21
23
  }
22
24
  /** What a play did. */
@@ -11,8 +11,8 @@
11
11
  * prints the same envelopes and exits 0 or non-zero. Neither run knows which
12
12
  * it is.
13
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.
14
+ * The file may say what it needs (`@param`), what it is (`@name`) and what it
15
+ * answers (`@answers`), and names what its own lines made (`A=$(…)`).
16
16
  * It may not say where anything goes: placement is the surface's judgment,
17
17
  * and a manifest that named panes would fork into a browser version and a
18
18
  * headless one.
@@ -26,7 +26,8 @@ import { duration_parse } from '../../lib/duration.js';
26
26
  import { recorder_mute, recorder_unmute } from '../../session/recorder.js';
27
27
  import { sink_dataLine, sink_errLine } from '../../core/sink.js';
28
28
  import { commandCancellation_enable, commandCancellation_signalGet } from '../../core/cancellation.js';
29
- import { paramScope_run, reference_isReserved, reference_resolve, unresolvedStands_run } from '../../core/expansion.js';
29
+ import { reference_isReserved, reference_resolve, unresolvedStands_run } from '../../core/expansion.js';
30
+ import { VARIABLE_NAME, variable_get, variableScope_run } from '../../core/variables.js';
30
31
  import { shellWords_referencesExpand, shellWords_tokenize } from '../../lib/parser.js';
31
32
  import { errorStack } from '@fnndsc/fond';
32
33
  import { envelope_ok, envelope_error } from '@fnndsc/menu';
@@ -59,6 +60,7 @@ export function manifest_parse(text) {
59
60
  const lines = [];
60
61
  let name = null;
61
62
  let description = null;
63
+ let answers = null;
62
64
  const raw = text.split('\n');
63
65
  for (let index = 0; index < raw.length; index++) {
64
66
  const line = raw[index];
@@ -73,6 +75,8 @@ export function manifest_parse(text) {
73
75
  name = value;
74
76
  else if (directive === '@description')
75
77
  description = value;
78
+ else if (directive === '@answers')
79
+ answers = value;
76
80
  else if (directive === '@param') {
77
81
  const equals = value.indexOf('=');
78
82
  if (equals === -1)
@@ -84,7 +88,7 @@ export function manifest_parse(text) {
84
88
  }
85
89
  lines.push({ number: index + 1, text: trimmed });
86
90
  }
87
- return { name, description, params, lines };
91
+ return { name, description, params, answers, lines };
88
92
  }
89
93
  /**
90
94
  * Sleeps between lines, unless the play is cancelled.
@@ -246,8 +250,8 @@ export async function builtin_play(args) {
246
250
  }
247
251
  const manifest = manifest_parse(source.value.text);
248
252
  // A manifest may not take a name the session answers for: shadowing a
249
- // pronoun would make ${feed} mean two things in one language, and a reader
250
- // of a shared file could not tell which one they were looking at.
253
+ // built-in would make ${gather} mean two things in one language, and a
254
+ // reader of a shared file could not tell which one they were looking at.
251
255
  const shadowed = manifest.params.filter((param) => reference_isReserved(param.name));
252
256
  if (shadowed.length > 0) {
253
257
  process.exitCode = 1;
@@ -269,6 +273,10 @@ export async function builtin_play(args) {
269
273
  }
270
274
  for (const [key, value] of parsed.params)
271
275
  values.set(key, value);
276
+ if (manifest.answers !== null && !VARIABLE_NAME.test(manifest.answers)) {
277
+ process.exitCode = 1;
278
+ return envelope_error('', undefined, `${chalk.red(`play: ${parsed.manifest} answers '${manifest.answers}', which is not a variable's name.`)}\n`);
279
+ }
272
280
  if (missing.length > 0) {
273
281
  process.exitCode = 1;
274
282
  return envelope_error('', undefined, `${chalk.red(`play: ${manifest.name ?? parsed.manifest} needs ${missing.map((name) => `--param ${name}=…`).join(' ')}`)}\n`);
@@ -284,12 +292,14 @@ export async function builtin_play(args) {
284
292
  const { line_execute } = await import('../../core/engine.js');
285
293
  let ran = 0;
286
294
  let stoppedAt = null;
295
+ // What the manifest answers with, read before its scope ends with it.
296
+ let answered;
287
297
  depth += 1;
288
298
  // What a play runs is already written down in the file it is playing: a
289
299
  // recording that captured it too would hold every line twice.
290
300
  recorder_mute();
291
301
  try {
292
- await paramScope_run(values, async () => {
302
+ await variableScope_run(values, async () => {
293
303
  for (const line of manifest.lines) {
294
304
  // A dry run shows what WOULD run, expanded by the kernel's own
295
305
  // expander rather than a second one living here: a reference nothing
@@ -319,6 +329,8 @@ export async function builtin_play(args) {
319
329
  break;
320
330
  }
321
331
  }
332
+ if (manifest.answers !== null)
333
+ answered = variable_get(manifest.answers);
322
334
  });
323
335
  }
324
336
  finally {
@@ -339,6 +351,17 @@ export async function builtin_play(args) {
339
351
  return envelope_error('', undefined, `${chalk.red(`play: ${parsed.manifest} stopped at line ${stoppedAt} after ${ran} of ${manifest.lines.length} lines (${took})`)}\n`);
340
352
  }
341
353
  const what = parsed.dryRun ? 'would play' : 'played';
354
+ if (parsed.dryRun && manifest.answers !== null)
355
+ sink_dataLine(chalk.cyan(`▸ @answers ${manifest.answers}`));
356
+ // A manifest that declares its answer hands back that variable's model,
357
+ // so `X=$(play f)` holds what the flow made, as a verb's capture would.
358
+ if (!parsed.dryRun && manifest.answers !== null) {
359
+ if (answered === undefined) {
360
+ process.exitCode = 1;
361
+ return envelope_error('', undefined, `${chalk.red(`play: ${parsed.manifest} answers ${manifest.answers}, and ${manifest.answers} was never set`)}\n`);
362
+ }
363
+ return envelope_ok(`${chalk.green(`play: ${what} ${ran} line${ran === 1 ? '' : 's'} of ${parsed.manifest} (${took}), answering ${manifest.answers}`)}\n`, { kind: answered.answer.kind, data: answered.answer.data });
364
+ }
342
365
  return envelope_ok(`${chalk.green(`play: ${what} ${ran} line${ran === 1 ? '' : 's'} of ${parsed.manifest} (${took})`)}\n`, model);
343
366
  }
344
367
  //# sourceMappingURL=play.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"play.js","sourceRoot":"","sources":["../../../src/builtins/res/play.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"play.js","sourceRoot":"","sources":["../../../src/builtins/res/play.ts"],"names":[],"mappings":"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"}