@fnndsc/brasa 0.56.3 → 0.57.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/buildinfo.json +1 -1
- package/dist/builtins/argumentTokens.d.ts +13 -0
- package/dist/builtins/argumentTokens.js +15 -3
- package/dist/builtins/argumentTokens.js.map +1 -1
- package/dist/builtins/berth/berth.d.ts +11 -0
- package/dist/builtins/berth/berth.js +53 -22
- package/dist/builtins/berth/berth.js.map +1 -1
- package/dist/builtins/berth/berthCube.d.ts +14 -0
- package/dist/builtins/berth/berthCube.js +17 -0
- package/dist/builtins/berth/berthCube.js.map +1 -1
- package/dist/builtins/fs/download.d.ts +12 -1
- package/dist/builtins/fs/download.js +24 -4
- package/dist/builtins/fs/download.js.map +1 -1
- package/dist/builtins/fs/transferJobs.d.ts +64 -0
- package/dist/builtins/fs/transferJobs.js +98 -0
- package/dist/builtins/fs/transferJobs.js.map +1 -0
- package/dist/builtins/fs/upload.d.ts +14 -1
- package/dist/builtins/fs/upload.js +22 -5
- package/dist/builtins/fs/upload.js.map +1 -1
- package/dist/builtins/fs/url.d.ts +27 -2
- package/dist/builtins/fs/url.js +60 -10
- package/dist/builtins/fs/url.js.map +1 -1
- package/dist/builtins/help.d.ts +6 -10
- package/dist/builtins/help.js +34 -87
- package/dist/builtins/help.js.map +1 -1
- package/dist/builtins/helpSections.js +4 -1
- package/dist/builtins/helpSections.js.map +1 -1
- package/dist/builtins/pluginExecute.d.ts +21 -3
- package/dist/builtins/pluginExecute.js +69 -33
- package/dist/builtins/pluginExecute.js.map +1 -1
- package/dist/builtins/res/pipeline.d.ts +231 -2
- package/dist/builtins/res/pipeline.js +225 -107
- package/dist/builtins/res/pipeline.js.map +1 -1
- package/dist/builtins/res/plugin.d.ts +343 -3
- package/dist/builtins/res/plugin.js +221 -67
- package/dist/builtins/res/plugin.js.map +1 -1
- package/dist/builtins/res/plugin.sync.js +5 -3
- package/dist/builtins/res/plugin.sync.js.map +1 -1
- package/dist/chris/binDeclarations.d.ts +312 -0
- package/dist/chris/binDeclarations.js +572 -0
- package/dist/chris/binDeclarations.js.map +1 -0
- package/dist/chris/chrisCommands.d.ts +1 -0
- package/dist/chris/chrisCommands.js +5 -30
- package/dist/chris/chrisCommands.js.map +1 -1
- package/dist/chris/commandFallback.d.ts +30 -3
- package/dist/chris/commandFallback.js +163 -94
- package/dist/chris/commandFallback.js.map +1 -1
- package/dist/chris/completion.d.ts +37 -0
- package/dist/chris/completion.js +41 -121
- package/dist/chris/completion.js.map +1 -1
- package/dist/chris/kinds.d.ts +11 -0
- package/dist/chris/kinds.js +32 -1
- package/dist/chris/kinds.js.map +1 -1
- package/dist/core/argumentKinds.d.ts +18 -0
- package/dist/core/argumentKinds.js +33 -0
- package/dist/core/argumentKinds.js.map +1 -1
- package/dist/core/backend.d.ts +12 -5
- package/dist/core/backend.js.map +1 -1
- package/dist/core/commandDeclaration.d.ts +40 -0
- package/dist/core/commandDeclaration.js.map +1 -1
- package/dist/core/commandOrder.js +3 -3
- package/dist/core/commandOrder.js.map +1 -1
- package/dist/core/commandParse.d.ts +14 -0
- package/dist/core/commandParse.js +39 -5
- package/dist/core/commandParse.js.map +1 -1
- package/dist/core/commandRegistry.d.ts +22 -36
- package/dist/core/commandRegistry.js +19 -10
- package/dist/core/commandRegistry.js.map +1 -1
- package/dist/core/commandSchema.js +4 -0
- package/dist/core/commandSchema.js.map +1 -1
- package/dist/core/coreCommands.d.ts +1 -0
- package/dist/core/coreCommands.js +6 -19
- package/dist/core/coreCommands.js.map +1 -1
- package/dist/core/dispatch.js +12 -41
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/preprocess.d.ts +0 -15
- package/dist/core/preprocess.js +0 -17
- package/dist/core/preprocess.js.map +1 -1
- package/dist/core/shellWords.d.ts +34 -0
- package/dist/core/shellWords.js +60 -0
- package/dist/core/shellWords.js.map +1 -0
- package/dist/core.d.ts +5 -0
- package/dist/core.js +4 -0
- package/dist/core.js.map +1 -1
- package/dist/lib/completer/declared.js +22 -6
- package/dist/lib/completer/declared.js.map +1 -1
- package/dist/lib/completer/index.js +15 -53
- package/dist/lib/completer/index.js.map +1 -1
- package/dist/notes.json +1 -1
- package/package.json +5 -5
- package/dist/builtins/res/pipeline.args.d.ts +0 -35
- package/dist/builtins/res/pipeline.args.js +0 -94
- package/dist/builtins/res/pipeline.args.js.map +0 -1
- package/dist/chris/help.d.ts +0 -18
- package/dist/chris/help.js +0 -229
- package/dist/chris/help.js.map +0 -1
|
@@ -1,9 +1,349 @@
|
|
|
1
1
|
import { type CommandEnvelope } from '@fnndsc/menu';
|
|
2
2
|
export { plugin_addInteractive } from './plugin.sync.js';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* `plugin <list|search|inspect|info|add|sync|validate|index> …`: the
|
|
5
|
+
* declaration. `plugins` is the same command, and a read.
|
|
5
6
|
*
|
|
6
|
-
* @
|
|
7
|
-
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* commands_register({ declarations: [pluginCommand] }, 'backend');
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare const pluginCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
|
|
13
|
+
readonly subcommands: {
|
|
14
|
+
readonly list: {
|
|
15
|
+
readonly summary: "List the plugins, 20 to a page";
|
|
16
|
+
readonly options: {
|
|
17
|
+
readonly all: {
|
|
18
|
+
readonly long: "all";
|
|
19
|
+
readonly summary: "Fetch every page";
|
|
20
|
+
};
|
|
21
|
+
readonly limit: {
|
|
22
|
+
readonly long: "limit";
|
|
23
|
+
readonly summary: "Page size (default 20)";
|
|
24
|
+
readonly value: {
|
|
25
|
+
readonly name: "n";
|
|
26
|
+
readonly kind: "int";
|
|
27
|
+
readonly min: 1;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
readonly offset: {
|
|
31
|
+
readonly long: "offset";
|
|
32
|
+
readonly summary: "Start this many rows in";
|
|
33
|
+
readonly value: {
|
|
34
|
+
readonly name: "n";
|
|
35
|
+
readonly kind: "int";
|
|
36
|
+
readonly min: 0;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
readonly page: {
|
|
40
|
+
readonly long: "page";
|
|
41
|
+
readonly summary: "Page size, when --limit is not given";
|
|
42
|
+
readonly value: {
|
|
43
|
+
readonly name: "n";
|
|
44
|
+
readonly kind: "int";
|
|
45
|
+
readonly min: 1;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
readonly fields: {
|
|
49
|
+
readonly long: "fields";
|
|
50
|
+
readonly summary: "The columns to show, comma-separated (inspect names them)";
|
|
51
|
+
readonly value: {
|
|
52
|
+
readonly name: "field,…";
|
|
53
|
+
readonly kind: "word";
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
readonly search: {
|
|
57
|
+
readonly long: "search";
|
|
58
|
+
readonly summary: "Filter by field:value, comma-separated (inspect names the fields)";
|
|
59
|
+
readonly value: {
|
|
60
|
+
readonly name: "field:value";
|
|
61
|
+
readonly kind: "word";
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
readonly sort: {
|
|
65
|
+
readonly long: "sort";
|
|
66
|
+
readonly summary: "Sort by a field";
|
|
67
|
+
readonly value: {
|
|
68
|
+
readonly name: "field";
|
|
69
|
+
readonly kind: "word";
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
readonly reverse: {
|
|
73
|
+
readonly long: "reverse";
|
|
74
|
+
readonly summary: "Reverse the sort";
|
|
75
|
+
};
|
|
76
|
+
readonly table: {
|
|
77
|
+
readonly long: "table";
|
|
78
|
+
readonly summary: "Tabular output";
|
|
79
|
+
};
|
|
80
|
+
readonly csv: {
|
|
81
|
+
readonly long: "csv";
|
|
82
|
+
readonly summary: "CSV output";
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
readonly search: {
|
|
87
|
+
readonly summary: "List the plugins a filter matches (list --search <term>)";
|
|
88
|
+
readonly operands: readonly [{
|
|
89
|
+
readonly name: "term";
|
|
90
|
+
readonly kind: "word";
|
|
91
|
+
readonly optional: true;
|
|
92
|
+
readonly summary: "The filter: a name, field:value, id:42, or id:77++id:33";
|
|
93
|
+
}];
|
|
94
|
+
readonly options: {
|
|
95
|
+
readonly all: {
|
|
96
|
+
readonly long: "all";
|
|
97
|
+
readonly summary: "Fetch every page";
|
|
98
|
+
};
|
|
99
|
+
readonly limit: {
|
|
100
|
+
readonly long: "limit";
|
|
101
|
+
readonly summary: "Page size (default 20)";
|
|
102
|
+
readonly value: {
|
|
103
|
+
readonly name: "n";
|
|
104
|
+
readonly kind: "int";
|
|
105
|
+
readonly min: 1;
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
readonly offset: {
|
|
109
|
+
readonly long: "offset";
|
|
110
|
+
readonly summary: "Start this many rows in";
|
|
111
|
+
readonly value: {
|
|
112
|
+
readonly name: "n";
|
|
113
|
+
readonly kind: "int";
|
|
114
|
+
readonly min: 0;
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
readonly page: {
|
|
118
|
+
readonly long: "page";
|
|
119
|
+
readonly summary: "Page size, when --limit is not given";
|
|
120
|
+
readonly value: {
|
|
121
|
+
readonly name: "n";
|
|
122
|
+
readonly kind: "int";
|
|
123
|
+
readonly min: 1;
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
readonly fields: {
|
|
127
|
+
readonly long: "fields";
|
|
128
|
+
readonly summary: "The columns to show, comma-separated (inspect names them)";
|
|
129
|
+
readonly value: {
|
|
130
|
+
readonly name: "field,…";
|
|
131
|
+
readonly kind: "word";
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
readonly search: {
|
|
135
|
+
readonly long: "search";
|
|
136
|
+
readonly summary: "Filter by field:value, comma-separated (inspect names the fields)";
|
|
137
|
+
readonly value: {
|
|
138
|
+
readonly name: "field:value";
|
|
139
|
+
readonly kind: "word";
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
readonly sort: {
|
|
143
|
+
readonly long: "sort";
|
|
144
|
+
readonly summary: "Sort by a field";
|
|
145
|
+
readonly value: {
|
|
146
|
+
readonly name: "field";
|
|
147
|
+
readonly kind: "word";
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
readonly reverse: {
|
|
151
|
+
readonly long: "reverse";
|
|
152
|
+
readonly summary: "Reverse the sort";
|
|
153
|
+
};
|
|
154
|
+
readonly table: {
|
|
155
|
+
readonly long: "table";
|
|
156
|
+
readonly summary: "Tabular output";
|
|
157
|
+
};
|
|
158
|
+
readonly csv: {
|
|
159
|
+
readonly long: "csv";
|
|
160
|
+
readonly summary: "CSV output";
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
readonly inspect: {
|
|
165
|
+
readonly summary: "Name the fields a plugin has";
|
|
166
|
+
};
|
|
167
|
+
readonly info: {
|
|
168
|
+
readonly summary: "Show one plugin version whole: its facts and every parameter";
|
|
169
|
+
readonly operands: readonly [{
|
|
170
|
+
readonly name: "plugin";
|
|
171
|
+
readonly kind: "plugin";
|
|
172
|
+
readonly summary: "The version as /bin names it, <name>-v<version>; or the name, with the version after";
|
|
173
|
+
}, {
|
|
174
|
+
readonly name: "version";
|
|
175
|
+
readonly kind: "word";
|
|
176
|
+
readonly optional: true;
|
|
177
|
+
readonly summary: "The version, when the plugin is given by name";
|
|
178
|
+
}];
|
|
179
|
+
};
|
|
180
|
+
readonly add: {
|
|
181
|
+
readonly summary: "Register a plugin: by name or image (the peer store, then the image), a plugin URL in another CUBE, or a descriptor file";
|
|
182
|
+
readonly operands: readonly [{
|
|
183
|
+
readonly name: "input";
|
|
184
|
+
readonly kind: "word";
|
|
185
|
+
readonly optional: true;
|
|
186
|
+
readonly unless: "json";
|
|
187
|
+
readonly summary: "A plugin name, a Docker image, or a plugin URL in another CUBE";
|
|
188
|
+
}];
|
|
189
|
+
readonly options: {
|
|
190
|
+
readonly json: {
|
|
191
|
+
readonly long: "json";
|
|
192
|
+
readonly summary: "Register one descriptor file: a host path, or cube:<path> for one in CUBE";
|
|
193
|
+
readonly value: {
|
|
194
|
+
readonly name: "file";
|
|
195
|
+
readonly kind: "word";
|
|
196
|
+
};
|
|
197
|
+
};
|
|
198
|
+
readonly compute: {
|
|
199
|
+
readonly long: "compute";
|
|
200
|
+
readonly summary: "The compute resources to register it on, comma-separated (default: all)";
|
|
201
|
+
readonly value: {
|
|
202
|
+
readonly name: "resources";
|
|
203
|
+
readonly kind: "compute";
|
|
204
|
+
};
|
|
205
|
+
};
|
|
206
|
+
readonly store: {
|
|
207
|
+
readonly long: "store";
|
|
208
|
+
readonly summary: "The peer store to look in (default: cube.chrisproject.org)";
|
|
209
|
+
readonly value: {
|
|
210
|
+
readonly name: "url";
|
|
211
|
+
readonly kind: "word";
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
readonly adminUser: {
|
|
215
|
+
readonly long: "adminUser";
|
|
216
|
+
readonly summary: "An administrator to act as (sudo asks instead)";
|
|
217
|
+
readonly value: {
|
|
218
|
+
readonly name: "username";
|
|
219
|
+
readonly kind: "word";
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
readonly adminPassword: {
|
|
223
|
+
readonly long: "adminPassword";
|
|
224
|
+
readonly summary: "That administrator's password (sudo asks instead)";
|
|
225
|
+
readonly value: {
|
|
226
|
+
readonly name: "password";
|
|
227
|
+
readonly kind: "word";
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
readonly publicRepo: {
|
|
231
|
+
readonly long: "publicRepo";
|
|
232
|
+
readonly summary: "The plugin's public repository";
|
|
233
|
+
readonly value: {
|
|
234
|
+
readonly name: "url";
|
|
235
|
+
readonly kind: "word";
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
};
|
|
240
|
+
readonly sync: {
|
|
241
|
+
readonly summary: "Fill this CUBE from a plugin index: show the plan, ask, register what is missing";
|
|
242
|
+
readonly operands: readonly [{
|
|
243
|
+
readonly name: "source";
|
|
244
|
+
readonly kind: "word";
|
|
245
|
+
readonly optional: true;
|
|
246
|
+
readonly summary: "owner/repo[@ref] on GitHub, a CUBE path (cube:<path>: a directory of .json, or a .tar.gz), or host:<path>";
|
|
247
|
+
}];
|
|
248
|
+
readonly options: {
|
|
249
|
+
readonly ref: {
|
|
250
|
+
readonly long: "ref";
|
|
251
|
+
readonly summary: "Pin the index at a tag or commit";
|
|
252
|
+
readonly value: {
|
|
253
|
+
readonly name: "ref";
|
|
254
|
+
readonly kind: "word";
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
readonly plan: {
|
|
258
|
+
readonly long: "plan";
|
|
259
|
+
readonly summary: "Show the plan and stop";
|
|
260
|
+
};
|
|
261
|
+
readonly yes: {
|
|
262
|
+
readonly long: "yes";
|
|
263
|
+
readonly summary: "Apply the plan without asking";
|
|
264
|
+
};
|
|
265
|
+
readonly compute: {
|
|
266
|
+
readonly long: "compute";
|
|
267
|
+
readonly summary: "Register on these compute resources (default: all of them)";
|
|
268
|
+
readonly value: {
|
|
269
|
+
readonly name: "resources";
|
|
270
|
+
readonly kind: "compute";
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
readonly validate: {
|
|
276
|
+
readonly summary: "Check descriptors without a CUBE";
|
|
277
|
+
readonly operands: readonly [{
|
|
278
|
+
readonly summary: "A descriptor file or directory (a host path), owner/repo[@ref], or cube:<path>";
|
|
279
|
+
readonly name: "source";
|
|
280
|
+
readonly kind: "word";
|
|
281
|
+
readonly optional: true;
|
|
282
|
+
}];
|
|
283
|
+
readonly options: {
|
|
284
|
+
readonly ref: {
|
|
285
|
+
readonly long: "ref";
|
|
286
|
+
readonly summary: "Pin the index at a tag or commit";
|
|
287
|
+
readonly value: {
|
|
288
|
+
readonly name: "ref";
|
|
289
|
+
readonly kind: "word";
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
readonly offline: {
|
|
293
|
+
readonly long: "offline";
|
|
294
|
+
readonly summary: "Skip rule 5, the registry lookups; the report says it was not checked";
|
|
295
|
+
};
|
|
296
|
+
};
|
|
297
|
+
};
|
|
298
|
+
readonly index: {
|
|
299
|
+
readonly summary: "Show or set the index sync reads";
|
|
300
|
+
readonly operands: readonly [{
|
|
301
|
+
readonly name: "source";
|
|
302
|
+
readonly kind: "word";
|
|
303
|
+
readonly optional: true;
|
|
304
|
+
readonly summary: "owner/repo[@ref] to read from now on";
|
|
305
|
+
}];
|
|
306
|
+
readonly options: {
|
|
307
|
+
readonly reset: {
|
|
308
|
+
readonly long: "reset";
|
|
309
|
+
readonly summary: "Restore FNNDSC/chris-plugins@main";
|
|
310
|
+
};
|
|
311
|
+
};
|
|
312
|
+
};
|
|
313
|
+
readonly run: {
|
|
314
|
+
readonly summary: "Retired: a plugin runs by its name, as a line of its own";
|
|
315
|
+
readonly operands: readonly [{
|
|
316
|
+
readonly name: "words";
|
|
317
|
+
readonly kind: "word";
|
|
318
|
+
readonly optional: true;
|
|
319
|
+
readonly repeat: true;
|
|
320
|
+
readonly summary: "Anything; nothing runs";
|
|
321
|
+
}];
|
|
322
|
+
readonly options: {
|
|
323
|
+
readonly anything: {
|
|
324
|
+
readonly long: "<option>";
|
|
325
|
+
readonly summary: "Any option the old line took; nothing runs";
|
|
326
|
+
readonly value: {
|
|
327
|
+
readonly name: "value";
|
|
328
|
+
readonly kind: "word";
|
|
329
|
+
};
|
|
330
|
+
readonly family: {
|
|
331
|
+
readonly pattern: RegExp;
|
|
332
|
+
};
|
|
333
|
+
};
|
|
334
|
+
};
|
|
335
|
+
};
|
|
336
|
+
};
|
|
337
|
+
}>;
|
|
338
|
+
/**
|
|
339
|
+
* `plugin` over words already split: the declaration's parse and handler.
|
|
340
|
+
*
|
|
341
|
+
* @param args - The words after `plugin`.
|
|
342
|
+
* @returns The answer, or the refusal of a bad line.
|
|
343
|
+
*
|
|
344
|
+
* @example
|
|
345
|
+
* ```ts
|
|
346
|
+
* await builtin_plugin(['search', 'name:dircopy']);
|
|
347
|
+
* ```
|
|
8
348
|
*/
|
|
9
349
|
export declare function builtin_plugin(args: string[]): Promise<CommandEnvelope>;
|