@fnndsc/brasa 0.9.2 → 0.10.1
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 -0
- package/dist/builtins/argumentTokens.d.ts +18 -0
- package/dist/builtins/argumentTokens.js +58 -0
- package/dist/builtins/argumentTokens.js.map +1 -0
- package/dist/builtins/executable.d.ts +3 -7
- package/dist/builtins/executable.js +32 -29
- package/dist/builtins/executable.js.map +1 -1
- package/dist/builtins/feedCreation.d.ts +23 -0
- package/dist/builtins/feedCreation.js +45 -0
- package/dist/builtins/feedCreation.js.map +1 -0
- package/dist/builtins/fs/cat.args.d.ts +36 -0
- package/dist/builtins/fs/cat.args.js +63 -0
- package/dist/builtins/fs/cat.args.js.map +1 -0
- package/dist/builtins/fs/cat.d.ts +2 -2
- package/dist/builtins/fs/cat.js +222 -101
- package/dist/builtins/fs/cat.js.map +1 -1
- package/dist/builtins/fs/cd.js +41 -5
- package/dist/builtins/fs/cd.js.map +1 -1
- package/dist/builtins/fs/cp.js +3 -2
- package/dist/builtins/fs/cp.js.map +1 -1
- package/dist/builtins/fs/download.d.ts +1 -1
- package/dist/builtins/fs/download.js +52 -13
- package/dist/builtins/fs/download.js.map +1 -1
- package/dist/builtins/fs/du.js +15 -1
- package/dist/builtins/fs/du.js.map +1 -1
- package/dist/builtins/fs/ls.js +10 -1
- package/dist/builtins/fs/ls.js.map +1 -1
- package/dist/builtins/fs/mv.js +7 -3
- package/dist/builtins/fs/mv.js.map +1 -1
- package/dist/builtins/fs/pull.args.d.ts +14 -1
- package/dist/builtins/fs/pull.args.js +72 -9
- package/dist/builtins/fs/pull.args.js.map +1 -1
- package/dist/builtins/fs/pull.d.ts +1 -0
- package/dist/builtins/fs/pull.js +191 -259
- package/dist/builtins/fs/pull.js.map +1 -1
- package/dist/builtins/fs/rm.js +4 -0
- package/dist/builtins/fs/rm.js.map +1 -1
- package/dist/builtins/fs/tree.js +7 -3
- package/dist/builtins/fs/tree.js.map +1 -1
- package/dist/builtins/fs/upload.js +29 -2
- package/dist/builtins/fs/upload.js.map +1 -1
- package/dist/builtins/help.d.ts +7 -0
- package/dist/builtins/help.js +144 -36
- package/dist/builtins/help.js.map +1 -1
- package/dist/builtins/index.d.ts +1 -0
- package/dist/builtins/index.js +1 -0
- package/dist/builtins/index.js.map +1 -1
- package/dist/builtins/net/cubepath.js +1 -2
- package/dist/builtins/net/cubepath.js.map +1 -1
- package/dist/builtins/net/pacs.d.ts +1 -0
- package/dist/builtins/net/pacs.js +5 -1
- package/dist/builtins/net/pacs.js.map +1 -1
- package/dist/builtins/net/pacsUtils.d.ts +4 -23
- package/dist/builtins/net/pacsUtils.js +11 -32
- package/dist/builtins/net/pacsUtils.js.map +1 -1
- package/dist/builtins/net/query.js +4 -1
- package/dist/builtins/net/query.js.map +1 -1
- package/dist/builtins/net/status.d.ts +14 -0
- package/dist/builtins/net/status.js +210 -0
- package/dist/builtins/net/status.js.map +1 -0
- package/dist/builtins/pluginExecute.d.ts +3 -2
- package/dist/builtins/pluginExecute.js +41 -70
- package/dist/builtins/pluginExecute.js.map +1 -1
- package/dist/builtins/pluginSelector.d.ts +15 -0
- package/dist/builtins/pluginSelector.js +21 -0
- package/dist/builtins/pluginSelector.js.map +1 -0
- package/dist/builtins/proc.js +106 -4
- package/dist/builtins/proc.js.map +1 -1
- package/dist/builtins/res/compute.js +8 -3
- package/dist/builtins/res/compute.js.map +1 -1
- package/dist/builtins/res/feed.js +3 -3
- package/dist/builtins/res/feed.js.map +1 -1
- package/dist/builtins/res/files.js +2 -2
- package/dist/builtins/res/files.js.map +1 -1
- package/dist/builtins/res/group.d.ts +1 -1
- package/dist/builtins/res/group.js +124 -7
- package/dist/builtins/res/group.js.map +1 -1
- package/dist/builtins/res/pipeline.args.d.ts +4 -0
- package/dist/builtins/res/pipeline.args.js +63 -12
- package/dist/builtins/res/pipeline.args.js.map +1 -1
- package/dist/builtins/res/pipeline.d.ts +3 -1
- package/dist/builtins/res/pipeline.js +155 -60
- package/dist/builtins/res/pipeline.js.map +1 -1
- package/dist/builtins/res/pipeline.manifest.d.ts +15 -0
- package/dist/builtins/res/pipeline.manifest.js +93 -0
- package/dist/builtins/res/pipeline.manifest.js.map +1 -0
- package/dist/builtins/res/plugin.js +16 -9
- package/dist/builtins/res/plugin.js.map +1 -1
- package/dist/builtins/res/plugininstance.js +2 -2
- package/dist/builtins/res/plugininstance.js.map +1 -1
- package/dist/builtins/res/pluginmeta.js +2 -2
- package/dist/builtins/res/pluginmeta.js.map +1 -1
- package/dist/builtins/res/tag.js +2 -2
- package/dist/builtins/res/tag.js.map +1 -1
- package/dist/builtins/res/user.d.ts +8 -0
- package/dist/builtins/res/user.js +87 -0
- package/dist/builtins/res/user.js.map +1 -0
- package/dist/builtins/res/workflow.js +2 -2
- package/dist/builtins/res/workflow.js.map +1 -1
- package/dist/builtins/store.js +24 -3
- package/dist/builtins/store.js.map +1 -1
- package/dist/builtins/sys/fortune.d.ts +9 -0
- package/dist/builtins/sys/fortune.js +16 -1
- package/dist/builtins/sys/fortune.js.map +1 -1
- package/dist/builtins/sys/whoami.d.ts +13 -1
- package/dist/builtins/sys/whoami.js +47 -2
- package/dist/builtins/sys/whoami.js.map +1 -1
- package/dist/builtins/utils.d.ts +25 -1
- package/dist/builtins/utils.js +30 -3
- package/dist/builtins/utils.js.map +1 -1
- package/dist/builtins/wildcard.d.ts +31 -0
- package/dist/builtins/wildcard.js +114 -51
- package/dist/builtins/wildcard.js.map +1 -1
- package/dist/command-keys.js +2 -1
- package/dist/command-keys.js.map +1 -1
- package/dist/core/cancellation.d.ts +28 -0
- package/dist/core/cancellation.js +70 -0
- package/dist/core/cancellation.js.map +1 -0
- package/dist/core/dispatch.d.ts +1 -8
- package/dist/core/dispatch.js +82 -82
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/elevation.d.ts +35 -0
- package/dist/core/elevation.js +77 -0
- package/dist/core/elevation.js.map +1 -0
- package/dist/core/engine.d.ts +12 -0
- package/dist/core/engine.js +35 -8
- package/dist/core/engine.js.map +1 -1
- package/dist/core/preprocess.d.ts +11 -4
- package/dist/core/preprocess.js +43 -10
- package/dist/core/preprocess.js.map +1 -1
- package/dist/core/progress.d.ts +15 -5
- package/dist/core/progress.js +14 -0
- package/dist/core/progress.js.map +1 -1
- package/dist/core/promptContext.d.ts +3 -5
- package/dist/core/promptContext.js +9 -2
- package/dist/core/promptContext.js.map +1 -1
- package/dist/core/sink.d.ts +9 -0
- package/dist/core/sink.js +23 -3
- package/dist/core/sink.js.map +1 -1
- package/dist/core/surface.d.ts +14 -0
- package/dist/core/surface.js +5 -0
- package/dist/core/surface.js.map +1 -1
- package/dist/core/version.d.ts +34 -0
- package/dist/core/version.js +51 -0
- package/dist/core/version.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/completer/index.js +41 -2
- package/dist/lib/completer/index.js.map +1 -1
- package/dist/lib/parser.d.ts +75 -2
- package/dist/lib/parser.js +158 -15
- package/dist/lib/parser.js.map +1 -1
- package/dist/lib/vfs/listing.d.ts +22 -0
- package/dist/lib/vfs/listing.js +14 -0
- package/dist/lib/vfs/listing.js.map +1 -0
- package/dist/lib/vfs/providers/binEntry.d.ts +20 -0
- package/dist/lib/vfs/providers/binEntry.js +47 -0
- package/dist/lib/vfs/providers/binEntry.js.map +1 -0
- package/dist/lib/vfs/providers/static.js +1 -0
- package/dist/lib/vfs/providers/static.js.map +1 -1
- package/dist/lib/vfs/providers/static_content.js +7 -38
- package/dist/lib/vfs/providers/static_content.js.map +1 -1
- package/dist/lib/vfs/vfs.d.ts +7 -0
- package/dist/lib/vfs/vfs.js +28 -2
- package/dist/lib/vfs/vfs.js.map +1 -1
- package/dist/session/index.d.ts +18 -0
- package/dist/session/index.js +29 -1
- package/dist/session/index.js.map +1 -1
- package/package.json +10 -5
|
@@ -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 (
|
|
7
|
+
* - `add` — register a new plugin into CUBE (with spinner)
|
|
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.
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* @module
|
|
13
13
|
*/
|
|
14
14
|
import chalk from 'chalk';
|
|
15
|
-
import { commandArgs_process } from '../utils.js';
|
|
15
|
+
import { commandArgs_process, cliOptions_from } 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
18
|
import { plugin_execute } from '@fnndsc/chili/commands/plugin/run.js';
|
|
@@ -21,8 +21,8 @@ import { pluginList_render, pluginRun_render } from '@fnndsc/chili/views/plugin.
|
|
|
21
21
|
import { table_render } from '@fnndsc/chili/screen/screen.js';
|
|
22
22
|
import { spinner } from '../../lib/spinner.js';
|
|
23
23
|
import { errorStack, envelope_ok, envelope_error } from '@fnndsc/cumin';
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
24
|
+
import { chili_capture } from '@fnndsc/chili/screen/output.js';
|
|
25
|
+
import { authorizationFailure_is, sudoHint_build } from '../../core/elevation.js';
|
|
26
26
|
/**
|
|
27
27
|
* Handles plugin commands.
|
|
28
28
|
*
|
|
@@ -37,7 +37,7 @@ export async function builtin_plugin(args) {
|
|
|
37
37
|
}
|
|
38
38
|
try {
|
|
39
39
|
if (subcommand === 'list') {
|
|
40
|
-
const { plugins, selectedFields, totalCount } = await plugins_fetchList(parsed);
|
|
40
|
+
const { plugins, selectedFields, totalCount } = await plugins_fetchList(cliOptions_from(parsed));
|
|
41
41
|
let rendered = `${pluginList_render(plugins, selectedFields, { table: !!parsed.table, csv: !!parsed.csv })}\n`;
|
|
42
42
|
if (totalCount !== undefined && plugins.length < totalCount) {
|
|
43
43
|
rendered += `${chalk.dim(` ↓ showing ${plugins.length} of ${totalCount} · --all to fetch all · --limit <n> for page size`)}\n`;
|
|
@@ -100,15 +100,19 @@ export async function plugin_addInteractive(parsed) {
|
|
|
100
100
|
public_repo: parsed.publicRepo,
|
|
101
101
|
};
|
|
102
102
|
errorStack.stack_clear();
|
|
103
|
-
adminPrompt_register(repl_question, repl_questionHidden);
|
|
104
103
|
let rendered = `${chalk.cyan(`\nAdding plugin: ${pluginInput}\n`)}\n`;
|
|
105
|
-
const
|
|
104
|
+
const result = { outcome: 'failed' };
|
|
105
|
+
const captured = await chili_capture(async () => {
|
|
106
|
+
result.outcome = await plugin_add(pluginInput, options);
|
|
107
|
+
});
|
|
108
|
+
rendered += captured.out;
|
|
109
|
+
rendered += captured.err;
|
|
106
110
|
spinner.stop();
|
|
107
|
-
if (outcome === 'installed') {
|
|
111
|
+
if (result.outcome === 'installed') {
|
|
108
112
|
rendered += `${chalk.green('\n[SUCCESS] Plugin added successfully!\n')}\n`;
|
|
109
113
|
return envelope_ok(rendered);
|
|
110
114
|
}
|
|
111
|
-
else if (outcome === 'already_exists') {
|
|
115
|
+
else if (result.outcome === 'already_exists') {
|
|
112
116
|
rendered += `${chalk.yellow(`\n[INFO] '${pluginInput}' is already registered in this CUBE.\n`)}\n`;
|
|
113
117
|
return envelope_ok(rendered);
|
|
114
118
|
}
|
|
@@ -123,6 +127,9 @@ export async function plugin_addInteractive(parsed) {
|
|
|
123
127
|
});
|
|
124
128
|
rendered += '\n';
|
|
125
129
|
}
|
|
130
|
+
if (errors.some(authorizationFailure_is)) {
|
|
131
|
+
rendered += `\n${sudoHint_build('plugin add', [pluginInput])}`;
|
|
132
|
+
}
|
|
126
133
|
const warnings = errorStack.allOfType_get('warning');
|
|
127
134
|
if (warnings.length > 0) {
|
|
128
135
|
rendered += `${chalk.yellow('Warnings:')}\n`;
|
|
@@ -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,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/builtins/res/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import chalk from 'chalk';
|
|
8
8
|
import { envelope_ok, envelope_error } from '@fnndsc/cumin';
|
|
9
|
-
import { commandArgs_process } from '../utils.js';
|
|
9
|
+
import { commandArgs_process, cliOptions_from } from '../utils.js';
|
|
10
10
|
import { pluginInstances_fetchList } from '@fnndsc/chili/commands/plugininstances/list.js';
|
|
11
11
|
import { pluginInstanceFields_fetch } from '@fnndsc/chili/commands/plugininstances/fields.js';
|
|
12
12
|
import { table_render } from '@fnndsc/chili/screen/screen.js';
|
|
@@ -20,7 +20,7 @@ export async function builtin_plugininstance(args) {
|
|
|
20
20
|
const subcommand = parsed._[0];
|
|
21
21
|
if (!subcommand || subcommand === 'list') {
|
|
22
22
|
try {
|
|
23
|
-
const { pluginInstances, selectedFields, totalCount } = await pluginInstances_fetchList(parsed);
|
|
23
|
+
const { pluginInstances, selectedFields, totalCount } = await pluginInstances_fetchList(cliOptions_from(parsed));
|
|
24
24
|
if (pluginInstances.length === 0) {
|
|
25
25
|
return envelope_ok(`${chalk.gray('No plugin instances found.')}\n`);
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugininstance.js","sourceRoot":"","sources":["../../../src/builtins/res/plugininstance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAc,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"plugininstance.js","sourceRoot":"","sources":["../../../src/builtins/res/plugininstance.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import chalk from 'chalk';
|
|
8
8
|
import { envelope_ok, envelope_error } from '@fnndsc/cumin';
|
|
9
|
-
import { commandArgs_process } from '../utils.js';
|
|
9
|
+
import { commandArgs_process, cliOptions_from } from '../utils.js';
|
|
10
10
|
import { pluginMetas_fetchList } from '@fnndsc/chili/commands/pluginmetas/list.js';
|
|
11
11
|
import { pluginMetaFields_fetch } from '@fnndsc/chili/commands/pluginmetas/fields.js';
|
|
12
12
|
import { table_render } from '@fnndsc/chili/screen/screen.js';
|
|
@@ -20,7 +20,7 @@ export async function builtin_pluginmeta(args) {
|
|
|
20
20
|
const subcommand = parsed._[0];
|
|
21
21
|
if (!subcommand || subcommand === 'list') {
|
|
22
22
|
try {
|
|
23
|
-
const { pluginMetas, selectedFields, totalCount } = await pluginMetas_fetchList(parsed);
|
|
23
|
+
const { pluginMetas, selectedFields, totalCount } = await pluginMetas_fetchList(cliOptions_from(parsed));
|
|
24
24
|
if (pluginMetas.length === 0) {
|
|
25
25
|
return envelope_ok(`${chalk.gray('No plugin metas found.')}\n`);
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginmeta.js","sourceRoot":"","sources":["../../../src/builtins/res/pluginmeta.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAc,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"pluginmeta.js","sourceRoot":"","sources":["../../../src/builtins/res/pluginmeta.ts"],"names":[],"mappings":"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"}
|
package/dist/builtins/res/tag.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import chalk from 'chalk';
|
|
8
8
|
import { envelope_ok, envelope_error } from '@fnndsc/cumin';
|
|
9
|
-
import { commandArgs_process } from '../utils.js';
|
|
9
|
+
import { commandArgs_process, cliOptions_from } from '../utils.js';
|
|
10
10
|
import { tags_fetchList } from '@fnndsc/chili/commands/tags/list.js';
|
|
11
11
|
import { tagFields_fetch } from '@fnndsc/chili/commands/tags/fields.js';
|
|
12
12
|
import { table_render } from '@fnndsc/chili/screen/screen.js';
|
|
@@ -21,7 +21,7 @@ export async function builtin_tag(args) {
|
|
|
21
21
|
const subcommand = parsed._[0];
|
|
22
22
|
if (!subcommand || subcommand === 'list') {
|
|
23
23
|
try {
|
|
24
|
-
const { tags, selectedFields, totalCount } = await tags_fetchList(parsed);
|
|
24
|
+
const { tags, selectedFields, totalCount } = await tags_fetchList(cliOptions_from(parsed));
|
|
25
25
|
if (tags.length === 0) {
|
|
26
26
|
return envelope_ok(`${chalk.gray('No tags found.')}\n`);
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../src/builtins/res/tag.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAc,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../src/builtins/res/tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type CommandEnvelope } from '@fnndsc/cumin';
|
|
2
|
+
/**
|
|
3
|
+
* Handles targeted local-account lifecycle commands.
|
|
4
|
+
*
|
|
5
|
+
* @param args - Parsed command arguments beginning with an account operation.
|
|
6
|
+
* @returns Envelope containing a local-account result or operation error.
|
|
7
|
+
*/
|
|
8
|
+
export declare function builtin_user(args: string[]): Promise<CommandEnvelope>;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file CUBE-local account administration builtin.
|
|
3
|
+
*
|
|
4
|
+
* This is a targeted control-plane command rather than a ChRIS Resource
|
|
5
|
+
* Command: federated identities remain outside its authority.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import { errorStack, envelope_error, envelope_ok } from '@fnndsc/cumin';
|
|
11
|
+
import { table_render } from '@fnndsc/chili/screen/screen.js';
|
|
12
|
+
import { localAccount_action, localAccount_adminAccessEnsure, localAccount_create, localAccount_find, } from '@fnndsc/chili/commands/users/local.js';
|
|
13
|
+
import { surface_get } from '../../core/surface.js';
|
|
14
|
+
import { authorizationFailure_is, sudoHint_build } from '../../core/elevation.js';
|
|
15
|
+
/**
|
|
16
|
+
* Renders a local-account command error and records a failing process status.
|
|
17
|
+
*
|
|
18
|
+
* @param message - User-facing error text.
|
|
19
|
+
* @returns Error envelope for the active command surface.
|
|
20
|
+
*/
|
|
21
|
+
function user_error(message) {
|
|
22
|
+
process.exitCode = 1;
|
|
23
|
+
return envelope_error('', undefined, `${chalk.red(message)}\n`);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Renders an account-operation failure, including elevation guidance when apt.
|
|
27
|
+
*
|
|
28
|
+
* @param verb - Failed local-account operation.
|
|
29
|
+
* @param username - Target local username.
|
|
30
|
+
* @returns Error envelope for the active command surface.
|
|
31
|
+
*/
|
|
32
|
+
function user_operationError(verb, username) {
|
|
33
|
+
const detail = errorStack.stack_pop()?.message ?? `user ${verb} failed.`;
|
|
34
|
+
const hint = authorizationFailure_is(detail) ? sudoHint_build(`user ${verb}`, [username]) : '';
|
|
35
|
+
return user_error(`${detail}\n${hint}`);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Renders one local account as a stable, operator-oriented table.
|
|
39
|
+
*
|
|
40
|
+
* @param account - Local account returned by CUBE.
|
|
41
|
+
* @returns Success envelope containing the rendered account.
|
|
42
|
+
*/
|
|
43
|
+
function user_render(account) {
|
|
44
|
+
return envelope_ok(table_render([{ ...account }], ['id', 'username', 'email', 'is_active', 'disabled_at', 'removed_at']));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Handles targeted local-account lifecycle commands.
|
|
48
|
+
*
|
|
49
|
+
* @param args - Parsed command arguments beginning with an account operation.
|
|
50
|
+
* @returns Envelope containing a local-account result or operation error.
|
|
51
|
+
*/
|
|
52
|
+
export async function builtin_user(args) {
|
|
53
|
+
const [verb, username] = args;
|
|
54
|
+
if (verb === 'add' || verb === 'inspect' || verb === 'disable' || verb === 'enable' || verb === 'remove') {
|
|
55
|
+
if (!username)
|
|
56
|
+
return user_error(`Usage: user ${verb} <username>`);
|
|
57
|
+
const access = await localAccount_adminAccessEnsure();
|
|
58
|
+
if (!access.ok)
|
|
59
|
+
return user_operationError(verb, username);
|
|
60
|
+
}
|
|
61
|
+
if (verb === 'add') {
|
|
62
|
+
const surface = surface_get();
|
|
63
|
+
if (!surface.capabilities.hiddenInput)
|
|
64
|
+
return user_error('user add: this surface cannot securely collect a password.');
|
|
65
|
+
const email = await surface.prompt({ message: 'Email address: ' });
|
|
66
|
+
const password = await surface.prompt({ message: 'New password: ', hidden: true });
|
|
67
|
+
const confirmation = await surface.prompt({ message: 'Retype new password: ', hidden: true });
|
|
68
|
+
if (password !== confirmation)
|
|
69
|
+
return user_error('user add: passwords do not match.');
|
|
70
|
+
const result = await localAccount_create(username, email, password);
|
|
71
|
+
return result.ok ? user_render(result.value) : user_operationError('add', username);
|
|
72
|
+
}
|
|
73
|
+
if (verb === 'inspect') {
|
|
74
|
+
const result = await localAccount_find(username);
|
|
75
|
+
return result.ok ? user_render(result.value) : user_error(errorStack.stack_pop()?.message ?? `No CUBE-local account named '${username}'.`);
|
|
76
|
+
}
|
|
77
|
+
if (verb === 'disable' || verb === 'enable' || verb === 'remove') {
|
|
78
|
+
const found = await localAccount_find(username);
|
|
79
|
+
if (!found.ok)
|
|
80
|
+
return user_error(errorStack.stack_pop()?.message ?? `No CUBE-local account named '${username}'.`);
|
|
81
|
+
const action = verb;
|
|
82
|
+
const result = await localAccount_action(found.value.id, action);
|
|
83
|
+
return result.ok ? user_render(result.value) : user_operationError(verb, username);
|
|
84
|
+
}
|
|
85
|
+
return user_error('Usage: user <add|inspect|disable|enable|remove> ...');
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/builtins/res/user.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import chalk from 'chalk';
|
|
8
8
|
import { envelope_ok, envelope_error } from '@fnndsc/cumin';
|
|
9
|
-
import { commandArgs_process } from '../utils.js';
|
|
9
|
+
import { commandArgs_process, cliOptions_from } from '../utils.js';
|
|
10
10
|
import { workflows_fetchList } from '@fnndsc/chili/commands/workflows/list.js';
|
|
11
11
|
import { workflowFields_fetch } from '@fnndsc/chili/commands/workflows/fields.js';
|
|
12
12
|
import { table_render } from '@fnndsc/chili/screen/screen.js';
|
|
@@ -20,7 +20,7 @@ export async function builtin_workflow(args) {
|
|
|
20
20
|
const subcommand = parsed._[0];
|
|
21
21
|
if (!subcommand || subcommand === 'list') {
|
|
22
22
|
try {
|
|
23
|
-
const { workflows, selectedFields, totalCount } = await workflows_fetchList(parsed);
|
|
23
|
+
const { workflows, selectedFields, totalCount } = await workflows_fetchList(cliOptions_from(parsed));
|
|
24
24
|
if (workflows.length === 0) {
|
|
25
25
|
return envelope_ok(`${chalk.gray('No workflows found.')}\n`);
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/builtins/res/workflow.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAc,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/builtins/res/workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/builtins/store.js
CHANGED
|
@@ -8,8 +8,21 @@ import { store_listPlugins, store_searchPlugins } from '@fnndsc/chili/commands/s
|
|
|
8
8
|
import { grid_render, long_render } from '@fnndsc/chili/views/ls.js';
|
|
9
9
|
import { spinner } from '../lib/spinner.js';
|
|
10
10
|
import { plugin_addInteractive } from './res/plugin.js';
|
|
11
|
-
import { envelope_ok, envelope_error } from '@fnndsc/cumin';
|
|
11
|
+
import { envelope_ok, envelope_error, errorStack } from '@fnndsc/cumin';
|
|
12
12
|
import { DEFAULT_STORE_URL, storeUrl_get, storeUrl_isDefault, storeUrl_set, storeUrl_clear, storeConfig_persist, } from '../config/storeConfig.js';
|
|
13
|
+
/**
|
|
14
|
+
* Renders a store fetch failure as an error envelope, draining the reason the
|
|
15
|
+
* fetch pushed onto the error stack.
|
|
16
|
+
*
|
|
17
|
+
* @param fallback - Message used when the stack holds no detail.
|
|
18
|
+
* @returns An error envelope with the failure on the err channel.
|
|
19
|
+
*/
|
|
20
|
+
function storeFailure_envelope(fallback) {
|
|
21
|
+
const lastError = errorStack.stack_pop();
|
|
22
|
+
const detail = lastError ? lastError.message : fallback;
|
|
23
|
+
process.exitCode = 1;
|
|
24
|
+
return envelope_error('', undefined, `${chalk.red(detail)}\n`);
|
|
25
|
+
}
|
|
13
26
|
/**
|
|
14
27
|
* Handles store commands.
|
|
15
28
|
*
|
|
@@ -28,8 +41,12 @@ export async function builtin_store(args) {
|
|
|
28
41
|
try {
|
|
29
42
|
spinner.start('Fetching from store...');
|
|
30
43
|
if (subcommand === 'list') {
|
|
31
|
-
const
|
|
44
|
+
const listResult = await store_listPlugins(storeOptions);
|
|
32
45
|
spinner.stop();
|
|
46
|
+
if (!listResult.ok) {
|
|
47
|
+
return storeFailure_envelope('store list failed');
|
|
48
|
+
}
|
|
49
|
+
const items = listResult.value;
|
|
33
50
|
if (items.length === 0) {
|
|
34
51
|
return envelope_ok('No plugins found in store.\n');
|
|
35
52
|
}
|
|
@@ -42,8 +59,12 @@ export async function builtin_store(args) {
|
|
|
42
59
|
spinner.stop();
|
|
43
60
|
return envelope_ok(`${chalk.red("Usage: store search <query>")}\n`);
|
|
44
61
|
}
|
|
45
|
-
const
|
|
62
|
+
const searchResult = await store_searchPlugins(query, storeOptions);
|
|
46
63
|
spinner.stop();
|
|
64
|
+
if (!searchResult.ok) {
|
|
65
|
+
return storeFailure_envelope(`store search failed for '${query}'`);
|
|
66
|
+
}
|
|
67
|
+
const items = searchResult.value;
|
|
47
68
|
if (items.length === 0) {
|
|
48
69
|
return envelope_ok(`No plugins found matching '${query}'.\n`);
|
|
49
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/builtins/store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAc,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAwB,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/builtins/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,15 @@
|
|
|
9
9
|
* @module
|
|
10
10
|
*/
|
|
11
11
|
import { CommandEnvelope } from '@fnndsc/cumin';
|
|
12
|
+
/**
|
|
13
|
+
* Picks a random fortune from the bundled collection.
|
|
14
|
+
*
|
|
15
|
+
* @param maxLines - Optional upper bound on the fortune's line count, so a
|
|
16
|
+
* boot banner can favour short cookies. When the bound filters everything
|
|
17
|
+
* out, the full collection is used rather than returning nothing.
|
|
18
|
+
* @returns The chosen fortune text (no trailing newline).
|
|
19
|
+
*/
|
|
20
|
+
export declare function fortune_random(maxLines?: number): string;
|
|
12
21
|
/**
|
|
13
22
|
* Reports a random fortune as a command envelope.
|
|
14
23
|
*
|
|
@@ -10,6 +10,21 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { envelope_ok } from '@fnndsc/cumin';
|
|
12
12
|
import { FORTUNES } from './fortunes.data.js';
|
|
13
|
+
/**
|
|
14
|
+
* Picks a random fortune from the bundled collection.
|
|
15
|
+
*
|
|
16
|
+
* @param maxLines - Optional upper bound on the fortune's line count, so a
|
|
17
|
+
* boot banner can favour short cookies. When the bound filters everything
|
|
18
|
+
* out, the full collection is used rather than returning nothing.
|
|
19
|
+
* @returns The chosen fortune text (no trailing newline).
|
|
20
|
+
*/
|
|
21
|
+
export function fortune_random(maxLines) {
|
|
22
|
+
const bounded = maxLines !== undefined
|
|
23
|
+
? FORTUNES.filter((f) => f.split('\n').length <= maxLines)
|
|
24
|
+
: FORTUNES;
|
|
25
|
+
const pool = bounded.length > 0 ? bounded : FORTUNES;
|
|
26
|
+
return pool[Math.floor(Math.random() * pool.length)];
|
|
27
|
+
}
|
|
13
28
|
/**
|
|
14
29
|
* Reports a random fortune as a command envelope.
|
|
15
30
|
*
|
|
@@ -17,7 +32,7 @@ import { FORTUNES } from './fortunes.data.js';
|
|
|
17
32
|
* @returns An envelope carrying the chosen fortune and a typed model of it.
|
|
18
33
|
*/
|
|
19
34
|
export async function builtin_fortune(_args) {
|
|
20
|
-
const fortune =
|
|
35
|
+
const fortune = fortune_random();
|
|
21
36
|
return envelope_ok(`${fortune}\n`, {
|
|
22
37
|
kind: 'sys.fortune',
|
|
23
38
|
data: { fortune },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fortune.js","sourceRoot":"","sources":["../../../src/builtins/sys/fortune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAmB,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C
|
|
1
|
+
{"version":3,"file":"fortune.js","sourceRoot":"","sources":["../../../src/builtins/sys/fortune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAmB,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,QAAiB;IAC9C,MAAM,OAAO,GACX,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC;QAC3E,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,IAAI,GAAsB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAe;IACnD,MAAM,OAAO,GAAW,cAAc,EAAE,CAAC;IACzC,OAAO,WAAW,CAAC,GAAG,OAAO,IAAI,EAAE;QACjC,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,EAAE,OAAO,EAAE;KAClB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import { CommandEnvelope } from '@fnndsc/cumin';
|
|
1
|
+
import { type CommandEnvelope } from '@fnndsc/cumin';
|
|
2
|
+
/**
|
|
3
|
+
* Reports the current ChRIS identity using Unix `id` notation.
|
|
4
|
+
*
|
|
5
|
+
* CUBE exposes a numeric user ID but no primary-group field. ChELL therefore
|
|
6
|
+
* uses the same POSIX projection as `/etc/passwd`: the primary GID and group
|
|
7
|
+
* name equal the user's ID and username.
|
|
8
|
+
*
|
|
9
|
+
* @param _args - Unused.
|
|
10
|
+
* @returns An envelope carrying numeric UID/GID identity and every CUBE group
|
|
11
|
+
* membership, or an error envelope when identity cannot be resolved.
|
|
12
|
+
*/
|
|
13
|
+
export declare function builtin_id(_args: string[]): Promise<CommandEnvelope>;
|
|
2
14
|
/**
|
|
3
15
|
* Reports the current authenticated ChRIS username.
|
|
4
16
|
*
|
|
@@ -1,10 +1,55 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file Builtins whoami and whereami.
|
|
2
|
+
* @file Builtins id, whoami, and whereami.
|
|
3
3
|
* Quick single-line identity queries, reported as command envelopes.
|
|
4
4
|
*/
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import { context_getSingle } from '@fnndsc/salsa';
|
|
7
|
-
import {
|
|
7
|
+
import { currentIdentity_get, envelope_error, envelope_ok, } from '@fnndsc/cumin';
|
|
8
|
+
/**
|
|
9
|
+
* Reports the current ChRIS identity using Unix `id` notation.
|
|
10
|
+
*
|
|
11
|
+
* CUBE exposes a numeric user ID but no primary-group field. ChELL therefore
|
|
12
|
+
* uses the same POSIX projection as `/etc/passwd`: the primary GID and group
|
|
13
|
+
* name equal the user's ID and username.
|
|
14
|
+
*
|
|
15
|
+
* @param _args - Unused.
|
|
16
|
+
* @returns An envelope carrying numeric UID/GID identity and every CUBE group
|
|
17
|
+
* membership, or an error envelope when identity cannot be resolved.
|
|
18
|
+
*/
|
|
19
|
+
export async function builtin_id(_args) {
|
|
20
|
+
const result = await currentIdentity_get();
|
|
21
|
+
if (!result.ok) {
|
|
22
|
+
process.exitCode = 1;
|
|
23
|
+
return envelope_error(`${chalk.gray('(identity unavailable)')}\n`);
|
|
24
|
+
}
|
|
25
|
+
const identity = result.value;
|
|
26
|
+
const primaryGroup = {
|
|
27
|
+
gid: identity.user.id,
|
|
28
|
+
group: identity.user.username,
|
|
29
|
+
};
|
|
30
|
+
const memberships = identity.groups
|
|
31
|
+
.map((membership) => ({
|
|
32
|
+
gid: membership.id,
|
|
33
|
+
group: membership.name,
|
|
34
|
+
}))
|
|
35
|
+
.filter((membership) => membership.gid !== primaryGroup.gid || membership.group !== primaryGroup.group)
|
|
36
|
+
.sort((left, right) => left.gid - right.gid || left.group.localeCompare(right.group));
|
|
37
|
+
const groups = [primaryGroup, ...memberships];
|
|
38
|
+
const renderedGroups = groups
|
|
39
|
+
.map((membership) => `${membership.gid}(${membership.group})`)
|
|
40
|
+
.join(',');
|
|
41
|
+
return envelope_ok(`uid=${identity.user.id}(${identity.user.username}) `
|
|
42
|
+
+ `gid=${primaryGroup.gid}(${primaryGroup.group}) groups=${renderedGroups}\n`, {
|
|
43
|
+
kind: 'session.posixIdentity',
|
|
44
|
+
data: {
|
|
45
|
+
uid: identity.user.id,
|
|
46
|
+
user: identity.user.username,
|
|
47
|
+
gid: primaryGroup.gid,
|
|
48
|
+
group: primaryGroup.group,
|
|
49
|
+
groups,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
}
|
|
8
53
|
/**
|
|
9
54
|
* Reports the current authenticated ChRIS username.
|
|
10
55
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../../src/builtins/sys/whoami.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../../src/builtins/sys/whoami.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,WAAW,GAMZ,MAAM,eAAe,CAAC;AAQvB;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAe;IAC9C,MAAM,MAAM,GAA0B,MAAM,mBAAmB,EAAE,CAAC;IAClE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,cAAc,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAkB,MAAM,CAAC,KAAK,CAAC;IAC7C,MAAM,YAAY,GAAuB;QACvC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;QACrB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;KAC9B,CAAC;IACF,MAAM,WAAW,GAAyB,QAAQ,CAAC,MAAM;SACtD,GAAG,CAAC,CAAC,UAAsB,EAAsB,EAAE,CAAC,CAAC;QACpD,GAAG,EAAE,UAAU,CAAC,EAAE;QAClB,KAAK,EAAE,UAAU,CAAC,IAAI;KACvB,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,UAA8B,EAAW,EAAE,CAClD,UAAU,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,IAAI,UAAU,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,CAAC;SAChF,IAAI,CAAC,CAAC,IAAwB,EAAE,KAAyB,EAAU,EAAE,CACpE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAyB,CAAC,YAAY,EAAE,GAAG,WAAW,CAAC,CAAC;IACpE,MAAM,cAAc,GAAW,MAAM;SAClC,GAAG,CAAC,CAAC,UAA8B,EAAU,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC;SACzF,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,WAAW,CAChB,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI;UACjD,OAAO,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,YAAY,cAAc,IAAI,EAC/E;QACE,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE;YACJ,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;YAC5B,GAAG,EAAE,YAAY,CAAC,GAAG;YACrB,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,MAAM;SACP;KACF,CACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAe;IAClD,MAAM,OAAO,GAAkB,MAAM,iBAAiB,EAAE,CAAC;IACzD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YAClD,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,cAAc,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAe;IACpD,MAAM,OAAO,GAAkB,MAAM,iBAAiB,EAAE,CAAC;IACzD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YACjD,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,cAAc,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC"}
|
package/dist/builtins/utils.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CLIoptions } from '@fnndsc/chili/utils/cli.js';
|
|
1
2
|
/**
|
|
2
3
|
* Structure for parsed command line arguments.
|
|
3
4
|
*/
|
|
@@ -5,11 +6,34 @@ export interface ParsedArgs {
|
|
|
5
6
|
_: string[];
|
|
6
7
|
[key: string]: string | boolean | string[];
|
|
7
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Bridges POSIX-parsed builtin arguments to chili's CLI option bag.
|
|
11
|
+
*
|
|
12
|
+
* ParsedArgs and CLIoptions carry incompatible index signatures, so the
|
|
13
|
+
* conversion is a real copy (positional `_` dropped), not a cast.
|
|
14
|
+
*
|
|
15
|
+
* @param parsed - Arguments from `commandArgs_process`.
|
|
16
|
+
* @returns The same flags as a chili CLIoptions object.
|
|
17
|
+
*/
|
|
18
|
+
export declare function cliOptions_from(parsed: ParsedArgs): CLIoptions;
|
|
19
|
+
/**
|
|
20
|
+
* Parsing policy for command-specific long options.
|
|
21
|
+
*
|
|
22
|
+
* @property booleanLongOptions - Flags that must retain a following operand.
|
|
23
|
+
*/
|
|
24
|
+
export interface CommandArgsOptions {
|
|
25
|
+
/** Long options which are flags and must never consume a following operand. */
|
|
26
|
+
booleanLongOptions?: readonly string[];
|
|
27
|
+
}
|
|
8
28
|
/**
|
|
9
29
|
* Parses raw argument strings into a structured object.
|
|
10
30
|
* Supports `--` as an end-of-options marker (everything after is treated as positional args).
|
|
31
|
+
*
|
|
32
|
+
* @param args - Tokenized command arguments.
|
|
33
|
+
* @param options - Command-specific long-option policy.
|
|
34
|
+
* @returns Parsed option values and positional operands.
|
|
11
35
|
*/
|
|
12
|
-
export declare function commandArgs_process(args: string[]): ParsedArgs;
|
|
36
|
+
export declare function commandArgs_process(args: string[], options?: CommandArgsOptions): ParsedArgs;
|
|
13
37
|
/**
|
|
14
38
|
* Context required for path resolution.
|
|
15
39
|
*/
|