@fnndsc/brasa 0.57.0 → 0.57.2
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/berth/berthClose.d.ts +14 -1
- package/dist/builtins/berth/berthClose.js +28 -0
- package/dist/builtins/berth/berthClose.js.map +1 -1
- package/dist/builtins/berth/berthCube.js +2 -0
- package/dist/builtins/berth/berthCube.js.map +1 -1
- package/dist/builtins/fs/archive.js +1 -0
- package/dist/builtins/fs/archive.js.map +1 -1
- package/dist/builtins/games/bytes.js +11 -7
- package/dist/builtins/games/bytes.js.map +1 -1
- package/dist/builtins/net/query.csv.js +3 -2
- package/dist/builtins/net/query.csv.js.map +1 -1
- package/dist/builtins/net/query.fanout.js +2 -2
- package/dist/builtins/net/query.fanout.js.map +1 -1
- package/dist/builtins/pluginExecute.d.ts +1 -1
- package/dist/builtins/pluginExecute.js +5 -3
- package/dist/builtins/pluginExecute.js.map +1 -1
- package/dist/builtins/res/compute.d.ts +9 -2
- package/dist/builtins/res/compute.js +22 -5
- package/dist/builtins/res/compute.js.map +1 -1
- package/dist/builtins/res/dicom.d.ts +5 -24
- package/dist/builtins/res/dicom.js +15 -34
- package/dist/builtins/res/dicom.js.map +1 -1
- package/dist/builtins/res/feed.d.ts +9 -2
- package/dist/builtins/res/feed.js +14 -4
- package/dist/builtins/res/feed.js.map +1 -1
- package/dist/builtins/res/gather.store.d.ts +1 -1
- package/dist/builtins/res/gather.store.js +6 -6
- package/dist/builtins/res/gather.store.js.map +1 -1
- package/dist/builtins/res/image.js +6 -4
- package/dist/builtins/res/image.js.map +1 -1
- package/dist/builtins/res/plugininstance.d.ts +9 -2
- package/dist/builtins/res/plugininstance.js +14 -5
- package/dist/builtins/res/plugininstance.js.map +1 -1
- package/dist/builtins/res/pluginmeta.d.ts +9 -2
- package/dist/builtins/res/pluginmeta.js +14 -5
- package/dist/builtins/res/pluginmeta.js.map +1 -1
- package/dist/builtins/res/record.js +5 -3
- package/dist/builtins/res/record.js.map +1 -1
- package/dist/builtins/res/resourceRecord.d.ts +47 -0
- package/dist/builtins/res/resourceRecord.js +79 -0
- package/dist/builtins/res/resourceRecord.js.map +1 -0
- package/dist/builtins/res/tag.d.ts +9 -2
- package/dist/builtins/res/tag.js +14 -5
- package/dist/builtins/res/tag.js.map +1 -1
- package/dist/builtins/res/workflow.d.ts +9 -2
- package/dist/builtins/res/workflow.js +14 -5
- package/dist/builtins/res/workflow.js.map +1 -1
- package/dist/chris/binDeclarations.d.ts +5 -1
- package/dist/chris/binDeclarations.js +62 -10
- package/dist/chris/binDeclarations.js.map +1 -1
- package/dist/chris/expectSubjects.js +3 -4
- package/dist/chris/expectSubjects.js.map +1 -1
- package/dist/chris/files.js +5 -3
- package/dist/chris/files.js.map +1 -1
- package/dist/chris/kinds.d.ts +10 -0
- package/dist/chris/kinds.js +40 -1
- package/dist/chris/kinds.js.map +1 -1
- package/dist/notes.json +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommandEnvelope } from '@fnndsc/menu';
|
|
2
2
|
/**
|
|
3
|
-
* `plugininstance [[listing options] | list [listing options] | search <term> [listing options] | inspect | <job verb> [id]]`: the declaration.
|
|
3
|
+
* `plugininstance [[listing options] | list [listing options] | search <term> [listing options] | inspect [id] | <job verb> [id]]`: the declaration.
|
|
4
4
|
*
|
|
5
5
|
* @example
|
|
6
6
|
* ```ts
|
|
@@ -231,7 +231,14 @@ export declare const plugininstanceCommand: import("../../core/commandDeclaratio
|
|
|
231
231
|
};
|
|
232
232
|
};
|
|
233
233
|
readonly inspect: {
|
|
234
|
-
readonly summary: "
|
|
234
|
+
readonly summary: "One plugin instance, every field with its value; with no id, the fields a plugin instance has";
|
|
235
|
+
readonly operands: readonly [{
|
|
236
|
+
readonly name: "id";
|
|
237
|
+
readonly kind: "int";
|
|
238
|
+
readonly min: 1;
|
|
239
|
+
readonly optional: true;
|
|
240
|
+
readonly summary: "The record's id: its fields and values; none names the fields";
|
|
241
|
+
}];
|
|
235
242
|
};
|
|
236
243
|
readonly cancel: {
|
|
237
244
|
readonly summary: "Says how: rm <path> in /proc/jobs cancels a running job";
|
|
@@ -22,6 +22,7 @@ import { exitCode_set } from '../../core/handlerRun.js';
|
|
|
22
22
|
import { command_declare } from '../../core/commandDeclaration.js';
|
|
23
23
|
import { declaredCommand_run } from '../../core/commandParse.js';
|
|
24
24
|
import { RESOURCE_LIST_OPTIONS_GRAMMAR, resourceListBag_build } from './resourceList.js';
|
|
25
|
+
import { RESOURCE_ID_OPERANDS, resourceRecord_render } from './resourceRecord.js';
|
|
25
26
|
/**
|
|
26
27
|
* Projects a listed row onto the wire's instance model: the fields the
|
|
27
28
|
* listing selected, typed; a field the listing did not select is absent.
|
|
@@ -111,6 +112,14 @@ function procWay_say(verb, id) {
|
|
|
111
112
|
}
|
|
112
113
|
/** The operand of a job verb /proc/jobs answers: the job's id, which it names in the way it says. */
|
|
113
114
|
const JOB_ID_OPERANDS = [{ name: 'id', kind: 'word', optional: true, summary: "The job's id" }];
|
|
115
|
+
/** How `plugininstance inspect <id>` reads one plugin instance. */
|
|
116
|
+
const PLUGININSTANCE_RECORD = {
|
|
117
|
+
command: 'plugininstance',
|
|
118
|
+
noun: 'plugin instance',
|
|
119
|
+
title: 'Plugin Instance',
|
|
120
|
+
fields_fetch: pluginInstanceFields_fetch,
|
|
121
|
+
rows_fetch: async (options) => (await pluginInstances_fetchList(options)).pluginInstances,
|
|
122
|
+
};
|
|
114
123
|
/** What a `plugininstance` line may hold. */
|
|
115
124
|
const PLUGININSTANCE_GRAMMAR = {
|
|
116
125
|
bare: { summary: 'List the plugin instances, as list does', options: RESOURCE_LIST_OPTIONS_GRAMMAR },
|
|
@@ -121,7 +130,7 @@ const PLUGININSTANCE_GRAMMAR = {
|
|
|
121
130
|
operands: [{ name: 'term', kind: 'word', summary: 'The filter, field:value (inspect names the fields)' }],
|
|
122
131
|
options: RESOURCE_LIST_OPTIONS_GRAMMAR,
|
|
123
132
|
},
|
|
124
|
-
inspect: { summary: '
|
|
133
|
+
inspect: { summary: 'One plugin instance, every field with its value; with no id, the fields a plugin instance has', operands: RESOURCE_ID_OPERANDS },
|
|
125
134
|
cancel: { summary: 'Says how: rm <path> in /proc/jobs cancels a running job', operands: JOB_ID_OPERANDS },
|
|
126
135
|
delete: { summary: 'Says how: rm <path> in /proc/jobs removes a finished job', operands: JOB_ID_OPERANDS },
|
|
127
136
|
rm: { summary: 'Says how: rm <path> in /proc/jobs removes a finished job', operands: JOB_ID_OPERANDS },
|
|
@@ -142,12 +151,12 @@ async function plugininstance_run(args) {
|
|
|
142
151
|
case null:
|
|
143
152
|
case 'list': return plugininstanceList_render(resourceListBag_build(args.options));
|
|
144
153
|
case 'search': return plugininstanceList_render(resourceListBag_build(args.options, args.operands.term));
|
|
145
|
-
case 'inspect': return plugininstanceFields_render();
|
|
154
|
+
case 'inspect': return args.operands.id === undefined ? plugininstanceFields_render() : resourceRecord_render(PLUGININSTANCE_RECORD, args.operands.id);
|
|
146
155
|
default: return procWay_say(args.subcommand, args.operands.id);
|
|
147
156
|
}
|
|
148
157
|
}
|
|
149
158
|
/**
|
|
150
|
-
* `plugininstance [[listing options] | list [listing options] | search <term> [listing options] | inspect | <job verb> [id]]`: the declaration.
|
|
159
|
+
* `plugininstance [[listing options] | list [listing options] | search <term> [listing options] | inspect [id] | <job verb> [id]]`: the declaration.
|
|
151
160
|
*
|
|
152
161
|
* @example
|
|
153
162
|
* ```ts
|
|
@@ -160,9 +169,9 @@ export const plugininstanceCommand = command_declare({
|
|
|
160
169
|
grammar: PLUGININSTANCE_GRAMMAR,
|
|
161
170
|
help: {
|
|
162
171
|
summary: "CUBE's plugin instances, the jobs: list them, search them, name their fields",
|
|
163
|
-
description: 'List the plugin instances in CUBE, the jobs, a page at a time or every page, filtered by a field:value search and in the columns asked for; inspect names the fields a job has. A job is worked in /proc/jobs: proc find <id> names its path, rm <path> cancels it while it runs and removes it once done, cat <path>/params and cat <path>/log read it, and <path>/data is its output; the verbs that would do these here say so. plugininstance, plugininstances, instance, instances, job and jobs are one command.',
|
|
172
|
+
description: 'List the plugin instances in CUBE, the jobs, a page at a time or every page, filtered by a field:value search and in the columns asked for; inspect <id> shows the fields and values of one job, and inspect alone names the fields a job has. A job is worked in /proc/jobs: proc find <id> names its path, rm <path> cancels it while it runs and removes it once done, cat <path>/params and cat <path>/log read it, and <path>/data is its output; the verbs that would do these here say so. plugininstance, plugininstances, instance, instances, job and jobs are one command.',
|
|
164
173
|
category: 'Resources',
|
|
165
|
-
examples: ['jobs list', 'jobs list --all', 'jobs search status:started', 'jobs list --search feed_id:5536', 'jobs inspect', 'proc find 42'],
|
|
174
|
+
examples: ['jobs list', 'jobs list --all', 'jobs search status:started', 'jobs list --search feed_id:5536', 'jobs inspect', 'jobs inspect 42', 'proc find 42'],
|
|
166
175
|
},
|
|
167
176
|
handler: plugininstance_run,
|
|
168
177
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugininstance.js","sourceRoot":"","sources":["../../../src/builtins/res/plugininstance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAA4B,MAAM,gDAAgD,CAAC;AACrH,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAA8C,MAAM,kCAAkC,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugininstance.js","sourceRoot":"","sources":["../../../src/builtins/res/plugininstance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommandEnvelope } from '@fnndsc/menu';
|
|
2
2
|
/**
|
|
3
|
-
* `pluginmeta [[listing options] | list [listing options] | search <term> [listing options] | inspect]`: the declaration.
|
|
3
|
+
* `pluginmeta [[listing options] | list [listing options] | search <term> [listing options] | inspect [id]]`: the declaration.
|
|
4
4
|
*
|
|
5
5
|
* @example
|
|
6
6
|
* ```ts
|
|
@@ -231,7 +231,14 @@ export declare const pluginmetaCommand: import("../../core/commandDeclaration.js
|
|
|
231
231
|
};
|
|
232
232
|
};
|
|
233
233
|
readonly inspect: {
|
|
234
|
-
readonly summary: "
|
|
234
|
+
readonly summary: "One plugin meta, every field with its value; with no id, the fields a plugin meta has";
|
|
235
|
+
readonly operands: readonly [{
|
|
236
|
+
readonly name: "id";
|
|
237
|
+
readonly kind: "int";
|
|
238
|
+
readonly min: 1;
|
|
239
|
+
readonly optional: true;
|
|
240
|
+
readonly summary: "The record's id: its fields and values; none names the fields";
|
|
241
|
+
}];
|
|
235
242
|
};
|
|
236
243
|
};
|
|
237
244
|
}>;
|
|
@@ -21,6 +21,7 @@ import { exitCode_set } from '../../core/handlerRun.js';
|
|
|
21
21
|
import { command_declare } from '../../core/commandDeclaration.js';
|
|
22
22
|
import { declaredCommand_run } from '../../core/commandParse.js';
|
|
23
23
|
import { RESOURCE_LIST_OPTIONS_GRAMMAR, resourceListBag_build } from './resourceList.js';
|
|
24
|
+
import { RESOURCE_ID_OPERANDS, resourceRecord_render } from './resourceRecord.js';
|
|
24
25
|
/**
|
|
25
26
|
* Lists the plugin metas a listing's options ask for.
|
|
26
27
|
*
|
|
@@ -52,6 +53,14 @@ async function pluginmetaFields_render() {
|
|
|
52
53
|
}
|
|
53
54
|
return envelope_ok(`${chalk.gray('No fields found for plugin metas.')}\n`);
|
|
54
55
|
}
|
|
56
|
+
/** How `pluginmeta inspect <id>` reads one plugin meta. */
|
|
57
|
+
const PLUGINMETA_RECORD = {
|
|
58
|
+
command: 'pluginmeta',
|
|
59
|
+
noun: 'plugin meta',
|
|
60
|
+
title: 'Plugin Meta',
|
|
61
|
+
fields_fetch: pluginMetaFields_fetch,
|
|
62
|
+
rows_fetch: async (options) => (await pluginMetas_fetchList(options)).pluginMetas,
|
|
63
|
+
};
|
|
55
64
|
/** What a `pluginmeta` line may hold. */
|
|
56
65
|
const PLUGINMETA_GRAMMAR = {
|
|
57
66
|
bare: { summary: 'List the plugin metas, as list does', options: RESOURCE_LIST_OPTIONS_GRAMMAR },
|
|
@@ -62,7 +71,7 @@ const PLUGINMETA_GRAMMAR = {
|
|
|
62
71
|
operands: [{ name: 'term', kind: 'word', summary: 'The filter, field:value (inspect names the fields)' }],
|
|
63
72
|
options: RESOURCE_LIST_OPTIONS_GRAMMAR,
|
|
64
73
|
},
|
|
65
|
-
inspect: { summary: '
|
|
74
|
+
inspect: { summary: 'One plugin meta, every field with its value; with no id, the fields a plugin meta has', operands: RESOURCE_ID_OPERANDS },
|
|
66
75
|
},
|
|
67
76
|
};
|
|
68
77
|
/**
|
|
@@ -76,11 +85,11 @@ async function pluginmeta_run(args) {
|
|
|
76
85
|
case null:
|
|
77
86
|
case 'list': return pluginmetaList_render(resourceListBag_build(args.options));
|
|
78
87
|
case 'search': return pluginmetaList_render(resourceListBag_build(args.options, args.operands.term));
|
|
79
|
-
case 'inspect': return pluginmetaFields_render();
|
|
88
|
+
case 'inspect': return args.operands.id === undefined ? pluginmetaFields_render() : resourceRecord_render(PLUGINMETA_RECORD, args.operands.id);
|
|
80
89
|
}
|
|
81
90
|
}
|
|
82
91
|
/**
|
|
83
|
-
* `pluginmeta [[listing options] | list [listing options] | search <term> [listing options] | inspect]`: the declaration.
|
|
92
|
+
* `pluginmeta [[listing options] | list [listing options] | search <term> [listing options] | inspect [id]]`: the declaration.
|
|
84
93
|
*
|
|
85
94
|
* @example
|
|
86
95
|
* ```ts
|
|
@@ -93,9 +102,9 @@ export const pluginmetaCommand = command_declare({
|
|
|
93
102
|
grammar: PLUGINMETA_GRAMMAR,
|
|
94
103
|
help: {
|
|
95
104
|
summary: "CUBE's plugin metas, each a plugin across its versions: list them, search them, name their fields",
|
|
96
|
-
description: 'List the plugin metas in CUBE, a page at a time or every page, filtered by a field:value search and in the columns asked for; inspect names the fields a plugin meta has. A plugin meta is a tool across its versions (pl-dircopy); a plugin is one version of it. pluginmeta, pluginmetas, meta and metas are one command.',
|
|
105
|
+
description: 'List the plugin metas in CUBE, a page at a time or every page, filtered by a field:value search and in the columns asked for; inspect <id> shows the fields and values of one plugin meta, and inspect alone names the fields a plugin meta has. A plugin meta is a tool across its versions (pl-dircopy); a plugin is one version of it. pluginmeta, pluginmetas, meta and metas are one command.',
|
|
97
106
|
category: 'Resources',
|
|
98
|
-
examples: ['pluginmetas list', 'pluginmetas search name:dircopy', 'metas list --fields name,category', 'meta inspect'],
|
|
107
|
+
examples: ['pluginmetas list', 'pluginmetas search name:dircopy', 'metas list --fields name,category', 'meta inspect', 'meta inspect 12'],
|
|
99
108
|
},
|
|
100
109
|
handler: pluginmeta_run,
|
|
101
110
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginmeta.js","sourceRoot":"","sources":["../../../src/builtins/res/pluginmeta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAwB,MAAM,4CAA4C,CAAC;AACzG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAA8C,MAAM,kCAAkC,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"pluginmeta.js","sourceRoot":"","sources":["../../../src/builtins/res/pluginmeta.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ import chalk from 'chalk';
|
|
|
27
27
|
import { files_touch as chefs_touch_cmd } from '@fnndsc/chili/commands/fs/touch.js';
|
|
28
28
|
import { files_mkdir as chefs_mkdir_cmd } from '@fnndsc/chili/commands/fs/mkdir.js';
|
|
29
29
|
import path from 'path';
|
|
30
|
-
import { path_resolve } from '../utils.js';
|
|
30
|
+
import { path_resolve, storePath_resolve } from '../utils.js';
|
|
31
31
|
import { command_declare } from '../../core/commandDeclaration.js';
|
|
32
32
|
import { declaredCommand_run } from '../../core/commandParse.js';
|
|
33
33
|
import { recorder_start, recorder_state, recorder_stop, } from '../../session/recorder.js';
|
|
@@ -188,8 +188,10 @@ async function recording_stop() {
|
|
|
188
188
|
}
|
|
189
189
|
const { lines, params } = identifiers_offer(held.lines);
|
|
190
190
|
const name = path.posix.basename(held.target).replace(/\.[^.]+$/, '');
|
|
191
|
-
|
|
192
|
-
const
|
|
191
|
+
// Written where the store keeps it; said as it was named.
|
|
192
|
+
const stored = await storePath_resolve(held.target);
|
|
193
|
+
await chefs_mkdir_cmd(path.posix.dirname(stored));
|
|
194
|
+
const written = await chefs_touch_cmd(stored, {
|
|
193
195
|
withContents: manifest_render(name, lines, params),
|
|
194
196
|
});
|
|
195
197
|
if (!written) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/builtins/res/record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/builtins/res/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { CLIoptions } from '@fnndsc/chili/utils/cli.js';
|
|
2
|
+
import { CommandEnvelope } from '@fnndsc/menu';
|
|
3
|
+
/** The operand of `inspect`: a record's id, or none to name the fields. */
|
|
4
|
+
export declare const RESOURCE_ID_OPERANDS: readonly [{
|
|
5
|
+
readonly name: "id";
|
|
6
|
+
readonly kind: "int";
|
|
7
|
+
readonly min: 1;
|
|
8
|
+
readonly optional: true;
|
|
9
|
+
readonly summary: "The record's id: its fields and values; none names the fields";
|
|
10
|
+
}];
|
|
11
|
+
/**
|
|
12
|
+
* How one resource command reads its fields and its rows.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* const source: ResourceRecordSource = {
|
|
17
|
+
* command: 'tag', noun: 'tag', title: 'Tag',
|
|
18
|
+
* fields_fetch: tagFields_fetch,
|
|
19
|
+
* rows_fetch: async (options: CLIoptions) => (await tags_fetchList(options)).tags,
|
|
20
|
+
* };
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export interface ResourceRecordSource {
|
|
24
|
+
/** The command's name, as a refusal opens. */
|
|
25
|
+
readonly command: string;
|
|
26
|
+
/** What one record is called: `plugin instance`. */
|
|
27
|
+
readonly noun: string;
|
|
28
|
+
/** The table's title before the id: `Plugin Instance`. */
|
|
29
|
+
readonly title: string;
|
|
30
|
+
/** The fields a record has. */
|
|
31
|
+
readonly fields_fetch: () => Promise<string[] | null>;
|
|
32
|
+
/** The rows a listing's options give. */
|
|
33
|
+
readonly rows_fetch: (options: CLIoptions) => Promise<readonly object[]>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* One record by its id, every field with its value: `inspect <id>`.
|
|
37
|
+
*
|
|
38
|
+
* @param source - How the command reads its fields and rows.
|
|
39
|
+
* @param id - The record's id.
|
|
40
|
+
* @returns The table of fields and values; an error when CUBE holds no such record or cannot be read.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* await resourceRecord_render(PLUGININSTANCE_RECORD, 864581); // ┌ Plugin Instance 864581 ┐ id 864581, status finishedSuccessfully, …
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function resourceRecord_render(source: ResourceRecordSource, id: number): Promise<CommandEnvelope>;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file `inspect <id>` for the resource commands: one record of a CUBE
|
|
3
|
+
* collection, every field it has with its value, beside `inspect` alone,
|
|
4
|
+
* which names the fields.
|
|
5
|
+
*
|
|
6
|
+
* A resource command's `inspect` takes an optional id (`jobs inspect 42`,
|
|
7
|
+
* `feed inspect 5975`). With it the record is read through the command's own
|
|
8
|
+
* listing, filtered `id:<id>` and asked for every field, and drawn as a
|
|
9
|
+
* table of fields and values; an id CUBE holds no record of is said and
|
|
10
|
+
* exits 1.
|
|
11
|
+
*
|
|
12
|
+
* Key components:
|
|
13
|
+
* - RESOURCE_ID_OPERANDS: the optional id operand, as grammar.
|
|
14
|
+
* - ResourceRecordSource: how one command reads its fields and its rows.
|
|
15
|
+
* - resourceRecord_render: the record drawn, or why not.
|
|
16
|
+
*
|
|
17
|
+
* Typical usage:
|
|
18
|
+
* ```ts
|
|
19
|
+
* inspect: { summary: '…', operands: RESOURCE_ID_OPERANDS },
|
|
20
|
+
* case 'inspect': return args.operands.id === undefined ? fields_render() : resourceRecord_render(TAG_RECORD, args.operands.id);
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* Dependencies: chili's table, the session's exit status.
|
|
24
|
+
*
|
|
25
|
+
* @module
|
|
26
|
+
*/
|
|
27
|
+
import chalk from 'chalk';
|
|
28
|
+
import { table_render } from '@fnndsc/chili/screen/screen.js';
|
|
29
|
+
import { envelope_ok, envelope_error } from '@fnndsc/menu';
|
|
30
|
+
import { exitCode_set } from '../../core/handlerRun.js';
|
|
31
|
+
/** The operand of `inspect`: a record's id, or none to name the fields. */
|
|
32
|
+
export const RESOURCE_ID_OPERANDS = [
|
|
33
|
+
{ name: 'id', kind: 'int', min: 1, optional: true, summary: "The record's id: its fields and values; none names the fields" },
|
|
34
|
+
];
|
|
35
|
+
/**
|
|
36
|
+
* One field's value in words: a dash for none, JSON for a structure.
|
|
37
|
+
*
|
|
38
|
+
* @param value - The value.
|
|
39
|
+
* @returns The words.
|
|
40
|
+
*/
|
|
41
|
+
function fieldValue_say(value) {
|
|
42
|
+
if (value === undefined || value === null || value === '')
|
|
43
|
+
return '-';
|
|
44
|
+
if (typeof value === 'object')
|
|
45
|
+
return JSON.stringify(value);
|
|
46
|
+
return String(value);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* One record by its id, every field with its value: `inspect <id>`.
|
|
50
|
+
*
|
|
51
|
+
* @param source - How the command reads its fields and rows.
|
|
52
|
+
* @param id - The record's id.
|
|
53
|
+
* @returns The table of fields and values; an error when CUBE holds no such record or cannot be read.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* await resourceRecord_render(PLUGININSTANCE_RECORD, 864581); // ┌ Plugin Instance 864581 ┐ id 864581, status finishedSuccessfully, …
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export async function resourceRecord_render(source, id) {
|
|
61
|
+
try {
|
|
62
|
+
const fields = (await source.fields_fetch()) ?? [];
|
|
63
|
+
const options = { search: `id:${id}`, ...(fields.length > 0 ? { fields: fields.join(',') } : {}) };
|
|
64
|
+
const rows = await source.rows_fetch(options);
|
|
65
|
+
const row = rows.find((one) => Number(Reflect.get(one, 'id')) === id);
|
|
66
|
+
if (row === undefined) {
|
|
67
|
+
exitCode_set(1);
|
|
68
|
+
return envelope_error('', undefined, `${chalk.red(`${source.command} inspect: no ${source.noun} ${id}`)}\n`);
|
|
69
|
+
}
|
|
70
|
+
const names = fields.length > 0 ? fields : Object.keys(row);
|
|
71
|
+
const table = names.map((name) => ({ field: name, value: fieldValue_say(Reflect.get(row, name)) }));
|
|
72
|
+
return envelope_ok(table_render(table, ['field', 'value'], { title: { title: `${source.title} ${id}`, justification: 'center' } }));
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
exitCode_set(1);
|
|
76
|
+
return envelope_error('', undefined, `${chalk.red(`${source.command} inspect: ${e instanceof Error ? e.message : String(e)}`)}\n`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=resourceRecord.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resourceRecord.js","sourceRoot":"","sources":["../../../src/builtins/res/resourceRecord.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommandEnvelope } from '@fnndsc/menu';
|
|
2
2
|
/**
|
|
3
|
-
* `tag [[listing options] | list [listing options] | search <term> [listing options] | inspect]`: the declaration.
|
|
3
|
+
* `tag [[listing options] | list [listing options] | search <term> [listing options] | inspect [id]]`: the declaration.
|
|
4
4
|
*
|
|
5
5
|
* @example
|
|
6
6
|
* ```ts
|
|
@@ -231,7 +231,14 @@ export declare const tagCommand: import("../../core/commandDeclaration.js").Comm
|
|
|
231
231
|
};
|
|
232
232
|
};
|
|
233
233
|
readonly inspect: {
|
|
234
|
-
readonly summary: "
|
|
234
|
+
readonly summary: "One tag, every field with its value; with no id, the fields a tag has";
|
|
235
|
+
readonly operands: readonly [{
|
|
236
|
+
readonly name: "id";
|
|
237
|
+
readonly kind: "int";
|
|
238
|
+
readonly min: 1;
|
|
239
|
+
readonly optional: true;
|
|
240
|
+
readonly summary: "The record's id: its fields and values; none names the fields";
|
|
241
|
+
}];
|
|
235
242
|
};
|
|
236
243
|
};
|
|
237
244
|
}>;
|
package/dist/builtins/res/tag.js
CHANGED
|
@@ -20,6 +20,7 @@ import { exitCode_set } from '../../core/handlerRun.js';
|
|
|
20
20
|
import { command_declare } from '../../core/commandDeclaration.js';
|
|
21
21
|
import { declaredCommand_run } from '../../core/commandParse.js';
|
|
22
22
|
import { RESOURCE_LIST_OPTIONS_GRAMMAR, resourceListBag_build } from './resourceList.js';
|
|
23
|
+
import { RESOURCE_ID_OPERANDS, resourceRecord_render } from './resourceRecord.js';
|
|
23
24
|
/**
|
|
24
25
|
* Lists the tags a listing's options ask for.
|
|
25
26
|
*
|
|
@@ -51,6 +52,14 @@ async function tagFields_render() {
|
|
|
51
52
|
}
|
|
52
53
|
return envelope_ok(`${chalk.gray('No fields found for tags.')}\n`);
|
|
53
54
|
}
|
|
55
|
+
/** How `tag inspect <id>` reads one tag. */
|
|
56
|
+
const TAG_RECORD = {
|
|
57
|
+
command: 'tag',
|
|
58
|
+
noun: 'tag',
|
|
59
|
+
title: 'Tag',
|
|
60
|
+
fields_fetch: tagFields_fetch,
|
|
61
|
+
rows_fetch: async (options) => (await tags_fetchList(options)).tags,
|
|
62
|
+
};
|
|
54
63
|
/** What a `tag` line may hold. */
|
|
55
64
|
const TAG_GRAMMAR = {
|
|
56
65
|
bare: { summary: 'List the tags, as list does', options: RESOURCE_LIST_OPTIONS_GRAMMAR },
|
|
@@ -61,7 +70,7 @@ const TAG_GRAMMAR = {
|
|
|
61
70
|
operands: [{ name: 'term', kind: 'word', summary: 'The filter, field:value (inspect names the fields)' }],
|
|
62
71
|
options: RESOURCE_LIST_OPTIONS_GRAMMAR,
|
|
63
72
|
},
|
|
64
|
-
inspect: { summary: '
|
|
73
|
+
inspect: { summary: 'One tag, every field with its value; with no id, the fields a tag has', operands: RESOURCE_ID_OPERANDS },
|
|
65
74
|
},
|
|
66
75
|
};
|
|
67
76
|
/**
|
|
@@ -75,11 +84,11 @@ async function tag_run(args) {
|
|
|
75
84
|
case null:
|
|
76
85
|
case 'list': return tagList_render(resourceListBag_build(args.options));
|
|
77
86
|
case 'search': return tagList_render(resourceListBag_build(args.options, args.operands.term));
|
|
78
|
-
case 'inspect': return tagFields_render();
|
|
87
|
+
case 'inspect': return args.operands.id === undefined ? tagFields_render() : resourceRecord_render(TAG_RECORD, args.operands.id);
|
|
79
88
|
}
|
|
80
89
|
}
|
|
81
90
|
/**
|
|
82
|
-
* `tag [[listing options] | list [listing options] | search <term> [listing options] | inspect]`: the declaration.
|
|
91
|
+
* `tag [[listing options] | list [listing options] | search <term> [listing options] | inspect [id]]`: the declaration.
|
|
83
92
|
*
|
|
84
93
|
* @example
|
|
85
94
|
* ```ts
|
|
@@ -92,9 +101,9 @@ export const tagCommand = command_declare({
|
|
|
92
101
|
grammar: TAG_GRAMMAR,
|
|
93
102
|
help: {
|
|
94
103
|
summary: "CUBE's tags: list them, search them, name their fields",
|
|
95
|
-
description: "List the tags in CUBE, a page at a time or every page, filtered by a field:value search and in the columns asked for; inspect names the fields a tag has. tag and tags are one command. A feed wears a tag through setfattr -n tag -v <name>.",
|
|
104
|
+
description: "List the tags in CUBE, a page at a time or every page, filtered by a field:value search and in the columns asked for; inspect <id> shows the fields and values of one tag, and inspect alone names the fields a tag has. tag and tags are one command. A feed wears a tag through setfattr -n tag -v <name>.",
|
|
96
105
|
category: 'Resources',
|
|
97
|
-
examples: ['tags list', 'tags list --all --sort name', 'tags search name:brain', 'tags inspect'],
|
|
106
|
+
examples: ['tags list', 'tags list --all --sort name', 'tags search name:brain', 'tags inspect', 'tag inspect 3'],
|
|
98
107
|
},
|
|
99
108
|
handler: tag_run,
|
|
100
109
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../src/builtins/res/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAiB,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAA8C,MAAM,kCAAkC,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../src/builtins/res/tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommandEnvelope } from '@fnndsc/menu';
|
|
2
2
|
/**
|
|
3
|
-
* `workflow [[listing options] | list [listing options] | search <term> [listing options] | inspect]`: the declaration.
|
|
3
|
+
* `workflow [[listing options] | list [listing options] | search <term> [listing options] | inspect [id]]`: the declaration.
|
|
4
4
|
*
|
|
5
5
|
* @example
|
|
6
6
|
* ```ts
|
|
@@ -231,7 +231,14 @@ export declare const workflowCommand: import("../../core/commandDeclaration.js")
|
|
|
231
231
|
};
|
|
232
232
|
};
|
|
233
233
|
readonly inspect: {
|
|
234
|
-
readonly summary: "
|
|
234
|
+
readonly summary: "One workflow, every field with its value; with no id, the fields a workflow has";
|
|
235
|
+
readonly operands: readonly [{
|
|
236
|
+
readonly name: "id";
|
|
237
|
+
readonly kind: "int";
|
|
238
|
+
readonly min: 1;
|
|
239
|
+
readonly optional: true;
|
|
240
|
+
readonly summary: "The record's id: its fields and values; none names the fields";
|
|
241
|
+
}];
|
|
235
242
|
};
|
|
236
243
|
};
|
|
237
244
|
}>;
|
|
@@ -20,6 +20,7 @@ import { exitCode_set } from '../../core/handlerRun.js';
|
|
|
20
20
|
import { command_declare } from '../../core/commandDeclaration.js';
|
|
21
21
|
import { declaredCommand_run } from '../../core/commandParse.js';
|
|
22
22
|
import { RESOURCE_LIST_OPTIONS_GRAMMAR, resourceListBag_build } from './resourceList.js';
|
|
23
|
+
import { RESOURCE_ID_OPERANDS, resourceRecord_render } from './resourceRecord.js';
|
|
23
24
|
/**
|
|
24
25
|
* Lists the workflows a listing's options ask for.
|
|
25
26
|
*
|
|
@@ -51,6 +52,14 @@ async function workflowFields_render() {
|
|
|
51
52
|
}
|
|
52
53
|
return envelope_ok(`${chalk.gray('No fields found for workflows.')}\n`);
|
|
53
54
|
}
|
|
55
|
+
/** How `workflow inspect <id>` reads one workflow. */
|
|
56
|
+
const WORKFLOW_RECORD = {
|
|
57
|
+
command: 'workflow',
|
|
58
|
+
noun: 'workflow',
|
|
59
|
+
title: 'Workflow',
|
|
60
|
+
fields_fetch: workflowFields_fetch,
|
|
61
|
+
rows_fetch: async (options) => (await workflows_fetchList(options)).workflows,
|
|
62
|
+
};
|
|
54
63
|
/** What a `workflow` line may hold. */
|
|
55
64
|
const WORKFLOW_GRAMMAR = {
|
|
56
65
|
bare: { summary: 'List the workflows, as list does', options: RESOURCE_LIST_OPTIONS_GRAMMAR },
|
|
@@ -61,7 +70,7 @@ const WORKFLOW_GRAMMAR = {
|
|
|
61
70
|
operands: [{ name: 'term', kind: 'word', summary: 'The filter, field:value (inspect names the fields)' }],
|
|
62
71
|
options: RESOURCE_LIST_OPTIONS_GRAMMAR,
|
|
63
72
|
},
|
|
64
|
-
inspect: { summary: '
|
|
73
|
+
inspect: { summary: 'One workflow, every field with its value; with no id, the fields a workflow has', operands: RESOURCE_ID_OPERANDS },
|
|
65
74
|
},
|
|
66
75
|
};
|
|
67
76
|
/**
|
|
@@ -75,11 +84,11 @@ async function workflow_run(args) {
|
|
|
75
84
|
case null:
|
|
76
85
|
case 'list': return workflowList_render(resourceListBag_build(args.options));
|
|
77
86
|
case 'search': return workflowList_render(resourceListBag_build(args.options, args.operands.term));
|
|
78
|
-
case 'inspect': return workflowFields_render();
|
|
87
|
+
case 'inspect': return args.operands.id === undefined ? workflowFields_render() : resourceRecord_render(WORKFLOW_RECORD, args.operands.id);
|
|
79
88
|
}
|
|
80
89
|
}
|
|
81
90
|
/**
|
|
82
|
-
* `workflow [[listing options] | list [listing options] | search <term> [listing options] | inspect]`: the declaration.
|
|
91
|
+
* `workflow [[listing options] | list [listing options] | search <term> [listing options] | inspect [id]]`: the declaration.
|
|
83
92
|
*
|
|
84
93
|
* @example
|
|
85
94
|
* ```ts
|
|
@@ -92,9 +101,9 @@ export const workflowCommand = command_declare({
|
|
|
92
101
|
grammar: WORKFLOW_GRAMMAR,
|
|
93
102
|
help: {
|
|
94
103
|
summary: "CUBE's workflows, a pipeline's runs: list them, search them, name their fields",
|
|
95
|
-
description: 'List the workflows in CUBE, each one run of a pipeline, a page at a time or every page, filtered by a field:value search and in the columns asked for; inspect names the fields a workflow has. workflow and workflows are one command. pipeline run starts one.',
|
|
104
|
+
description: 'List the workflows in CUBE, each one run of a pipeline, a page at a time or every page, filtered by a field:value search and in the columns asked for; inspect <id> shows the fields and values of one workflow, and inspect alone names the fields a workflow has. workflow and workflows are one command. pipeline run starts one.',
|
|
96
105
|
category: 'Resources',
|
|
97
|
-
examples: ['workflows list', 'workflows list --all', 'workflows search pipeline_name:PHI_detection', 'workflows inspect'],
|
|
106
|
+
examples: ['workflows list', 'workflows list --all', 'workflows search pipeline_name:PHI_detection', 'workflows inspect', 'workflow inspect 7'],
|
|
98
107
|
},
|
|
99
108
|
handler: workflow_run,
|
|
100
109
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/builtins/res/workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAsB,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAA8C,MAAM,kCAAkC,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/builtins/res/workflow.ts"],"names":[],"mappings":"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"}
|