@fnndsc/brasa 0.52.5 → 0.54.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.
@@ -1 +1 @@
1
- {"hash":"f023f0"}
1
+ {"hash":"382106"}
@@ -65,6 +65,8 @@ interface PlayArgs {
65
65
  dryRun: boolean;
66
66
  /** Read each line against what is kept, running none. */
67
67
  status: boolean;
68
+ /** The script's text, given in place of the file's (with `--status` only): a surface reads the standing of lines it has not written yet. */
69
+ text: string | null;
68
70
  parseError: string | null;
69
71
  }
70
72
  /**
@@ -34,7 +34,7 @@ import { semicolons_parse } from '../../lib/semicolonParser.js';
34
34
  import { VARIABLE_NAME, assignment_parse, variable_get, variableScope_run } from '../../core/variables.js';
35
35
  import { shellWords_referencesExpand, shellWords_tokenize } from '../../lib/parser.js';
36
36
  import { errorStack } from '@fnndsc/fond';
37
- import { envelope_ok, envelope_error, MANIFEST_STATUS_MODEL_KIND } from '@fnndsc/menu';
37
+ import { envelope_ok, envelope_error, LINE_DECLINED_MODEL_KIND, MANIFEST_STATUS_MODEL_KIND } from '@fnndsc/menu';
38
38
  import { AsyncLocalStorage } from 'node:async_hooks';
39
39
  /** The model kind under which a played manifest's outcome travels. */
40
40
  export const PLAY_MODEL_KIND = 'manifest.played';
@@ -237,6 +237,7 @@ export function playArgs_parse(args) {
237
237
  let paceMs = 0;
238
238
  let dryRun = false;
239
239
  let status = false;
240
+ let text = null;
240
241
  let parseError = null;
241
242
  for (let index = 0; index < args.length; index++) {
242
243
  const token = args[index];
@@ -269,6 +270,19 @@ export function playArgs_parse(args) {
269
270
  else if (token === '--status') {
270
271
  status = true;
271
272
  }
273
+ else if (token.startsWith('--text=')) {
274
+ // The `=` form: a script whose text begins with `-` is the option's value, never another option.
275
+ text = token.slice('--text='.length);
276
+ }
277
+ else if (token === '--text') {
278
+ const given = args[index + 1];
279
+ if (given === undefined) {
280
+ parseError = '--text takes the script\'s text';
281
+ break;
282
+ }
283
+ text = given;
284
+ index++;
285
+ }
272
286
  else if (token === '--step') {
273
287
  // A keypress needs a terminal, and the daemon has none. Refusing by
274
288
  // name beats pausing forever on a surface that cannot answer.
@@ -287,7 +301,10 @@ export function playArgs_parse(args) {
287
301
  break;
288
302
  }
289
303
  }
290
- return { manifest, params, paceMs, dryRun, status, parseError };
304
+ // A text given in place of the file is read, never played: what runs is always a file someone can read after.
305
+ if (parseError === null && text !== null && !status)
306
+ parseError = '--text reads a script\'s standing only: with --status';
307
+ return { manifest, params, paceMs, dryRun, status, text, parseError };
291
308
  }
292
309
  /** The word a state is shown as, and its colour. */
293
310
  function state_show(state) {
@@ -359,13 +376,13 @@ export async function builtin_play(args) {
359
376
  }
360
377
  if (parsed.manifest === null) {
361
378
  exitCode_set(1);
362
- return envelope_error('', undefined, `${chalk.red('Usage: play <manifest> [--param NAME=value]... [--pace <duration>] [--dry-run] [--status]')}\n`);
379
+ return envelope_error('', undefined, `${chalk.red('Usage: play <manifest> [--param NAME=value]... [--pace <duration>] [--dry-run] [--status [--text <script>]]')}\n`);
363
380
  }
364
381
  if (depth_get() >= NESTING_MAX) {
365
382
  exitCode_set(1);
366
383
  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`);
367
384
  }
368
- const source = await manifestText_read(parsed.manifest);
385
+ const source = parsed.text !== null ? { ok: true, value: { text: parsed.text, from: parsed.manifest } } : await manifestText_read(parsed.manifest);
369
386
  if (!source.ok) {
370
387
  exitCode_set(1);
371
388
  return envelope_error('', undefined, `${chalk.red(`play: cannot read ${parsed.manifest} — no such manifest in the session's filesystem, and none beside the engine.`)}\n`);
@@ -418,6 +435,8 @@ export async function builtin_play(args) {
418
435
  const { line_execute } = await import('../../core/engine.js');
419
436
  let ran = 0;
420
437
  let stoppedAt = null;
438
+ /** Whether the play stopped at the operator's no to a line's question: a choice, answered ok, never an error. */
439
+ let declinedAt = null;
421
440
  // What the manifest answers with, read before its scope ends with it.
422
441
  let answered;
423
442
  // What the lines a dry run passed over could have changed.
@@ -454,6 +473,12 @@ export async function builtin_play(args) {
454
473
  exitCode_set(0);
455
474
  const envelopes = await line_execute(line.text);
456
475
  ran += 1;
476
+ // The operator answered no to the line's question: the play stops there, as their choice, never as a refusal.
477
+ if (envelopes.some((envelope) => envelope.model?.kind === LINE_DECLINED_MODEL_KIND)) {
478
+ sink_dataLine(chalk.gray(`play: stopped at your answer to ${parsed.manifest}:${line.number}; the lines after it did not run`));
479
+ declinedAt = line.number;
480
+ break;
481
+ }
457
482
  const refused = envelopes.some((envelope) => envelope.status === 'error')
458
483
  || exitCode_read() !== 0;
459
484
  if (refused) {
@@ -497,6 +522,10 @@ export async function builtin_play(args) {
497
522
  };
498
523
  const model = { kind: PLAY_MODEL_KIND, data: outcome };
499
524
  const took = `${Math.round(outcome.elapsedMs / 1000)}s`;
525
+ if (declinedAt !== null) {
526
+ exitCode_set(exitBeforePlay);
527
+ return envelope_ok(`${chalk.gray(`play: ${parsed.manifest} stopped at your answer to line ${declinedAt}, after ${ran} of ${manifest.lines.length} lines (${took})`)}\n`, { kind: LINE_DECLINED_MODEL_KIND, data: { manifest: parsed.manifest, line: declinedAt } });
528
+ }
500
529
  if (stoppedAt !== null) {
501
530
  exitCode_set(1);
502
531
  return envelope_error('', undefined, `${chalk.red(`play: ${parsed.manifest} stopped at line ${stoppedAt} after ${ran} of ${manifest.lines.length} lines (${took})`)}\n`);
@@ -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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"}
@@ -1,5 +1,5 @@
1
- import { ParsedArgs } from '../utils.js';
2
1
  import { type CommandEnvelope } from '@fnndsc/menu';
2
+ export { plugin_addInteractive } from './plugin.sync.js';
3
3
  /**
4
4
  * Handles plugin commands.
5
5
  *
@@ -7,11 +7,3 @@ import { type CommandEnvelope } from '@fnndsc/menu';
7
7
  * @returns An envelope carrying the rendered plugin output.
8
8
  */
9
9
  export declare function builtin_plugin(args: string[]): Promise<CommandEnvelope>;
10
- /**
11
- * Interactive plugin add command with spinner and colored output.
12
- *
13
- * @param parsed - Parsed command arguments.
14
- * @returns An envelope carrying the add outcome. The spinner streams live via
15
- * the status channel; the result summary is carried in the envelope.
16
- */
17
- export declare function plugin_addInteractive(parsed: ParsedArgs): Promise<CommandEnvelope>;
@@ -4,7 +4,7 @@
4
4
  * Handles plugin management in chell. Subcommands:
5
5
  * - `list` — fetch and render the plugin collection via chili
6
6
  * - `run` — execute a plugin instance by searchable name/id
7
- * - `add` — register a new plugin into CUBE (with spinner)
7
+ * - `add`, `sync`, `validate`, `index` — registering plugins, in `./plugin.sync.ts`
8
8
  *
9
9
  * Unknown subcommands fall through to a spawned chili process.
10
10
  * `plugin` and `plugins` are both registered as aliases in COMMAND_HANDLERS.
@@ -15,16 +15,16 @@ import chalk from 'chalk';
15
15
  import { commandArgs_process, cliOptions_extract } from '../utils.js';
16
16
  import { plugins_fetchList } from '@fnndsc/chili/commands/plugins/list.js';
17
17
  import { pluginFields_fetch } from '@fnndsc/chili/commands/plugins/fields.js';
18
- import { plugin_add } from '@fnndsc/chili/commands/plugins/add.js';
19
18
  import { pluginList_render } from '@fnndsc/chili/views/plugin.js';
20
19
  import { table_render } from '@fnndsc/chili/screen/screen.js';
21
- import { spinner } from '../../lib/spinner.js';
22
- import { chili_capture } from '@fnndsc/chili/screen/output.js';
23
20
  import { PLUGIN_INFO_MODEL_KIND, envelope_ok, envelope_error } from '@fnndsc/menu';
24
21
  import { pluginInfo_build, pluginInfoText_render, pluginSpecifier_parse, } from './plugin.info.js';
25
- import { authorizationFailure_is, sudoHint_build } from '../../core/elevation.js';
26
22
  import { errorStack } from '@fnndsc/fond';
27
23
  import { exitCode_set } from '../../core/handlerRun.js';
24
+ import { PLUGIN_BOOLEAN_FLAGS, pluginAdd_run, pluginIndexVerb_run, pluginSync_run, pluginValidate_run, } from './plugin.sync.js';
25
+ export { plugin_addInteractive } from './plugin.sync.js';
26
+ /** The plugin verb's subcommands, as its usage line names them. */
27
+ const PLUGIN_USAGE = 'plugin <list|add|sync|validate|index|info|inspect|search> ...';
28
28
  /**
29
29
  * Handles plugin commands.
30
30
  *
@@ -32,10 +32,10 @@ import { exitCode_set } from '../../core/handlerRun.js';
32
32
  * @returns An envelope carrying the rendered plugin output.
33
33
  */
34
34
  export async function builtin_plugin(args) {
35
- const parsed = commandArgs_process(args);
35
+ const parsed = commandArgs_process(args, { booleanLongOptions: PLUGIN_BOOLEAN_FLAGS });
36
36
  const subcommand = parsed._[0];
37
37
  if (!subcommand) {
38
- return envelope_ok(`${chalk.red("Usage: plugin <list|add|info|inspect|search> ...")}\n`);
38
+ return envelope_ok(`${chalk.red(`Usage: ${PLUGIN_USAGE}`)}\n`);
39
39
  }
40
40
  try {
41
41
  if (subcommand === 'list') {
@@ -55,7 +55,16 @@ export async function builtin_plugin(args) {
55
55
  return envelope_error('', undefined, `${chalk.red('plugin run is retired: run a plugin by its name, where you stand — pl-dcm2niix-v1.0.2 …, or A=$(pl-dcm2niix-v1.0.2 …) to name the run.')}\n`);
56
56
  }
57
57
  else if (subcommand === 'add') {
58
- return await plugin_addInteractive(parsed);
58
+ return await pluginAdd_run(parsed, args);
59
+ }
60
+ else if (subcommand === 'sync') {
61
+ return await pluginSync_run(parsed, args);
62
+ }
63
+ else if (subcommand === 'validate') {
64
+ return await pluginValidate_run(parsed);
65
+ }
66
+ else if (subcommand === 'index') {
67
+ return await pluginIndexVerb_run(parsed);
59
68
  }
60
69
  else if (subcommand === 'inspect') {
61
70
  const fields = await pluginFields_fetch();
@@ -72,7 +81,7 @@ export async function builtin_plugin(args) {
72
81
  return await builtin_plugin(['list', `--search`, query]);
73
82
  }
74
83
  exitCode_set(1);
75
- return envelope_error('', undefined, `${chalk.yellow(`Unknown subcommand: ${subcommand}. Usage: plugin <list|add|info|inspect|search>`)}\n`);
84
+ return envelope_error('', undefined, `${chalk.yellow(`Unknown subcommand: ${subcommand}. Usage: ${PLUGIN_USAGE}`)}\n`);
76
85
  }
77
86
  catch (e) {
78
87
  const msg = e instanceof Error ? e.message : String(e);
@@ -115,65 +124,4 @@ async function pluginInfo_show(words) {
115
124
  data: built.value,
116
125
  });
117
126
  }
118
- /**
119
- * Interactive plugin add command with spinner and colored output.
120
- *
121
- * @param parsed - Parsed command arguments.
122
- * @returns An envelope carrying the add outcome. The spinner streams live via
123
- * the status channel; the result summary is carried in the envelope.
124
- */
125
- export async function plugin_addInteractive(parsed) {
126
- const pluginInput = parsed._[1];
127
- if (!pluginInput) {
128
- return envelope_ok(`${chalk.red('Usage: plugin add <name|image|url> [--compute <resources>] [--store <url>]')}\n`);
129
- }
130
- const options = {
131
- compute: parsed.compute,
132
- store: parsed.store,
133
- adminUser: parsed.adminUser,
134
- adminPassword: parsed.adminPassword,
135
- public_repo: parsed.publicRepo,
136
- };
137
- errorStack.stack_clear();
138
- let rendered = `${chalk.cyan(`\nAdding plugin: ${pluginInput}\n`)}\n`;
139
- const result = { outcome: 'failed' };
140
- const captured = await chili_capture(async () => {
141
- result.outcome = await plugin_add(pluginInput, options);
142
- });
143
- rendered += captured.out;
144
- rendered += captured.err;
145
- spinner.stop();
146
- if (result.outcome === 'installed') {
147
- rendered += `${chalk.green('\n[SUCCESS] Plugin added successfully!\n')}\n`;
148
- return envelope_ok(rendered);
149
- }
150
- else if (result.outcome === 'already_exists') {
151
- rendered += `${chalk.yellow(`\n[INFO] '${pluginInput}' is already registered in this CUBE.\n`)}\n`;
152
- return envelope_ok(rendered);
153
- }
154
- exitCode_set(1);
155
- rendered += `${chalk.red('\n[FAILED] Failed to add plugin.\n')}\n`;
156
- const errors = errorStack.allOfType_get('error');
157
- if (errors.length > 0) {
158
- rendered += `${chalk.red('Errors:')}\n`;
159
- errors.forEach((error) => {
160
- const cleanError = error.replace(/^\[.*?\]\s+\|\s+/, '');
161
- rendered += `${chalk.red(` - ${cleanError}`)}\n`;
162
- });
163
- rendered += '\n';
164
- }
165
- if (errors.some(authorizationFailure_is)) {
166
- rendered += `\n${sudoHint_build('plugin add', [pluginInput])}`;
167
- }
168
- const warnings = errorStack.allOfType_get('warning');
169
- if (warnings.length > 0) {
170
- rendered += `${chalk.yellow('Warnings:')}\n`;
171
- warnings.forEach((warning) => {
172
- const cleanWarning = warning.replace(/^\[.*?\]\s+\|\s+/, '');
173
- rendered += `${chalk.yellow(` [WARNING] ${cleanWarning}`)}\n`;
174
- });
175
- rendered += '\n';
176
- }
177
- return envelope_ok(rendered);
178
- }
179
127
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/builtins/res/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/builtins/res/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * @file The plugin verbs that register: `plugin add`, `sync`, `validate`, `index`.
3
+ *
4
+ * The logic is salsa's (`plugin_add`, the index reads, the plan, the checks);
5
+ * this module is the verb: it reads the words, asks where a change needs a
6
+ * yes, streams what lands, and answers with text and a typed model.
7
+ *
8
+ * `plugin sync` is a plan first. Anyone may see it (the plugin list is
9
+ * public); applying it needs an administrator, so a session that is not one
10
+ * sees the plan and the `sudo` line to run instead. After the plan comes one
11
+ * question, `[y/N]`, unless `--yes`; `--plan` stops at the plan. Uploads
12
+ * stream one line each as they land, and what landed stays when the job is
13
+ * stopped (`kill %N`): a rerun plans only what is still missing.
14
+ *
15
+ * Paths: a sync source with no prefix is a CUBE path (an index uploaded
16
+ * there, how a surface with no host access syncs); `plugin validate` and
17
+ * `plugin add --json` need no CUBE, so theirs is a host path. `host:` and
18
+ * `cube:` say which outright; `owner/repo[@ref]` is a GitHub repository.
19
+ *
20
+ * Key components:
21
+ * - pluginAdd_run: `plugin add <name|image|url>` and `plugin add --json <file>`.
22
+ * - pluginSync_run: `plugin sync [source] [--ref] [--plan] [--yes] [--compute]`.
23
+ * - pluginValidate_run: `plugin validate <file|dir|source> [--offline]`.
24
+ * - pluginIndexVerb_run: `plugin index [<source>] [--reset]`.
25
+ * - syncPlan_render / validateReport_render: the text a plan and a report read as.
26
+ *
27
+ * Typical usage:
28
+ * ```ts
29
+ * const envelope: CommandEnvelope = await pluginSync_run(commandArgs_process(args, { booleanLongOptions: PLUGIN_BOOLEAN_FLAGS }), args);
30
+ * ```
31
+ *
32
+ * Dependencies: salsa's plugin modules, the engine's question and sink, the
33
+ * index configuration.
34
+ *
35
+ * @module
36
+ */
37
+ import type { SyncPlan, SyncSeams, ValidateReport } from '@fnndsc/salsa';
38
+ import { type CommandEnvelope } from '@fnndsc/menu';
39
+ import { type ParsedArgs } from '../utils.js';
40
+ /** Long flags of the plugin verbs that take no value. */
41
+ export declare const PLUGIN_BOOLEAN_FLAGS: readonly string[];
42
+ /**
43
+ * `plugin add <name|image|url>` and `plugin add --json <file>`.
44
+ *
45
+ * @param parsed - The parsed words (`_[0]` is `add`).
46
+ * @param words - The words as typed after `plugin`, for the sudo line.
47
+ * @returns The add's outcome as text.
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * await pluginAdd_run(commandArgs_process(['add', 'pl-dircopy']), ['add', 'pl-dircopy']);
52
+ * ```
53
+ */
54
+ export declare function pluginAdd_run(parsed: ParsedArgs, words: readonly string[]): Promise<CommandEnvelope>;
55
+ /**
56
+ * `plugin add` for a caller holding parsed words only (`store install`).
57
+ *
58
+ * @param parsed - The parsed words (`_[0]` is the subcommand, `_[1]` the plugin).
59
+ * @returns The add's outcome as text.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * await plugin_addInteractive({ _: ['install', 'pl-dircopy'] });
64
+ * ```
65
+ */
66
+ export declare function plugin_addInteractive(parsed: ParsedArgs): Promise<CommandEnvelope>;
67
+ /**
68
+ * `plugin sync [source] [--ref <ref>] [--plan] [--yes] [--compute a,b]`.
69
+ *
70
+ * @param parsed - The parsed words (`_[0]` is `sync`).
71
+ * @param words - The words as typed after `plugin`, for the sudo line.
72
+ * @param seams - The CUBE reads and the upload; the connected CUBE's by default.
73
+ * @returns The plan, or the plan with what applying it did, as text and a `plugin.sync` model.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * await pluginSync_run(commandArgs_process(['sync', '--plan'], { booleanLongOptions: PLUGIN_BOOLEAN_FLAGS }), ['sync', '--plan']);
78
+ * ```
79
+ */
80
+ export declare function pluginSync_run(parsed: ParsedArgs, words: readonly string[], seamsGiven?: SyncSeams): Promise<CommandEnvelope>;
81
+ /**
82
+ * `plugin validate <file|dir|source> [--offline]`.
83
+ *
84
+ * @param parsed - The parsed words (`_[0]` is `validate`).
85
+ * @param fetcher - The fetch rule 5 and a GitHub source use.
86
+ * @returns The report, as text and a `plugin.validate` model; exit 1 when a rule that ran failed.
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * await pluginValidate_run(commandArgs_process(['validate', './plugins', '--offline'], { booleanLongOptions: PLUGIN_BOOLEAN_FLAGS }));
91
+ * ```
92
+ */
93
+ export declare function pluginValidate_run(parsed: ParsedArgs, fetcher?: typeof fetch): Promise<CommandEnvelope>;
94
+ /**
95
+ * `plugin index [<owner/repo[@ref]>|cube:<path>|host:<path>] [--reset]`.
96
+ *
97
+ * @param parsed - The parsed words (`_[0]` is `index`).
98
+ * @returns The index in effect, or what it was set to.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * await pluginIndexVerb_run({ _: ['index', 'FNNDSC/chris-plugins@v1'] });
103
+ * ```
104
+ */
105
+ export declare function pluginIndexVerb_run(parsed: ParsedArgs): Promise<CommandEnvelope>;
106
+ /**
107
+ * Renders a plan as the operator reads it.
108
+ *
109
+ * @param plan - The plan.
110
+ * @returns Its header, then each group with its plugins (skip as a count).
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * syncPlan_render(plan); // 'plugin sync: chris-plugins @ 8c9a1f6, 175 plugins → this CUBE, on host\n…'
115
+ * ```
116
+ */
117
+ export declare function syncPlan_render(plan: SyncPlan): string;
118
+ /**
119
+ * Renders a validation report as the operator reads it.
120
+ *
121
+ * @param report - The report.
122
+ * @returns Each rule's state, then every finding, then the verdict.
123
+ *
124
+ * @example
125
+ * ```ts
126
+ * validateReport_render(report); // 'plugin validate: chris-plugins @ 8c9a1f6, 175 descriptors\n…'
127
+ * ```
128
+ */
129
+ export declare function validateReport_render(report: ValidateReport): string;