@fnndsc/salsa 3.9.0 → 3.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dag/feedGraph.d.ts +4 -0
- package/dist/dag/feedGraph.js +3 -0
- package/dist/dag/feedGraph.js.map +1 -1
- package/dist/dag/feedJoins.d.ts +9 -0
- package/dist/dag/feedJoins.js +15 -0
- package/dist/dag/feedJoins.js.map +1 -1
- package/dist/dag/feedLoad.js +22 -3
- package/dist/dag/feedLoad.js.map +1 -1
- package/dist/pipelines/diagram.js +56 -2
- package/dist/pipelines/diagram.js.map +1 -1
- package/dist/pipelines/index.d.ts +29 -0
- package/dist/pipelines/index.js +33 -1
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pipelines/packages.d.ts +44 -0
- package/dist/pipelines/packages.js +181 -0
- package/dist/pipelines/packages.js.map +1 -0
- package/dist/retrieve/watch.d.ts +16 -2
- package/dist/retrieve/watch.js +124 -54
- package/dist/retrieve/watch.js.map +1 -1
- package/dist/vfs/dispatcher.js +9 -0
- package/dist/vfs/dispatcher.js.map +1 -1
- package/dist/vfs/providers/native.js +11 -1
- package/dist/vfs/providers/native.js.map +1 -1
- package/dist/vfs/providers/proc.d.ts +14 -0
- package/dist/vfs/providers/proc.js +98 -3
- package/dist/vfs/providers/proc.js.map +1 -1
- package/dist/vfs/providers/share.d.ts +65 -0
- package/dist/vfs/providers/share.js +227 -0
- package/dist/vfs/providers/share.js.map +1 -0
- package/dist/vfs/providers/tags.d.ts +30 -0
- package/dist/vfs/providers/tags.js +86 -0
- package/dist/vfs/providers/tags.js.map +1 -0
- package/dist/vfs/providers/workflows.d.ts +60 -0
- package/dist/vfs/providers/workflows.js +172 -0
- package/dist/vfs/providers/workflows.js.map +1 -0
- package/package.json +2 -2
|
@@ -28,6 +28,8 @@ exports.procTopology_await = procTopology_await;
|
|
|
28
28
|
exports.procCache_refresh = procCache_refresh;
|
|
29
29
|
const cumin_1 = require("@fnndsc/cumin");
|
|
30
30
|
const index_js_1 = require("../../jobs/index.js");
|
|
31
|
+
const feedJoins_js_1 = require("../../dag/feedJoins.js");
|
|
32
|
+
const packages_js_1 = require("../../pipelines/packages.js");
|
|
31
33
|
/** Virtual filenames inside each instance directory. */
|
|
32
34
|
const INSTANCE_FILES = new Set(['status', 'params', 'log', 'data']);
|
|
33
35
|
/** Virtual filenames inside each feed directory. */
|
|
@@ -94,6 +96,14 @@ async function cache_ensure() {
|
|
|
94
96
|
* Loads instance topology for a single feed.
|
|
95
97
|
* Uses in-flight map to prevent duplicate API calls.
|
|
96
98
|
*/
|
|
99
|
+
/** Pulls the execution metrics a CUBE list row carries, defined-only. */
|
|
100
|
+
function instanceMetrics_fromRow(inst) {
|
|
101
|
+
return {
|
|
102
|
+
...(typeof inst.start_date === 'string' ? { startedAt: inst.start_date } : {}),
|
|
103
|
+
...(typeof inst.end_date === 'string' ? { finishedAt: inst.end_date } : {}),
|
|
104
|
+
...(typeof inst.size === 'number' ? { outputBytes: inst.size } : {}),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
97
107
|
async function feedInstances_load(feedID) {
|
|
98
108
|
const cache = (0, cumin_1.procCache_get)();
|
|
99
109
|
const client = await cumin_1.chrisConnection.client_get();
|
|
@@ -117,6 +127,7 @@ async function feedInstances_load(feedID) {
|
|
|
117
127
|
params: null,
|
|
118
128
|
outputPath: outputPath_normalize(inst.output_path) ?? undefined,
|
|
119
129
|
status: String(inst.status ?? 'unknown'),
|
|
130
|
+
...instanceMetrics_fromRow(inst),
|
|
120
131
|
});
|
|
121
132
|
}
|
|
122
133
|
cache.topologyLoaded_mark(feedID);
|
|
@@ -169,11 +180,26 @@ function procPath_parse(pathStr) {
|
|
|
169
180
|
let feedID = null;
|
|
170
181
|
let instanceID = null;
|
|
171
182
|
let virtualFile = null;
|
|
183
|
+
let dataRemainder = null;
|
|
172
184
|
if (parts.length >= 1) {
|
|
173
185
|
const feedMatch = parts[0].match(/^feed_(\d+)$/);
|
|
174
186
|
if (feedMatch)
|
|
175
187
|
feedID = parseInt(feedMatch[1], 10);
|
|
176
188
|
}
|
|
189
|
+
// A `data` segment directly after an instance segment starts the link's
|
|
190
|
+
// subtree: the instance is the one before it, whatever follows is the
|
|
191
|
+
// remainder inside the CFS target.
|
|
192
|
+
for (let index = 2; index < parts.length; index++) {
|
|
193
|
+
if (parts[index] !== 'data')
|
|
194
|
+
continue;
|
|
195
|
+
const instMatch = parts[index - 1].match(/_(\d+)$/);
|
|
196
|
+
if (!instMatch)
|
|
197
|
+
continue;
|
|
198
|
+
instanceID = parseInt(instMatch[1], 10);
|
|
199
|
+
virtualFile = 'data';
|
|
200
|
+
dataRemainder = parts.slice(index + 1).join('/');
|
|
201
|
+
return { feedID, instanceID, virtualFile, dataRemainder };
|
|
202
|
+
}
|
|
177
203
|
if (parts.length >= 2) {
|
|
178
204
|
const lastPart = parts[parts.length - 1];
|
|
179
205
|
if (FEED_FILES.has(lastPart) || INSTANCE_FILES.has(lastPart)) {
|
|
@@ -190,7 +216,7 @@ function procPath_parse(pathStr) {
|
|
|
190
216
|
instanceID = parseInt(instMatch[1], 10);
|
|
191
217
|
}
|
|
192
218
|
}
|
|
193
|
-
return { feedID, instanceID, virtualFile };
|
|
219
|
+
return { feedID, instanceID, virtualFile, dataRemainder };
|
|
194
220
|
}
|
|
195
221
|
/** Formats instance params as key=value lines. */
|
|
196
222
|
function params_render(inst) {
|
|
@@ -218,6 +244,21 @@ function outputPath_normalize(value) {
|
|
|
218
244
|
* @param instanceID - Plugin-instance ID whose output path is needed.
|
|
219
245
|
* @returns Absolute output path, or null when CUBE has not recorded one.
|
|
220
246
|
*/
|
|
247
|
+
/**
|
|
248
|
+
* Resolves a path inside an instance's `data` link to its CFS target.
|
|
249
|
+
*
|
|
250
|
+
* @param instanceID - The instance whose output space the path enters.
|
|
251
|
+
* @param remainder - The path below `data`, '' for the link itself.
|
|
252
|
+
* @returns The absolute CFS path, or Err when the job has no output space.
|
|
253
|
+
*/
|
|
254
|
+
async function dataTarget_resolve(instanceID, remainder) {
|
|
255
|
+
const outputPath = await instanceOutputPath_ensure(instanceID);
|
|
256
|
+
if (!outputPath) {
|
|
257
|
+
cumin_1.errorStack.stack_push('error', `No CFS output path is available for job ${instanceID}`);
|
|
258
|
+
return (0, cumin_1.Err)();
|
|
259
|
+
}
|
|
260
|
+
return (0, cumin_1.Ok)(remainder === '' ? outputPath : `${outputPath}/${remainder}`);
|
|
261
|
+
}
|
|
221
262
|
async function instanceOutputPath_ensure(instanceID) {
|
|
222
263
|
const cache = (0, cumin_1.procCache_get)();
|
|
223
264
|
const inst = cache.instance_get(instanceID);
|
|
@@ -317,7 +358,17 @@ class ProcVfsProvider {
|
|
|
317
358
|
});
|
|
318
359
|
return (0, cumin_1.Ok)(items);
|
|
319
360
|
}
|
|
320
|
-
const { feedID, instanceID } = procPath_parse(clean);
|
|
361
|
+
const { feedID, instanceID, virtualFile, dataRemainder } = procPath_parse(clean);
|
|
362
|
+
// Anything under an instance's `data` link belongs to the link's CFS
|
|
363
|
+
// target: resolve and delegate, so `ls .../data` (and deeper) shows the
|
|
364
|
+
// target's real contents instead of silently re-listing the instance.
|
|
365
|
+
if (instanceID !== null && virtualFile === 'data' && dataRemainder !== null) {
|
|
366
|
+
const target = await dataTarget_resolve(instanceID, dataRemainder);
|
|
367
|
+
if (!target.ok)
|
|
368
|
+
return (0, cumin_1.Err)();
|
|
369
|
+
const { vfsDispatcher } = await import('../dispatcher.js');
|
|
370
|
+
return vfsDispatcher.list(target.value, _options);
|
|
371
|
+
}
|
|
321
372
|
// /proc/jobs/feed_N — list root instances + feed virtual files
|
|
322
373
|
if (feedID !== null && instanceID === null) {
|
|
323
374
|
const wasLoaded = cache.topologyLoaded_has(feedID);
|
|
@@ -391,11 +442,40 @@ class ProcVfsProvider {
|
|
|
391
442
|
}
|
|
392
443
|
return (0, cumin_1.Ok)([]);
|
|
393
444
|
}
|
|
445
|
+
/**
|
|
446
|
+
* Binary bytes exist only under the `data` link (an image in a job's
|
|
447
|
+
* output space); everything else in `/proc` is synthesized text.
|
|
448
|
+
*
|
|
449
|
+
* @param pathStr - Absolute `/proc/jobs/.../data/...` path.
|
|
450
|
+
* @returns The target file's bytes.
|
|
451
|
+
*/
|
|
452
|
+
async readBinary(pathStr) {
|
|
453
|
+
await cache_ensure();
|
|
454
|
+
const clean = pathStr.replace(/\/$/, '');
|
|
455
|
+
const { instanceID, virtualFile, dataRemainder } = procPath_parse(clean);
|
|
456
|
+
if (instanceID === null || virtualFile !== 'data' || dataRemainder === null || dataRemainder === '') {
|
|
457
|
+
cumin_1.errorStack.stack_push('error', `${pathStr} is not a binary file.`);
|
|
458
|
+
return (0, cumin_1.Err)();
|
|
459
|
+
}
|
|
460
|
+
const target = await dataTarget_resolve(instanceID, dataRemainder);
|
|
461
|
+
if (!target.ok)
|
|
462
|
+
return (0, cumin_1.Err)();
|
|
463
|
+
const { vfsDispatcher } = await import('../dispatcher.js');
|
|
464
|
+
return vfsDispatcher.readBinary(target.value);
|
|
465
|
+
}
|
|
394
466
|
async read(pathStr) {
|
|
395
467
|
await cache_ensure();
|
|
396
468
|
const cache = (0, cumin_1.procCache_get)();
|
|
397
469
|
const clean = pathStr.replace(/\/$/, '');
|
|
398
|
-
const { feedID, instanceID, virtualFile } = procPath_parse(clean);
|
|
470
|
+
const { feedID, instanceID, virtualFile, dataRemainder } = procPath_parse(clean);
|
|
471
|
+
// A file under the `data` link is the CFS target's file.
|
|
472
|
+
if (instanceID !== null && virtualFile === 'data' && dataRemainder !== null && dataRemainder !== '') {
|
|
473
|
+
const target = await dataTarget_resolve(instanceID, dataRemainder);
|
|
474
|
+
if (!target.ok)
|
|
475
|
+
return (0, cumin_1.Err)();
|
|
476
|
+
const { vfsDispatcher } = await import('../dispatcher.js');
|
|
477
|
+
return vfsDispatcher.read(target.value);
|
|
478
|
+
}
|
|
399
479
|
// Feed-level virtual files
|
|
400
480
|
if (feedID !== null && instanceID === null && virtualFile !== null) {
|
|
401
481
|
const feed = cache.feed_get(feedID);
|
|
@@ -556,6 +636,7 @@ async function feedStatus_refresh(feedID) {
|
|
|
556
636
|
for await (const step of (0, cumin_1.listPages_walk)((offset, limit) => (0, cumin_1.pluginInstancesPage_get)(client, { feed_id: feedID, limit, offset }), { pageSize: PAGE })) {
|
|
557
637
|
for (const inst of step.items) {
|
|
558
638
|
cache.status_update(Number(inst.id), String(inst.status ?? 'unknown'));
|
|
639
|
+
cache.instanceMetrics_set(Number(inst.id), instanceMetrics_fromRow(inst));
|
|
559
640
|
}
|
|
560
641
|
}
|
|
561
642
|
}
|
|
@@ -606,6 +687,7 @@ async function procTopology_run(state) {
|
|
|
606
687
|
params: null,
|
|
607
688
|
outputPath: outputPath_normalize(inst.output_path) ?? undefined,
|
|
608
689
|
status: String(inst.status ?? 'unknown'),
|
|
690
|
+
...instanceMetrics_fromRow(inst),
|
|
609
691
|
});
|
|
610
692
|
state.seenInstanceIDs.add(instanceID);
|
|
611
693
|
state.seenFeedIDs.add(feedID);
|
|
@@ -655,6 +737,7 @@ function procTopology_start(state) {
|
|
|
655
737
|
if ((0, cumin_1.procCache_get)().warmupComplete) {
|
|
656
738
|
procTopologyFailure = undefined;
|
|
657
739
|
procTopologyResumeState = null;
|
|
740
|
+
procSettlementTails_run();
|
|
658
741
|
}
|
|
659
742
|
else {
|
|
660
743
|
procTopologyFailure = 'the topology sweep ended before the index completed';
|
|
@@ -668,6 +751,17 @@ function procTopology_start(state) {
|
|
|
668
751
|
});
|
|
669
752
|
return sweep;
|
|
670
753
|
}
|
|
754
|
+
/**
|
|
755
|
+
* Kicks the quiet settlement tails once the topology index is complete:
|
|
756
|
+
* every unresolved `ts` join resolves in the background (so first diagrams
|
|
757
|
+
* are pure cache, and the checkpoint persists them), and the pipeline
|
|
758
|
+
* package store sweeps unseen registered pipelines. Both are best-effort —
|
|
759
|
+
* a failure leaves the lazy paths intact.
|
|
760
|
+
*/
|
|
761
|
+
function procSettlementTails_run() {
|
|
762
|
+
void (0, feedJoins_js_1.procJoins_sweep)().catch(() => { });
|
|
763
|
+
void (0, packages_js_1.pipelinePackages_sweep)().catch(() => { });
|
|
764
|
+
}
|
|
671
765
|
/**
|
|
672
766
|
* Runs a feed-scoped topology reconciliation selected after checkpoint restore.
|
|
673
767
|
*
|
|
@@ -680,6 +774,7 @@ async function procTopologyScoped_run(feedIDs) {
|
|
|
680
774
|
for (const feedID of feedIDs)
|
|
681
775
|
await procCache_refresh(feedID);
|
|
682
776
|
cache.warmup_complete();
|
|
777
|
+
procSettlementTails_run();
|
|
683
778
|
}
|
|
684
779
|
/**
|
|
685
780
|
* Starts one scoped reconciliation and retains its targets for `proc retry`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proc.js","sourceRoot":"","sources":["../../../src/vfs/providers/proc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proc.js","sourceRoot":"","sources":["../../../src/vfs/providers/proc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file `/usr/share/<plugin>` — what is known *about* a plugin.
|
|
3
|
+
*
|
|
4
|
+
* A CUBE plugin meta is a plugin's version-independent identity: the record its
|
|
5
|
+
* versions hang off, carrying authors, licence, repository and documentation.
|
|
6
|
+
* It is currently collapsed into a `/bin` entry's name and version field, so
|
|
7
|
+
* none of it is reachable.
|
|
8
|
+
*
|
|
9
|
+
* `/bin` stays flat. Nesting versions under a plugin directory would make an
|
|
10
|
+
* executable a directory — the macOS application-bundle trick, which works but
|
|
11
|
+
* costs a permanently divided view that every surface must be taught
|
|
12
|
+
* separately, and which Plan 9 declined outright. The Unix answer is already in
|
|
13
|
+
* this codebase: `/bin` holds executables and `/usr/bin` holds their help text.
|
|
14
|
+
* Metadata extends that parallel tree rather than nesting the first.
|
|
15
|
+
*
|
|
16
|
+
* @module
|
|
17
|
+
*/
|
|
18
|
+
import { type Result } from '@fnndsc/cumin';
|
|
19
|
+
import type { CpOptions, VFSItem, VFSProvider } from '../provider.js';
|
|
20
|
+
/**
|
|
21
|
+
* Projects CUBE plugin metas as `/usr/share`.
|
|
22
|
+
*/
|
|
23
|
+
export declare class ShareVfsProvider implements VFSProvider {
|
|
24
|
+
/** @inheritdoc */
|
|
25
|
+
prefix: string;
|
|
26
|
+
/** @inheritdoc */
|
|
27
|
+
list(path: string): Promise<Result<VFSItem[]>>;
|
|
28
|
+
/** @inheritdoc */
|
|
29
|
+
cp(_src: string, _dest: string, _options: CpOptions): Promise<boolean>;
|
|
30
|
+
/**
|
|
31
|
+
* Lists the packages tree: the pipeline directories, or one pipeline's
|
|
32
|
+
* files (identity fields plus the canonical `manifest.yaml`).
|
|
33
|
+
*
|
|
34
|
+
* @param path - The full request path, for error text.
|
|
35
|
+
* @param parts - Path segments below `packages/`.
|
|
36
|
+
* @returns The listing.
|
|
37
|
+
*/
|
|
38
|
+
private packages_list;
|
|
39
|
+
/**
|
|
40
|
+
* Reads one package file: an identity field, or the canonical manifest.
|
|
41
|
+
*
|
|
42
|
+
* @param parts - Path segments below `packages/`.
|
|
43
|
+
* @returns The file content.
|
|
44
|
+
*/
|
|
45
|
+
private packages_read;
|
|
46
|
+
/** @inheritdoc */
|
|
47
|
+
read(path: string): Promise<Result<string>>;
|
|
48
|
+
/**
|
|
49
|
+
* Fetches every plugin meta visible to this session.
|
|
50
|
+
*
|
|
51
|
+
* @returns The rows, empty when the fetch failed.
|
|
52
|
+
*/
|
|
53
|
+
private rows_get;
|
|
54
|
+
/**
|
|
55
|
+
* Finds one plugin meta by name.
|
|
56
|
+
*
|
|
57
|
+
* A `/bin` entry carries its version (`pl-dcm2niix-v1.0.2`) while a meta is
|
|
58
|
+
* version-independent, so a name given in either form resolves here.
|
|
59
|
+
*
|
|
60
|
+
* @param rows - The rows to search.
|
|
61
|
+
* @param name - The plugin name, with or without a version suffix.
|
|
62
|
+
* @returns The matching row, or undefined.
|
|
63
|
+
*/
|
|
64
|
+
private row_find;
|
|
65
|
+
}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file `/usr/share/<plugin>` — what is known *about* a plugin.
|
|
4
|
+
*
|
|
5
|
+
* A CUBE plugin meta is a plugin's version-independent identity: the record its
|
|
6
|
+
* versions hang off, carrying authors, licence, repository and documentation.
|
|
7
|
+
* It is currently collapsed into a `/bin` entry's name and version field, so
|
|
8
|
+
* none of it is reachable.
|
|
9
|
+
*
|
|
10
|
+
* `/bin` stays flat. Nesting versions under a plugin directory would make an
|
|
11
|
+
* executable a directory — the macOS application-bundle trick, which works but
|
|
12
|
+
* costs a permanently divided view that every surface must be taught
|
|
13
|
+
* separately, and which Plan 9 declined outright. The Unix answer is already in
|
|
14
|
+
* this codebase: `/bin` holds executables and `/usr/bin` holds their help text.
|
|
15
|
+
* Metadata extends that parallel tree rather than nesting the first.
|
|
16
|
+
*
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.ShareVfsProvider = void 0;
|
|
21
|
+
const cumin_1 = require("@fnndsc/cumin");
|
|
22
|
+
const js_yaml_1 = require("js-yaml");
|
|
23
|
+
const index_js_1 = require("../../pluginmetas/index.js");
|
|
24
|
+
const packages_js_1 = require("../../pipelines/packages.js");
|
|
25
|
+
/** The prefix this provider answers for. */
|
|
26
|
+
const PREFIX = '/usr/share';
|
|
27
|
+
/** The well-known subdirectory holding registered pipelines. */
|
|
28
|
+
const PACKAGES_DIR = 'packages';
|
|
29
|
+
/** The fields projected as files inside a plugin's share directory. */
|
|
30
|
+
const SHARE_FIELDS = [
|
|
31
|
+
'title', 'authors', 'license', 'type', 'stars', 'public_repo', 'documentation',
|
|
32
|
+
];
|
|
33
|
+
/** The identity fields projected as files inside a package directory. */
|
|
34
|
+
const PACKAGE_FIELDS = [
|
|
35
|
+
'name', 'authors', 'category', 'description',
|
|
36
|
+
];
|
|
37
|
+
/** Reads one package identity field as text, empty when absent. */
|
|
38
|
+
function packageField_text(entry, field) {
|
|
39
|
+
const value = entry[field];
|
|
40
|
+
return value === undefined || value === null ? '' : String(value);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Reads a field from a plugin-meta row.
|
|
44
|
+
*
|
|
45
|
+
* @param row - One plugin-meta row.
|
|
46
|
+
* @param field - The field to read.
|
|
47
|
+
* @returns The value as a string, or an empty string when absent.
|
|
48
|
+
*/
|
|
49
|
+
function field_text(row, field) {
|
|
50
|
+
const value = row[field];
|
|
51
|
+
return value === undefined || value === null ? '' : String(value);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Projects CUBE plugin metas as `/usr/share`.
|
|
55
|
+
*/
|
|
56
|
+
class ShareVfsProvider {
|
|
57
|
+
/** @inheritdoc */
|
|
58
|
+
prefix = PREFIX;
|
|
59
|
+
/** @inheritdoc */
|
|
60
|
+
async list(path) {
|
|
61
|
+
const parts = path.slice(PREFIX.length).split('/').filter(Boolean);
|
|
62
|
+
if (parts[0] === PACKAGES_DIR) {
|
|
63
|
+
return this.packages_list(path, parts.slice(1));
|
|
64
|
+
}
|
|
65
|
+
const rows = await this.rows_get();
|
|
66
|
+
if (parts.length === 0) {
|
|
67
|
+
const pluginDirs = rows.map((row) => ({
|
|
68
|
+
name: field_text(row, 'name'),
|
|
69
|
+
type: 'dir',
|
|
70
|
+
size: 0,
|
|
71
|
+
owner: field_text(row, 'authors'),
|
|
72
|
+
date: field_text(row, 'creation_date'),
|
|
73
|
+
title: field_text(row, 'title'),
|
|
74
|
+
id: Number(field_text(row, 'id')),
|
|
75
|
+
}));
|
|
76
|
+
// Registered pipelines live beside the flat plugin directories, in a
|
|
77
|
+
// well-known subdirectory — the Unix /usr/share arrangement.
|
|
78
|
+
return (0, cumin_1.Ok)([
|
|
79
|
+
{ name: PACKAGES_DIR, type: 'dir', size: 0, owner: '', date: '' },
|
|
80
|
+
...pluginDirs,
|
|
81
|
+
]);
|
|
82
|
+
}
|
|
83
|
+
if (parts.length === 1) {
|
|
84
|
+
const row = this.row_find(rows, parts[0]);
|
|
85
|
+
if (!row) {
|
|
86
|
+
cumin_1.errorStack.stack_push('error', `No plugin named '${parts[0]}' is registered.`);
|
|
87
|
+
return (0, cumin_1.Err)();
|
|
88
|
+
}
|
|
89
|
+
return (0, cumin_1.Ok)(SHARE_FIELDS
|
|
90
|
+
.filter((field) => field_text(row, field).length > 0)
|
|
91
|
+
.map((field) => ({
|
|
92
|
+
name: field,
|
|
93
|
+
type: 'file',
|
|
94
|
+
size: field_text(row, field).length + 1,
|
|
95
|
+
owner: field_text(row, 'authors'),
|
|
96
|
+
date: field_text(row, 'creation_date'),
|
|
97
|
+
})));
|
|
98
|
+
}
|
|
99
|
+
cumin_1.errorStack.stack_push('error', `${path} is not a plugin metadata path.`);
|
|
100
|
+
return (0, cumin_1.Err)();
|
|
101
|
+
}
|
|
102
|
+
/** @inheritdoc */
|
|
103
|
+
async cp(_src, _dest, _options) {
|
|
104
|
+
cumin_1.errorStack.stack_push('error', 'Plugin metadata is CUBE\'s record of a plugin; it cannot be copied.');
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Lists the packages tree: the pipeline directories, or one pipeline's
|
|
109
|
+
* files (identity fields plus the canonical `manifest.yaml`).
|
|
110
|
+
*
|
|
111
|
+
* @param path - The full request path, for error text.
|
|
112
|
+
* @param parts - Path segments below `packages/`.
|
|
113
|
+
* @returns The listing.
|
|
114
|
+
*/
|
|
115
|
+
async packages_list(path, parts) {
|
|
116
|
+
await (0, packages_js_1.pipelinePackages_restore)();
|
|
117
|
+
if (parts.length === 0) {
|
|
118
|
+
return (0, cumin_1.Ok)((0, packages_js_1.pipelinePackages_all)().map((entry) => ({
|
|
119
|
+
name: entry.name,
|
|
120
|
+
type: 'dir',
|
|
121
|
+
size: 0,
|
|
122
|
+
owner: packageField_text(entry, 'authors'),
|
|
123
|
+
date: '',
|
|
124
|
+
id: entry.id,
|
|
125
|
+
})));
|
|
126
|
+
}
|
|
127
|
+
if (parts.length === 1 && parts[0] !== undefined) {
|
|
128
|
+
const entry = (0, packages_js_1.pipelinePackage_find)(parts[0]);
|
|
129
|
+
if (entry === null) {
|
|
130
|
+
cumin_1.errorStack.stack_push('error', `No registered pipeline named '${parts[0]}' is cached; it may still be sweeping.`);
|
|
131
|
+
return (0, cumin_1.Err)();
|
|
132
|
+
}
|
|
133
|
+
const fields = PACKAGE_FIELDS
|
|
134
|
+
.filter((field) => packageField_text(entry, field).length > 0)
|
|
135
|
+
.map((field) => ({
|
|
136
|
+
name: String(field),
|
|
137
|
+
type: 'file',
|
|
138
|
+
size: packageField_text(entry, field).length + 1,
|
|
139
|
+
owner: packageField_text(entry, 'authors'),
|
|
140
|
+
date: '',
|
|
141
|
+
}));
|
|
142
|
+
const manifestYaml = (0, js_yaml_1.dump)(entry.manifest, { lineWidth: -1, noRefs: true });
|
|
143
|
+
return (0, cumin_1.Ok)([
|
|
144
|
+
...fields,
|
|
145
|
+
{ name: 'manifest.yaml', type: 'file', size: manifestYaml.length, owner: packageField_text(entry, 'authors'), date: '' },
|
|
146
|
+
]);
|
|
147
|
+
}
|
|
148
|
+
cumin_1.errorStack.stack_push('error', `${path} is not a pipeline package path.`);
|
|
149
|
+
return (0, cumin_1.Err)();
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Reads one package file: an identity field, or the canonical manifest.
|
|
153
|
+
*
|
|
154
|
+
* @param parts - Path segments below `packages/`.
|
|
155
|
+
* @returns The file content.
|
|
156
|
+
*/
|
|
157
|
+
async packages_read(parts) {
|
|
158
|
+
await (0, packages_js_1.pipelinePackages_restore)();
|
|
159
|
+
const entry = parts[0] !== undefined ? (0, packages_js_1.pipelinePackage_find)(parts[0]) : null;
|
|
160
|
+
if (entry === null) {
|
|
161
|
+
cumin_1.errorStack.stack_push('error', `No registered pipeline named '${parts[0]}' is cached; it may still be sweeping.`);
|
|
162
|
+
return (0, cumin_1.Err)();
|
|
163
|
+
}
|
|
164
|
+
const file = parts[1];
|
|
165
|
+
if (file === 'manifest.yaml') {
|
|
166
|
+
return (0, cumin_1.Ok)((0, js_yaml_1.dump)(entry.manifest, { lineWidth: -1, noRefs: true }));
|
|
167
|
+
}
|
|
168
|
+
if (file !== undefined && PACKAGE_FIELDS.includes(file)) {
|
|
169
|
+
return (0, cumin_1.Ok)(`${packageField_text(entry, file)}\n`);
|
|
170
|
+
}
|
|
171
|
+
cumin_1.errorStack.stack_push('error', `'${file}' is not a pipeline package file.`);
|
|
172
|
+
return (0, cumin_1.Err)();
|
|
173
|
+
}
|
|
174
|
+
/** @inheritdoc */
|
|
175
|
+
async read(path) {
|
|
176
|
+
const parts = path.slice(PREFIX.length).split('/').filter(Boolean);
|
|
177
|
+
if (parts[0] === PACKAGES_DIR) {
|
|
178
|
+
if (parts.length === 3) {
|
|
179
|
+
return this.packages_read(parts.slice(1));
|
|
180
|
+
}
|
|
181
|
+
cumin_1.errorStack.stack_push('error', `${path} is not a pipeline package file.`);
|
|
182
|
+
return (0, cumin_1.Err)();
|
|
183
|
+
}
|
|
184
|
+
if (parts.length !== 2) {
|
|
185
|
+
cumin_1.errorStack.stack_push('error', `${path} is not a plugin metadata file.`);
|
|
186
|
+
return (0, cumin_1.Err)();
|
|
187
|
+
}
|
|
188
|
+
const row = this.row_find(await this.rows_get(), parts[0]);
|
|
189
|
+
if (!row) {
|
|
190
|
+
cumin_1.errorStack.stack_push('error', `No plugin named '${parts[0]}' is registered.`);
|
|
191
|
+
return (0, cumin_1.Err)();
|
|
192
|
+
}
|
|
193
|
+
if (!SHARE_FIELDS.includes(parts[1])) {
|
|
194
|
+
cumin_1.errorStack.stack_push('error', `'${parts[1]}' is not a plugin metadata field.`);
|
|
195
|
+
return (0, cumin_1.Err)();
|
|
196
|
+
}
|
|
197
|
+
return (0, cumin_1.Ok)(`${field_text(row, parts[1])}\n`);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Fetches every plugin meta visible to this session.
|
|
201
|
+
*
|
|
202
|
+
* @returns The rows, empty when the fetch failed.
|
|
203
|
+
*/
|
|
204
|
+
async rows_get() {
|
|
205
|
+
const data = await (0, index_js_1.pluginMetas_listAll)();
|
|
206
|
+
return data?.tableData ?? [];
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Finds one plugin meta by name.
|
|
210
|
+
*
|
|
211
|
+
* A `/bin` entry carries its version (`pl-dcm2niix-v1.0.2`) while a meta is
|
|
212
|
+
* version-independent, so a name given in either form resolves here.
|
|
213
|
+
*
|
|
214
|
+
* @param rows - The rows to search.
|
|
215
|
+
* @param name - The plugin name, with or without a version suffix.
|
|
216
|
+
* @returns The matching row, or undefined.
|
|
217
|
+
*/
|
|
218
|
+
row_find(rows, name) {
|
|
219
|
+
const bare = name.replace(/-v[\d.]+$/, '');
|
|
220
|
+
return rows.find((row) => {
|
|
221
|
+
const metaName = field_text(row, 'name');
|
|
222
|
+
return metaName === name || metaName === bare;
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
exports.ShareVfsProvider = ShareVfsProvider;
|
|
227
|
+
//# sourceMappingURL=share.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../../src/vfs/providers/share.ts"],"names":[],"mappings":"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"}
|