@fnndsc/brasa 0.1.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/builtins/debug.d.ts +8 -0
- package/dist/builtins/debug.js +39 -0
- package/dist/builtins/debug.js.map +1 -0
- package/dist/builtins/executable.d.ts +22 -0
- package/dist/builtins/executable.js +115 -0
- package/dist/builtins/executable.js.map +1 -0
- package/dist/builtins/fs/cat.d.ts +16 -0
- package/dist/builtins/fs/cat.js +266 -0
- package/dist/builtins/fs/cat.js.map +1 -0
- package/dist/builtins/fs/cd.d.ts +42 -0
- package/dist/builtins/fs/cd.js +193 -0
- package/dist/builtins/fs/cd.js.map +1 -0
- package/dist/builtins/fs/cp.d.ts +10 -0
- package/dist/builtins/fs/cp.js +86 -0
- package/dist/builtins/fs/cp.js.map +1 -0
- package/dist/builtins/fs/download.d.ts +6 -0
- package/dist/builtins/fs/download.js +45 -0
- package/dist/builtins/fs/download.js.map +1 -0
- package/dist/builtins/fs/du.d.ts +58 -0
- package/dist/builtins/fs/du.js +210 -0
- package/dist/builtins/fs/du.js.map +1 -0
- package/dist/builtins/fs/edit.d.ts +7 -0
- package/dist/builtins/fs/edit.js +104 -0
- package/dist/builtins/fs/edit.js.map +1 -0
- package/dist/builtins/fs/ls.d.ts +8 -0
- package/dist/builtins/fs/ls.js +68 -0
- package/dist/builtins/fs/ls.js.map +1 -0
- package/dist/builtins/fs/mkdir.d.ts +9 -0
- package/dist/builtins/fs/mkdir.js +52 -0
- package/dist/builtins/fs/mkdir.js.map +1 -0
- package/dist/builtins/fs/mv.d.ts +10 -0
- package/dist/builtins/fs/mv.js +88 -0
- package/dist/builtins/fs/mv.js.map +1 -0
- package/dist/builtins/fs/pull.args.d.ts +22 -0
- package/dist/builtins/fs/pull.args.js +30 -0
- package/dist/builtins/fs/pull.args.js.map +1 -0
- package/dist/builtins/fs/pull.d.ts +26 -0
- package/dist/builtins/fs/pull.js +445 -0
- package/dist/builtins/fs/pull.js.map +1 -0
- package/dist/builtins/fs/pwd.d.ts +10 -0
- package/dist/builtins/fs/pwd.js +73 -0
- package/dist/builtins/fs/pwd.js.map +1 -0
- package/dist/builtins/fs/rm.d.ts +37 -0
- package/dist/builtins/fs/rm.js +197 -0
- package/dist/builtins/fs/rm.js.map +1 -0
- package/dist/builtins/fs/touch.d.ts +9 -0
- package/dist/builtins/fs/touch.js +76 -0
- package/dist/builtins/fs/touch.js.map +1 -0
- package/dist/builtins/fs/tree.d.ts +15 -0
- package/dist/builtins/fs/tree.js +84 -0
- package/dist/builtins/fs/tree.js.map +1 -0
- package/dist/builtins/fs/upload.d.ts +6 -0
- package/dist/builtins/fs/upload.js +48 -0
- package/dist/builtins/fs/upload.js.map +1 -0
- package/dist/builtins/help.d.ts +74 -0
- package/dist/builtins/help.js +1217 -0
- package/dist/builtins/help.js.map +1 -0
- package/dist/builtins/index.d.ts +45 -0
- package/dist/builtins/index.js +45 -0
- package/dist/builtins/index.js.map +1 -0
- package/dist/builtins/net/connect.d.ts +7 -0
- package/dist/builtins/net/connect.js +42 -0
- package/dist/builtins/net/connect.js.map +1 -0
- package/dist/builtins/net/cubepath.d.ts +18 -0
- package/dist/builtins/net/cubepath.js +102 -0
- package/dist/builtins/net/cubepath.js.map +1 -0
- package/dist/builtins/net/logout.d.ts +6 -0
- package/dist/builtins/net/logout.js +24 -0
- package/dist/builtins/net/logout.js.map +1 -0
- package/dist/builtins/net/pacs.d.ts +24 -0
- package/dist/builtins/net/pacs.js +121 -0
- package/dist/builtins/net/pacs.js.map +1 -0
- package/dist/builtins/net/pacsUtils.d.ts +85 -0
- package/dist/builtins/net/pacsUtils.js +184 -0
- package/dist/builtins/net/pacsUtils.js.map +1 -0
- package/dist/builtins/net/query.d.ts +60 -0
- package/dist/builtins/net/query.js +324 -0
- package/dist/builtins/net/query.js.map +1 -0
- package/dist/builtins/parametersofplugin.d.ts +13 -0
- package/dist/builtins/parametersofplugin.js +43 -0
- package/dist/builtins/parametersofplugin.js.map +1 -0
- package/dist/builtins/pluginExecute.d.ts +27 -0
- package/dist/builtins/pluginExecute.js +165 -0
- package/dist/builtins/pluginExecute.js.map +1 -0
- package/dist/builtins/proc.d.ts +6 -0
- package/dist/builtins/proc.helpers.d.ts +68 -0
- package/dist/builtins/proc.helpers.js +102 -0
- package/dist/builtins/proc.helpers.js.map +1 -0
- package/dist/builtins/proc.js +289 -0
- package/dist/builtins/proc.js.map +1 -0
- package/dist/builtins/res/compute.d.ts +6 -0
- package/dist/builtins/res/compute.js +55 -0
- package/dist/builtins/res/compute.js.map +1 -0
- package/dist/builtins/res/feed.d.ts +6 -0
- package/dist/builtins/res/feed.js +244 -0
- package/dist/builtins/res/feed.js.map +1 -0
- package/dist/builtins/res/feed.notes.d.ts +28 -0
- package/dist/builtins/res/feed.notes.js +24 -0
- package/dist/builtins/res/feed.notes.js.map +1 -0
- package/dist/builtins/res/files.d.ts +18 -0
- package/dist/builtins/res/files.js +85 -0
- package/dist/builtins/res/files.js.map +1 -0
- package/dist/builtins/res/group.d.ts +6 -0
- package/dist/builtins/res/group.js +54 -0
- package/dist/builtins/res/group.js.map +1 -0
- package/dist/builtins/res/pipeline.args.d.ts +22 -0
- package/dist/builtins/res/pipeline.args.js +28 -0
- package/dist/builtins/res/pipeline.args.js.map +1 -0
- package/dist/builtins/res/pipeline.d.ts +20 -0
- package/dist/builtins/res/pipeline.js +252 -0
- package/dist/builtins/res/pipeline.js.map +1 -0
- package/dist/builtins/res/plugin.d.ts +13 -0
- package/dist/builtins/res/plugin.js +140 -0
- package/dist/builtins/res/plugin.js.map +1 -0
- package/dist/builtins/res/plugininstance.d.ts +6 -0
- package/dist/builtins/res/plugininstance.js +53 -0
- package/dist/builtins/res/plugininstance.js.map +1 -0
- package/dist/builtins/res/pluginmeta.d.ts +6 -0
- package/dist/builtins/res/pluginmeta.js +53 -0
- package/dist/builtins/res/pluginmeta.js.map +1 -0
- package/dist/builtins/res/tag.d.ts +6 -0
- package/dist/builtins/res/tag.js +53 -0
- package/dist/builtins/res/tag.js.map +1 -0
- package/dist/builtins/res/workflow.d.ts +6 -0
- package/dist/builtins/res/workflow.js +53 -0
- package/dist/builtins/res/workflow.js.map +1 -0
- package/dist/builtins/store.d.ts +6 -0
- package/dist/builtins/store.js +107 -0
- package/dist/builtins/store.js.map +1 -0
- package/dist/builtins/sys/context.d.ts +6 -0
- package/dist/builtins/sys/context.js +50 -0
- package/dist/builtins/sys/context.js.map +1 -0
- package/dist/builtins/sys/physicalmode.d.ts +8 -0
- package/dist/builtins/sys/physicalmode.js +34 -0
- package/dist/builtins/sys/physicalmode.js.map +1 -0
- package/dist/builtins/sys/timing.d.ts +8 -0
- package/dist/builtins/sys/timing.js +34 -0
- package/dist/builtins/sys/timing.js.map +1 -0
- package/dist/builtins/sys/version.d.ts +15 -0
- package/dist/builtins/sys/version.js +23 -0
- package/dist/builtins/sys/version.js.map +1 -0
- package/dist/builtins/sys/whoami.d.ts +17 -0
- package/dist/builtins/sys/whoami.js +44 -0
- package/dist/builtins/sys/whoami.js.map +1 -0
- package/dist/builtins/utils.d.ts +55 -0
- package/dist/builtins/utils.js +145 -0
- package/dist/builtins/utils.js.map +1 -0
- package/dist/builtins/wildcard.d.ts +26 -0
- package/dist/builtins/wildcard.js +120 -0
- package/dist/builtins/wildcard.js.map +1 -0
- package/dist/command-keys.d.ts +8 -0
- package/dist/command-keys.js +32 -0
- package/dist/command-keys.js.map +1 -0
- package/dist/config/storeConfig.d.ts +57 -0
- package/dist/config/storeConfig.js +78 -0
- package/dist/config/storeConfig.js.map +1 -0
- package/dist/core/chiliDelegate.d.ts +21 -0
- package/dist/core/chiliDelegate.js +32 -0
- package/dist/core/chiliDelegate.js.map +1 -0
- package/dist/core/connect.d.ts +38 -0
- package/dist/core/connect.js +46 -0
- package/dist/core/connect.js.map +1 -0
- package/dist/core/dispatch.d.ts +95 -0
- package/dist/core/dispatch.js +618 -0
- package/dist/core/dispatch.js.map +1 -0
- package/dist/core/engine.d.ts +91 -0
- package/dist/core/engine.js +222 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/preprocess.d.ts +46 -0
- package/dist/core/preprocess.js +146 -0
- package/dist/core/preprocess.js.map +1 -0
- package/dist/core/progress.d.ts +50 -0
- package/dist/core/progress.js +21 -0
- package/dist/core/progress.js.map +1 -0
- package/dist/core/promptContext.d.ts +49 -0
- package/dist/core/promptContext.js +39 -0
- package/dist/core/promptContext.js.map +1 -0
- package/dist/core/question.d.ts +27 -0
- package/dist/core/question.js +33 -0
- package/dist/core/question.js.map +1 -0
- package/dist/core/sink.d.ts +207 -0
- package/dist/core/sink.js +329 -0
- package/dist/core/sink.js.map +1 -0
- package/dist/core/surface.d.ts +172 -0
- package/dist/core/surface.js +105 -0
- package/dist/core/surface.js.map +1 -0
- package/dist/core/version.d.ts +20 -0
- package/dist/core/version.js +82 -0
- package/dist/core/version.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/completer/index.d.ts +15 -0
- package/dist/lib/completer/index.js +212 -0
- package/dist/lib/completer/index.js.map +1 -0
- package/dist/lib/completer/pathComplete.helpers.d.ts +22 -0
- package/dist/lib/completer/pathComplete.helpers.js +49 -0
- package/dist/lib/completer/pathComplete.helpers.js.map +1 -0
- package/dist/lib/parser.d.ts +13 -0
- package/dist/lib/parser.js +52 -0
- package/dist/lib/parser.js.map +1 -0
- package/dist/lib/pipe.d.ts +11 -0
- package/dist/lib/pipe.js +90 -0
- package/dist/lib/pipe.js.map +1 -0
- package/dist/lib/prefetch.d.ts +25 -0
- package/dist/lib/prefetch.js +64 -0
- package/dist/lib/prefetch.js.map +1 -0
- package/dist/lib/semicolonParser.d.ts +22 -0
- package/dist/lib/semicolonParser.js +53 -0
- package/dist/lib/semicolonParser.js.map +1 -0
- package/dist/lib/spinner.d.ts +23 -0
- package/dist/lib/spinner.js +71 -0
- package/dist/lib/spinner.js.map +1 -0
- package/dist/lib/vfs/providers/static.d.ts +65 -0
- package/dist/lib/vfs/providers/static.js +164 -0
- package/dist/lib/vfs/providers/static.js.map +1 -0
- package/dist/lib/vfs/providers/static_content.d.ts +27 -0
- package/dist/lib/vfs/providers/static_content.js +180 -0
- package/dist/lib/vfs/providers/static_content.js.map +1 -0
- package/dist/lib/vfs/vfs.d.ts +59 -0
- package/dist/lib/vfs/vfs.js +202 -0
- package/dist/lib/vfs/vfs.js.map +1 -0
- package/dist/session/index.d.ts +76 -0
- package/dist/session/index.js +120 -0
- package/dist/session/index.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Builtin plugin/plugins command.
|
|
3
|
+
*
|
|
4
|
+
* Handles plugin management in chell. Subcommands:
|
|
5
|
+
* - `list` — fetch and render the plugin collection via chili
|
|
6
|
+
* - `run` — execute a plugin instance by searchable name/id
|
|
7
|
+
* - `add` — register a new plugin into CUBE (interactive, with spinner)
|
|
8
|
+
*
|
|
9
|
+
* Unknown subcommands fall through to a spawned chili process.
|
|
10
|
+
* `plugin` and `plugins` are both registered as aliases in COMMAND_HANDLERS.
|
|
11
|
+
*
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
import chalk from 'chalk';
|
|
15
|
+
import { commandArgs_process } from '../utils.js';
|
|
16
|
+
import { plugins_fetchList } from '@fnndsc/chili/commands/plugins/list.js';
|
|
17
|
+
import { pluginFields_fetch } from '@fnndsc/chili/commands/plugins/fields.js';
|
|
18
|
+
import { plugin_execute } from '@fnndsc/chili/commands/plugin/run.js';
|
|
19
|
+
import { plugin_add } from '@fnndsc/chili/commands/plugins/add.js';
|
|
20
|
+
import { pluginList_render, pluginRun_render } from '@fnndsc/chili/views/plugin.js';
|
|
21
|
+
import { table_display } from '@fnndsc/chili/screen/screen.js';
|
|
22
|
+
import { chiliCommand_run } from '../../core/chiliDelegate.js';
|
|
23
|
+
import { spinner } from '../../lib/spinner.js';
|
|
24
|
+
import { errorStack } from '@fnndsc/cumin';
|
|
25
|
+
import { adminPrompt_register } from '@fnndsc/chili/utils/admin_prompt.js';
|
|
26
|
+
import { repl_question, repl_questionHidden } from '../../core/question.js';
|
|
27
|
+
/**
|
|
28
|
+
* Handles plugin commands.
|
|
29
|
+
*
|
|
30
|
+
* @param args - command arguments.
|
|
31
|
+
*/
|
|
32
|
+
export async function builtin_plugin(args) {
|
|
33
|
+
const parsed = commandArgs_process(args);
|
|
34
|
+
const subcommand = parsed._[0];
|
|
35
|
+
if (!subcommand) {
|
|
36
|
+
console.log(chalk.red("Usage: plugin <list|run|add> ..."));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
if (subcommand === 'list') {
|
|
41
|
+
const { plugins, selectedFields, totalCount } = await plugins_fetchList(parsed);
|
|
42
|
+
console.log(pluginList_render(plugins, selectedFields, { table: !!parsed.table, csv: !!parsed.csv }));
|
|
43
|
+
if (totalCount !== undefined && plugins.length < totalCount) {
|
|
44
|
+
console.log(chalk.dim(` ↓ showing ${plugins.length} of ${totalCount} · --all to fetch all · --limit <n> for page size`));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (subcommand === 'run') {
|
|
48
|
+
const searchable = parsed._[1];
|
|
49
|
+
if (!searchable) {
|
|
50
|
+
console.log(chalk.red("Usage: plugin run <plugin> [args...]"));
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const params = args.slice(2).join(' ');
|
|
54
|
+
const instance = await plugin_execute(searchable, params);
|
|
55
|
+
if (instance) {
|
|
56
|
+
console.log(pluginRun_render(instance));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.error(chalk.red("Plugin execution failed."));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else if (subcommand === 'add') {
|
|
63
|
+
await plugin_addInteractive(parsed);
|
|
64
|
+
}
|
|
65
|
+
else if (subcommand === 'inspect') {
|
|
66
|
+
const fields = await pluginFields_fetch();
|
|
67
|
+
if (fields && fields.length > 0) {
|
|
68
|
+
table_display(fields.map((f) => ({ field: f })), ['field'], { title: { title: 'Plugin fields', justification: 'center' } });
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
console.log(chalk.gray('No fields found.'));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else if (subcommand === 'search') {
|
|
75
|
+
const query = parsed._[1] ?? '';
|
|
76
|
+
await builtin_plugin(['list', `--search`, query]);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
console.log(chalk.yellow('Directive not handled by chell... spawning chili directly'));
|
|
80
|
+
await chiliCommand_run('plugins', ['-s', ...args]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
85
|
+
console.error(chalk.red(`Plugin error: ${msg}`));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Interactive plugin add command with spinner and colored output.
|
|
90
|
+
*
|
|
91
|
+
* @param parsed - Parsed command arguments.
|
|
92
|
+
*/
|
|
93
|
+
export async function plugin_addInteractive(parsed) {
|
|
94
|
+
const pluginInput = parsed._[1];
|
|
95
|
+
if (!pluginInput) {
|
|
96
|
+
console.log(chalk.red('Usage: plugin add <name|image|url> [--compute <resources>] [--store <url>]'));
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const options = {
|
|
100
|
+
compute: parsed.compute,
|
|
101
|
+
store: parsed.store,
|
|
102
|
+
adminUser: parsed.adminUser,
|
|
103
|
+
adminPassword: parsed.adminPassword,
|
|
104
|
+
public_repo: parsed.publicRepo,
|
|
105
|
+
};
|
|
106
|
+
errorStack.stack_clear();
|
|
107
|
+
adminPrompt_register(repl_question, repl_questionHidden);
|
|
108
|
+
console.log(chalk.cyan(`\nAdding plugin: ${pluginInput}\n`));
|
|
109
|
+
const outcome = await plugin_add(pluginInput, options);
|
|
110
|
+
spinner.stop();
|
|
111
|
+
if (outcome === 'installed') {
|
|
112
|
+
console.log(chalk.green('\n[SUCCESS] Plugin added successfully!\n'));
|
|
113
|
+
}
|
|
114
|
+
else if (outcome === 'already_exists') {
|
|
115
|
+
console.log(chalk.yellow(`\n[INFO] '${pluginInput}' is already registered in this CUBE.\n`));
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
process.exitCode = 1;
|
|
119
|
+
console.log(chalk.red('\n[FAILED] Failed to add plugin.\n'));
|
|
120
|
+
const errors = errorStack.allOfType_get('error');
|
|
121
|
+
if (errors.length > 0) {
|
|
122
|
+
console.log(chalk.red('Errors:'));
|
|
123
|
+
errors.forEach((error) => {
|
|
124
|
+
const cleanError = error.replace(/^\[.*?\]\s+\|\s+/, '');
|
|
125
|
+
console.log(chalk.red(` - ${cleanError}`));
|
|
126
|
+
});
|
|
127
|
+
console.log('');
|
|
128
|
+
}
|
|
129
|
+
const warnings = errorStack.allOfType_get('warning');
|
|
130
|
+
if (warnings.length > 0) {
|
|
131
|
+
console.log(chalk.yellow('Warnings:'));
|
|
132
|
+
warnings.forEach((warning) => {
|
|
133
|
+
const cleanWarning = warning.replace(/^\[.*?\]\s+\|\s+/, '');
|
|
134
|
+
console.log(chalk.yellow(` [WARNING] ${cleanWarning}`));
|
|
135
|
+
});
|
|
136
|
+
console.log('');
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/builtins/res/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Builtin plugininstance command.
|
|
3
|
+
*
|
|
4
|
+
* Subcommands: list, search, inspect
|
|
5
|
+
* Aliases: plugininstance / plugininstances / instance / instances / job / jobs
|
|
6
|
+
*/
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
import { commandArgs_process } from '../utils.js';
|
|
9
|
+
import { pluginInstances_fetchList } from '@fnndsc/chili/commands/plugininstances/list.js';
|
|
10
|
+
import { pluginInstanceFields_fetch } from '@fnndsc/chili/commands/plugininstances/fields.js';
|
|
11
|
+
import { table_display } from '@fnndsc/chili/screen/screen.js';
|
|
12
|
+
/**
|
|
13
|
+
* Builtin handler for the `plugininstance` command.
|
|
14
|
+
*
|
|
15
|
+
* @param args - Parsed command arguments for the plugin-instance command.
|
|
16
|
+
*/
|
|
17
|
+
export async function builtin_plugininstance(args) {
|
|
18
|
+
const parsed = commandArgs_process(args);
|
|
19
|
+
const subcommand = parsed._[0];
|
|
20
|
+
if (!subcommand || subcommand === 'list') {
|
|
21
|
+
try {
|
|
22
|
+
const { pluginInstances, selectedFields, totalCount } = await pluginInstances_fetchList(parsed);
|
|
23
|
+
if (pluginInstances.length === 0) {
|
|
24
|
+
console.log(chalk.gray('No plugin instances found.'));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
table_display(pluginInstances, selectedFields, { title: { title: 'Plugin Instances', justification: 'center' }, pagination: totalCount !== undefined ? { shown: pluginInstances.length, total: totalCount } : undefined });
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
process.exitCode = 1;
|
|
31
|
+
console.error(chalk.red(`plugininstance error: ${e instanceof Error ? e.message : String(e)}`));
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (subcommand === 'search') {
|
|
36
|
+
const query = parsed._[1] ?? '';
|
|
37
|
+
await builtin_plugininstance([...args.filter((a) => a !== subcommand), `--search`, query]);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (subcommand === 'inspect') {
|
|
41
|
+
const fields = await pluginInstanceFields_fetch();
|
|
42
|
+
if (fields && fields.length > 0) {
|
|
43
|
+
table_display(fields.map((f) => ({ field: f })), ['field'], { title: { title: 'Plugin Instance fields', justification: 'center' } });
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.log(chalk.gray('No fields found for plugin instances.'));
|
|
47
|
+
}
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
process.exitCode = 1;
|
|
51
|
+
console.log(chalk.red(`Unknown subcommand: ${subcommand}. Usage: plugininstances <list|search|inspect>`));
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=plugininstance.js.map
|
|
@@ -0,0 +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,EAAE,mBAAmB,EAAc,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAA4B,MAAM,gDAAgD,CAAC;AACrH,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAc;IACzD,MAAM,MAAM,GAAe,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,UAAU,GAAuB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,GAA6B,MAAM,yBAAyB,CAAC,MAA+B,CAAC,CAAC;YACnJ,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACpG,aAAa,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7N,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,sBAAsB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QACnG,OAAO;IACT,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAoB,MAAM,0BAA0B,EAAE,CAAC;QACnE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/I,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,UAAU,gDAAgD,CAAC,CAAC,CAAC;AAC5G,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Builtin pluginmeta command.
|
|
3
|
+
*
|
|
4
|
+
* Subcommands: list, search, inspect
|
|
5
|
+
* Aliases: pluginmeta / pluginmetas / meta / metas
|
|
6
|
+
*/
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
import { commandArgs_process } from '../utils.js';
|
|
9
|
+
import { pluginMetas_fetchList } from '@fnndsc/chili/commands/pluginmetas/list.js';
|
|
10
|
+
import { pluginMetaFields_fetch } from '@fnndsc/chili/commands/pluginmetas/fields.js';
|
|
11
|
+
import { table_display } from '@fnndsc/chili/screen/screen.js';
|
|
12
|
+
/**
|
|
13
|
+
* Builtin handler for the `pluginmeta` command.
|
|
14
|
+
*
|
|
15
|
+
* @param args - Parsed command arguments for the plugin-meta command.
|
|
16
|
+
*/
|
|
17
|
+
export async function builtin_pluginmeta(args) {
|
|
18
|
+
const parsed = commandArgs_process(args);
|
|
19
|
+
const subcommand = parsed._[0];
|
|
20
|
+
if (!subcommand || subcommand === 'list') {
|
|
21
|
+
try {
|
|
22
|
+
const { pluginMetas, selectedFields, totalCount } = await pluginMetas_fetchList(parsed);
|
|
23
|
+
if (pluginMetas.length === 0) {
|
|
24
|
+
console.log(chalk.gray('No plugin metas found.'));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
table_display(pluginMetas, selectedFields, { title: { title: 'Plugin Metas', justification: 'center' }, pagination: totalCount !== undefined ? { shown: pluginMetas.length, total: totalCount } : undefined });
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
process.exitCode = 1;
|
|
31
|
+
console.error(chalk.red(`pluginmeta error: ${e instanceof Error ? e.message : String(e)}`));
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (subcommand === 'search') {
|
|
36
|
+
const query = parsed._[1] ?? '';
|
|
37
|
+
await builtin_pluginmeta([...args.filter((a) => a !== subcommand), `--search`, query]);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (subcommand === 'inspect') {
|
|
41
|
+
const fields = await pluginMetaFields_fetch();
|
|
42
|
+
if (fields && fields.length > 0) {
|
|
43
|
+
table_display(fields.map((f) => ({ field: f })), ['field'], { title: { title: 'Plugin Meta fields', justification: 'center' } });
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.log(chalk.gray('No fields found for plugin metas.'));
|
|
47
|
+
}
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
process.exitCode = 1;
|
|
51
|
+
console.log(chalk.red(`Unknown subcommand: ${subcommand}. Usage: pluginmetas <list|search|inspect>`));
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=pluginmeta.js.map
|
|
@@ -0,0 +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,EAAE,mBAAmB,EAAc,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAwB,MAAM,4CAA4C,CAAC;AACzG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAc;IACrD,MAAM,MAAM,GAAe,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,UAAU,GAAuB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,GAAyB,MAAM,qBAAqB,CAAC,MAA+B,CAAC,CAAC;YACvI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC5F,aAAa,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACjN,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAoB,MAAM,sBAAsB,EAAE,CAAC;QAC/D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3I,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,UAAU,4CAA4C,CAAC,CAAC,CAAC;AACxG,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Builtin tag command.
|
|
3
|
+
*
|
|
4
|
+
* Subcommands: list, search, inspect
|
|
5
|
+
* Singular/plural aliases: tag / tags
|
|
6
|
+
*/
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
import { commandArgs_process } from '../utils.js';
|
|
9
|
+
import { tags_fetchList } from '@fnndsc/chili/commands/tags/list.js';
|
|
10
|
+
import { tagFields_fetch } from '@fnndsc/chili/commands/tags/fields.js';
|
|
11
|
+
import { table_display } from '@fnndsc/chili/screen/screen.js';
|
|
12
|
+
/**
|
|
13
|
+
* Builtin handler for the `tag` command.
|
|
14
|
+
*
|
|
15
|
+
* @param args - Parsed command arguments for the tag command.
|
|
16
|
+
*/
|
|
17
|
+
export async function builtin_tag(args) {
|
|
18
|
+
const parsed = commandArgs_process(args);
|
|
19
|
+
const subcommand = parsed._[0];
|
|
20
|
+
if (!subcommand || subcommand === 'list') {
|
|
21
|
+
try {
|
|
22
|
+
const { tags, selectedFields, totalCount } = await tags_fetchList(parsed);
|
|
23
|
+
if (tags.length === 0) {
|
|
24
|
+
console.log(chalk.gray('No tags found.'));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
table_display(tags, selectedFields, { title: { title: 'Tags', justification: 'center' }, pagination: totalCount !== undefined ? { shown: tags.length, total: totalCount } : undefined });
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
process.exitCode = 1;
|
|
31
|
+
console.error(chalk.red(`tag error: ${e instanceof Error ? e.message : String(e)}`));
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (subcommand === 'search') {
|
|
36
|
+
const query = parsed._[1] ?? '';
|
|
37
|
+
await builtin_tag([...args.filter((a) => a !== subcommand), `--search`, query]);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (subcommand === 'inspect') {
|
|
41
|
+
const fields = await tagFields_fetch();
|
|
42
|
+
if (fields && fields.length > 0) {
|
|
43
|
+
table_display(fields.map((f) => ({ field: f })), ['field'], { title: { title: 'Tag fields', justification: 'center' } });
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.log(chalk.gray('No fields found for tags.'));
|
|
47
|
+
}
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
process.exitCode = 1;
|
|
51
|
+
console.log(chalk.red(`Unknown subcommand: ${subcommand}. Usage: tags <list|search|inspect>`));
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=tag.js.map
|
|
@@ -0,0 +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,EAAE,mBAAmB,EAAc,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAiB,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,MAAM,GAAe,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,UAAU,GAAuB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,GAAkB,MAAM,cAAc,CAAC,MAA+B,CAAC,CAAC;YAClH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC7E,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAC3L,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QACxF,OAAO;IACT,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAoB,MAAM,eAAe,EAAE,CAAC;QACxD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnI,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,UAAU,qCAAqC,CAAC,CAAC,CAAC;AACjG,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Builtin workflow command.
|
|
3
|
+
*
|
|
4
|
+
* Subcommands: list, search, inspect
|
|
5
|
+
* Aliases: workflow / workflows
|
|
6
|
+
*/
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
import { commandArgs_process } from '../utils.js';
|
|
9
|
+
import { workflows_fetchList } from '@fnndsc/chili/commands/workflows/list.js';
|
|
10
|
+
import { workflowFields_fetch } from '@fnndsc/chili/commands/workflows/fields.js';
|
|
11
|
+
import { table_display } from '@fnndsc/chili/screen/screen.js';
|
|
12
|
+
/**
|
|
13
|
+
* Builtin handler for the `workflow` command.
|
|
14
|
+
*
|
|
15
|
+
* @param args - Parsed command arguments for the workflow command.
|
|
16
|
+
*/
|
|
17
|
+
export async function builtin_workflow(args) {
|
|
18
|
+
const parsed = commandArgs_process(args);
|
|
19
|
+
const subcommand = parsed._[0];
|
|
20
|
+
if (!subcommand || subcommand === 'list') {
|
|
21
|
+
try {
|
|
22
|
+
const { workflows, selectedFields, totalCount } = await workflows_fetchList(parsed);
|
|
23
|
+
if (workflows.length === 0) {
|
|
24
|
+
console.log(chalk.gray('No workflows found.'));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
table_display(workflows, selectedFields, { title: { title: 'Workflows', justification: 'center' }, pagination: totalCount !== undefined ? { shown: workflows.length, total: totalCount } : undefined });
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
process.exitCode = 1;
|
|
31
|
+
console.error(chalk.red(`workflow error: ${e instanceof Error ? e.message : String(e)}`));
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (subcommand === 'search') {
|
|
36
|
+
const query = parsed._[1] ?? '';
|
|
37
|
+
await builtin_workflow([...args.filter((a) => a !== subcommand), `--search`, query]);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (subcommand === 'inspect') {
|
|
41
|
+
const fields = await workflowFields_fetch();
|
|
42
|
+
if (fields && fields.length > 0) {
|
|
43
|
+
table_display(fields.map((f) => ({ field: f })), ['field'], { title: { title: 'Workflow fields', justification: 'center' } });
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.log(chalk.gray('No fields found for workflows.'));
|
|
47
|
+
}
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
process.exitCode = 1;
|
|
51
|
+
console.log(chalk.red(`Unknown subcommand: ${subcommand}. Usage: workflows <list|search|inspect>`));
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +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,EAAE,mBAAmB,EAAc,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAsB,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,MAAM,GAAe,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,UAAU,GAAuB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,GAAuB,MAAM,mBAAmB,CAAC,MAA+B,CAAC,CAAC;YACjI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACvF,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1M,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7F,OAAO;IACT,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAoB,MAAM,oBAAoB,EAAE,CAAC;QAC7D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxI,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,UAAU,0CAA0C,CAAC,CAAC,CAAC;AACtG,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Builtin store command.
|
|
3
|
+
* Manages peer store interactions (list, search, install).
|
|
4
|
+
*/
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { commandArgs_process } from './utils.js';
|
|
7
|
+
import { store_listPlugins, store_searchPlugins } from '@fnndsc/chili/commands/store/list.js';
|
|
8
|
+
import { grid_render, long_render } from '@fnndsc/chili/views/ls.js';
|
|
9
|
+
import { spinner } from '../lib/spinner.js';
|
|
10
|
+
import { plugin_addInteractive } from './res/plugin.js';
|
|
11
|
+
import { DEFAULT_STORE_URL, storeUrl_get, storeUrl_isDefault, storeUrl_set, storeUrl_clear, storeConfig_persist, } from '../config/storeConfig.js';
|
|
12
|
+
/**
|
|
13
|
+
* Handles store commands.
|
|
14
|
+
*
|
|
15
|
+
* @param args - command arguments.
|
|
16
|
+
*/
|
|
17
|
+
export async function builtin_store(args) {
|
|
18
|
+
const parsed = commandArgs_process(args);
|
|
19
|
+
const subcommand = parsed._[0];
|
|
20
|
+
if (!subcommand) {
|
|
21
|
+
console.log(chalk.red("Usage: store <list|search|install> ..."));
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const storeOptions = {
|
|
25
|
+
store: parsed.store
|
|
26
|
+
};
|
|
27
|
+
try {
|
|
28
|
+
spinner.start('Fetching from store...');
|
|
29
|
+
if (subcommand === 'list') {
|
|
30
|
+
const items = await store_listPlugins(storeOptions);
|
|
31
|
+
spinner.stop();
|
|
32
|
+
if (items.length === 0) {
|
|
33
|
+
console.log('No plugins found in store.');
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
// Use grid render by default, or long render if -l flag (handled by view options in future,
|
|
37
|
+
// but currently ls view helpers accept options).
|
|
38
|
+
// chell's ls uses args to parse flags. Here we have parsed args.
|
|
39
|
+
// parsed.l is boolean.
|
|
40
|
+
if (parsed.l) {
|
|
41
|
+
console.log(long_render(items, { human: !!parsed.h }));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
console.log(grid_render(items));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (subcommand === 'search') {
|
|
48
|
+
const query = parsed._[1];
|
|
49
|
+
if (!query) {
|
|
50
|
+
spinner.stop();
|
|
51
|
+
console.log(chalk.red("Usage: store search <query>"));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const items = await store_searchPlugins(query, storeOptions);
|
|
55
|
+
spinner.stop();
|
|
56
|
+
if (items.length === 0) {
|
|
57
|
+
console.log(`No plugins found matching '${query}'.`);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (parsed.l) {
|
|
61
|
+
console.log(long_render(items, { human: !!parsed.h }));
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
console.log(grid_render(items));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
else if (subcommand === 'install') {
|
|
68
|
+
spinner.stop();
|
|
69
|
+
const installParsed = { ...parsed, _: [parsed._[0], parsed._[1]] };
|
|
70
|
+
await plugin_addInteractive(installParsed);
|
|
71
|
+
}
|
|
72
|
+
else if (subcommand === 'inspect') {
|
|
73
|
+
spinner.stop();
|
|
74
|
+
const current = storeUrl_get();
|
|
75
|
+
const isDefault = storeUrl_isDefault();
|
|
76
|
+
console.log(`${chalk.bold('Peer store URL:')} ${chalk.blue(current)}${isDefault ? chalk.gray(' (default)') : chalk.yellow(' (custom)')}`);
|
|
77
|
+
}
|
|
78
|
+
else if (subcommand === 'set') {
|
|
79
|
+
spinner.stop();
|
|
80
|
+
const url = parsed._[1];
|
|
81
|
+
if (!url) {
|
|
82
|
+
console.log(chalk.red('Usage: store set <url>'));
|
|
83
|
+
process.exitCode = 1;
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
storeUrl_set(url);
|
|
87
|
+
await storeConfig_persist();
|
|
88
|
+
console.log(chalk.green(`Store URL set to: ${chalk.blue(url)}`));
|
|
89
|
+
}
|
|
90
|
+
else if (subcommand === 'reset') {
|
|
91
|
+
spinner.stop();
|
|
92
|
+
storeUrl_clear();
|
|
93
|
+
await storeConfig_persist();
|
|
94
|
+
console.log(chalk.green(`Store URL reset to default: ${chalk.blue(DEFAULT_STORE_URL)}`));
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
spinner.stop();
|
|
98
|
+
console.log(chalk.red(`Unknown subcommand: ${subcommand}. Usage: store <list|search|install|inspect|set|reset>`));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch (e) {
|
|
102
|
+
spinner.stop();
|
|
103
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
104
|
+
console.error(chalk.red(`Store error: ${msg}`));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/builtins/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Builtin context command.
|
|
3
|
+
* Displays the current session context.
|
|
4
|
+
*/
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { context_getSingle } from '@fnndsc/salsa';
|
|
7
|
+
import { session } from '../../session/index.js';
|
|
8
|
+
import { table_display } from '@fnndsc/chili/screen/screen.js';
|
|
9
|
+
/**
|
|
10
|
+
* Displays the current ChRIS context.
|
|
11
|
+
*
|
|
12
|
+
* @param args - Command line arguments (optional flags).
|
|
13
|
+
*/
|
|
14
|
+
export async function builtin_context(args) {
|
|
15
|
+
const context = await context_getSingle();
|
|
16
|
+
const tableData = [
|
|
17
|
+
{
|
|
18
|
+
Context: 'ChRIS User',
|
|
19
|
+
Value: context.user || chalk.gray('Not set'),
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
Context: 'ChRIS URL',
|
|
23
|
+
Value: context.URL || chalk.gray('Not set'),
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
Context: 'ChRIS Folder',
|
|
27
|
+
Value: context.folder || chalk.gray('Not set'),
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
Context: 'ChRIS Feed',
|
|
31
|
+
Value: context.feed || chalk.gray('Not set'),
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
Context: 'ChRIS Plugin',
|
|
35
|
+
Value: context.plugin || chalk.gray('Not set'),
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
Context: 'PACS Server',
|
|
39
|
+
Value: context.pacsserver || chalk.gray('Not set'),
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
Context: 'Physical Mode',
|
|
43
|
+
Value: session.physicalMode_get() ? chalk.magenta('Enabled') : chalk.gray('Disabled'),
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
table_display(tableData, ['Context', 'Value'], {
|
|
47
|
+
title: { title: 'ChRIS Context', justification: 'center' },
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/builtins/sys/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAU/D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAc;IAClD,MAAM,OAAO,GAAkB,MAAM,iBAAiB,EAAE,CAAC;IAEzD,MAAM,SAAS,GAAiB;QAC9B;YACE,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;SAC7C;QACD;YACE,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;SAC5C;QACD;YACE,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;SAC/C;QACD;YACE,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;SAC7C;QACD;YACE,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;SAC/C;QACD;YACE,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;SACnD;QACD;YACE,OAAO,EAAE,eAAe;YACxB,KAAK,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;SACtF;KACF,CAAC;IAEF,aAAa,CACX,SAAS,EACT,CAAC,SAAS,EAAE,OAAO,CAAC,EACpB;QACE,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;KAC3D,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CommandEnvelope } from '@fnndsc/cumin';
|
|
2
|
+
/**
|
|
3
|
+
* Toggles or displays physical filesystem mode.
|
|
4
|
+
*
|
|
5
|
+
* @param args - Command line arguments: 'on', 'off', or empty to display status.
|
|
6
|
+
* @returns An envelope describing the (possibly updated) physical mode state.
|
|
7
|
+
*/
|
|
8
|
+
export declare function builtin_physicalmode(args: string[]): Promise<CommandEnvelope>;
|