@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.
- package/dist/buildinfo.json +1 -1
- package/dist/builtins/res/play.d.ts +2 -0
- package/dist/builtins/res/play.js +33 -4
- package/dist/builtins/res/play.js.map +1 -1
- package/dist/builtins/res/plugin.d.ts +1 -9
- package/dist/builtins/res/plugin.js +18 -70
- package/dist/builtins/res/plugin.js.map +1 -1
- package/dist/builtins/res/plugin.sync.d.ts +129 -0
- package/dist/builtins/res/plugin.sync.js +456 -0
- package/dist/builtins/res/plugin.sync.js.map +1 -0
- package/dist/chris/help.js +23 -0
- package/dist/chris/help.js.map +1 -1
- package/dist/config/indexConfig.d.ts +104 -0
- package/dist/config/indexConfig.js +125 -0
- package/dist/config/indexConfig.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/notes.json +1 -1
- package/package.json +5 -5
package/dist/buildinfo.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"hash":"
|
|
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
|
-
|
|
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`
|
|
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(
|
|
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
|
|
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:
|
|
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":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAc,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,
|
|
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;
|