@fnndsc/salsa 3.5.1 → 3.6.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/README.md +3 -3
- package/dist/connect/index.d.ts +11 -0
- package/dist/connect/index.js +11 -0
- package/dist/connect/index.js.map +1 -1
- package/dist/dag/feedJoins.js +8 -7
- package/dist/dag/feedJoins.js.map +1 -1
- package/dist/feeds/index.d.ts +15 -2
- package/dist/feeds/index.js.map +1 -1
- package/dist/files/index.d.ts +7 -0
- package/dist/files/index.js +12 -11
- package/dist/files/index.js.map +1 -1
- package/dist/files/regular_content.js +11 -3
- package/dist/files/regular_content.js.map +1 -1
- package/dist/groups/index.d.ts +59 -0
- package/dist/groups/index.js +89 -0
- package/dist/groups/index.js.map +1 -1
- package/dist/groups/membershipRevision.d.ts +19 -0
- package/dist/groups/membershipRevision.js +29 -0
- package/dist/groups/membershipRevision.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/jobs/jobOps.d.ts +4 -9
- package/dist/jobs/jobOps.js +77 -39
- package/dist/jobs/jobOps.js.map +1 -1
- package/dist/pipelines/diagram.js +19 -9
- package/dist/pipelines/diagram.js.map +1 -1
- package/dist/pipelines/index.d.ts +28 -5
- package/dist/pipelines/index.js +118 -57
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pipelines/invocation.d.ts +80 -0
- package/dist/pipelines/invocation.js +290 -0
- package/dist/pipelines/invocation.js.map +1 -0
- package/dist/pipelines/manifest.d.ts +88 -0
- package/dist/pipelines/manifest.js +216 -0
- package/dist/pipelines/manifest.js.map +1 -0
- package/dist/plugins/index.d.ts +29 -0
- package/dist/plugins/index.js +51 -10
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/internal/plugin_executeNewFeed.d.ts +0 -14
- package/dist/plugins/internal/plugin_executeNewFeed.js +3 -3
- package/dist/plugins/internal/plugin_executeNewFeed.js.map +1 -1
- package/dist/plugins/plugin_register.js +5 -5
- package/dist/plugins/plugin_register.js.map +1 -1
- package/dist/plugins/store_import.js +1 -1
- package/dist/plugins/store_import.js.map +1 -1
- package/dist/retrieve/watch.d.ts +114 -0
- package/dist/retrieve/watch.js +358 -0
- package/dist/retrieve/watch.js.map +1 -0
- package/dist/store/index.d.ts +17 -4
- package/dist/store/index.js +9 -4
- package/dist/store/index.js.map +1 -1
- package/dist/users/index.d.ts +36 -0
- package/dist/users/index.js +50 -0
- package/dist/users/index.js.map +1 -0
- package/dist/vfs/dispatcher.d.ts +11 -0
- package/dist/vfs/dispatcher.js +37 -6
- package/dist/vfs/dispatcher.js.map +1 -1
- package/dist/vfs/index.d.ts +1 -0
- package/dist/vfs/index.js +3 -0
- package/dist/vfs/index.js.map +1 -1
- package/dist/vfs/provider.d.ts +13 -0
- package/dist/vfs/providers/etc.d.ts +2 -0
- package/dist/vfs/providers/etc.js +41 -2
- package/dist/vfs/providers/etc.js.map +1 -1
- package/dist/vfs/providers/native.js +41 -7
- package/dist/vfs/providers/native.js.map +1 -1
- package/dist/vfs/providers/pacs.d.ts +13 -1
- package/dist/vfs/providers/pacs.js +86 -107
- package/dist/vfs/providers/pacs.js.map +1 -1
- package/dist/vfs/providers/pacsHelpers.js +9 -5
- package/dist/vfs/providers/pacsHelpers.js.map +1 -1
- package/dist/vfs/providers/proc.d.ts +34 -1
- package/dist/vfs/providers/proc.js +314 -84
- package/dist/vfs/providers/proc.js.map +1 -1
- package/package.json +11 -8
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.feedGraphData_ensure = exports.nodeJoins_resolve = exports.feedJoins_ensure = exports.signature_compute = exports.feedGraph_build = exports.feedStatus_refresh = exports.feedMeta_ensure = exports.feedInstances_ensureLoaded = exports.procFeed_ensureLoaded = exports.procTopology_await = exports.procTopology_status = exports.procTopology_warmup = exports.procCache_refresh = void 0;
|
|
21
|
+
exports.feedGraphData_ensure = exports.nodeJoins_resolve = exports.feedJoins_ensure = exports.signature_compute = exports.feedGraph_build = exports.feedStatus_refresh = exports.feedMeta_ensure = exports.feedInstances_ensureLoaded = exports.procFeed_ensureLoaded = exports.procTopology_await = exports.procTopology_status = exports.procTopology_retry = exports.procTopology_reconcileFeeds = exports.procTopology_warmup = exports.procCache_refresh = void 0;
|
|
22
22
|
__exportStar(require("./feeds/index.js"), exports);
|
|
23
23
|
__exportStar(require("./plugins/index.js"), exports);
|
|
24
24
|
__exportStar(require("./files/index.js"), exports);
|
|
@@ -27,6 +27,7 @@ __exportStar(require("./context/index.js"), exports);
|
|
|
27
27
|
__exportStar(require("./store/index.js"), exports);
|
|
28
28
|
__exportStar(require("./pipelines/index.js"), exports);
|
|
29
29
|
__exportStar(require("./pacs/index.js"), exports);
|
|
30
|
+
__exportStar(require("./retrieve/watch.js"), exports);
|
|
30
31
|
__exportStar(require("./vfs/index.js"), exports);
|
|
31
32
|
__exportStar(require("./tags/index.js"), exports);
|
|
32
33
|
__exportStar(require("./groups/index.js"), exports);
|
|
@@ -35,9 +36,12 @@ __exportStar(require("./plugininstances/index.js"), exports);
|
|
|
35
36
|
__exportStar(require("./workflows/index.js"), exports);
|
|
36
37
|
__exportStar(require("./compute/index.js"), exports);
|
|
37
38
|
__exportStar(require("./jobs/index.js"), exports);
|
|
39
|
+
__exportStar(require("./users/index.js"), exports);
|
|
38
40
|
var proc_js_1 = require("./vfs/providers/proc.js");
|
|
39
41
|
Object.defineProperty(exports, "procCache_refresh", { enumerable: true, get: function () { return proc_js_1.procCache_refresh; } });
|
|
40
42
|
Object.defineProperty(exports, "procTopology_warmup", { enumerable: true, get: function () { return proc_js_1.procTopology_warmup; } });
|
|
43
|
+
Object.defineProperty(exports, "procTopology_reconcileFeeds", { enumerable: true, get: function () { return proc_js_1.procTopology_reconcileFeeds; } });
|
|
44
|
+
Object.defineProperty(exports, "procTopology_retry", { enumerable: true, get: function () { return proc_js_1.procTopology_retry; } });
|
|
41
45
|
Object.defineProperty(exports, "procTopology_status", { enumerable: true, get: function () { return proc_js_1.procTopology_status; } });
|
|
42
46
|
Object.defineProperty(exports, "procTopology_await", { enumerable: true, get: function () { return proc_js_1.procTopology_await; } });
|
|
43
47
|
Object.defineProperty(exports, "procFeed_ensureLoaded", { enumerable: true, get: function () { return proc_js_1.procFeed_ensureLoaded; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,qDAAmC;AACnC,mDAAiC;AACjC,uDAAqC;AACrC,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,oDAAkC;AAClC,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,qDAAmC;AACnC,kDAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,qDAAmC;AACnC,mDAAiC;AACjC,uDAAqC;AACrC,kDAAgC;AAChC,sDAAoC;AACpC,iDAA+B;AAC/B,kDAAgC;AAChC,oDAAkC;AAClC,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,mDAAmQ;AAA1P,4GAAA,iBAAiB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,sHAAA,2BAA2B,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,gHAAA,qBAAqB,OAAA;AAAE,qHAAA,0BAA0B,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAEjO,mDAAwE;AAA/D,+GAAA,eAAe,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAE3C,mDAAyE;AAAhE,gHAAA,gBAAgB,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAC5C,iDAAyD;AAAhD,mHAAA,oBAAoB,OAAA"}
|
package/dist/jobs/jobOps.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Job (plugin instance) cancel and delete operations.
|
|
3
3
|
*
|
|
4
|
+
* All CUBE access flows through cumin's typed wire contract
|
|
5
|
+
* (`pluginInstance_get`, `pluginInstancesPage_get`) — no casts against the
|
|
6
|
+
* opaque client belong here.
|
|
7
|
+
*
|
|
4
8
|
* @module
|
|
5
9
|
*/
|
|
6
10
|
import { Result } from '@fnndsc/cumin';
|
|
@@ -45,15 +49,6 @@ export declare function job_delete(instanceID: number): Promise<Result<boolean>>
|
|
|
45
49
|
* ```
|
|
46
50
|
*/
|
|
47
51
|
export declare function job_statusFetch(instanceID: number): Promise<Result<string>>;
|
|
48
|
-
/**
|
|
49
|
-
* Finds plugin instances by numeric ID or plugin name substring.
|
|
50
|
-
*
|
|
51
|
-
* Checks ProcCache first. On a miss, queries the API and loads the
|
|
52
|
-
* relevant feed(s) into the cache so paths can be reconstructed.
|
|
53
|
-
*
|
|
54
|
-
* @param term - Numeric instance ID string, or plugin name substring.
|
|
55
|
-
* @returns Ok(array of {id, feedID, pluginName, status}) or Err.
|
|
56
|
-
*
|
|
57
52
|
/**
|
|
58
53
|
* Fetches current status for a batch of plugin instances in parallel.
|
|
59
54
|
* Used by ls -l /proc/jobs/feed_N to get all node statuses in one round-trip.
|
package/dist/jobs/jobOps.js
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @file Job (plugin instance) cancel and delete operations.
|
|
4
4
|
*
|
|
5
|
+
* All CUBE access flows through cumin's typed wire contract
|
|
6
|
+
* (`pluginInstance_get`, `pluginInstancesPage_get`) — no casts against the
|
|
7
|
+
* opaque client belong here.
|
|
8
|
+
*
|
|
5
9
|
* @module
|
|
6
10
|
*/
|
|
7
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -13,12 +17,38 @@ exports.jobs_find = jobs_find;
|
|
|
13
17
|
exports.job_feedID_get = job_feedID_get;
|
|
14
18
|
exports.job_logFetch = job_logFetch;
|
|
15
19
|
const cumin_1 = require("@fnndsc/cumin");
|
|
20
|
+
const node_zlib_1 = require("node:zlib");
|
|
16
21
|
/** Statuses that cannot be cancelled — operation is already done. */
|
|
17
22
|
const TERMINAL_STATUSES = new Set([
|
|
18
23
|
'finishedSuccessfully',
|
|
19
24
|
'finishedWithError',
|
|
20
25
|
'cancelled',
|
|
21
26
|
]);
|
|
27
|
+
/** Tests whether an unknown value is a non-null record. */
|
|
28
|
+
function record_is(value) {
|
|
29
|
+
return typeof value === 'object' && value !== null;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Decodes CUBE's base64-encoded, zlib-compressed raw pfcon response and
|
|
33
|
+
* extracts its complete compute log.
|
|
34
|
+
*
|
|
35
|
+
* @param raw - The `PluginInstance.raw` value returned by CUBE.
|
|
36
|
+
* @returns The complete compute log, or undefined when no decodable log exists.
|
|
37
|
+
*/
|
|
38
|
+
function pfconLog_decode(raw) {
|
|
39
|
+
if (typeof raw !== 'string' || raw.length === 0)
|
|
40
|
+
return undefined;
|
|
41
|
+
try {
|
|
42
|
+
const json = JSON.parse((0, node_zlib_1.inflateSync)(Buffer.from(raw, 'base64')).toString('utf8'));
|
|
43
|
+
if (!record_is(json) || !record_is(json['compute']))
|
|
44
|
+
return undefined;
|
|
45
|
+
const logs = json['compute']['logs'];
|
|
46
|
+
return typeof logs === 'string' ? logs : undefined;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
22
52
|
/**
|
|
23
53
|
* Cancels a running or scheduled plugin instance.
|
|
24
54
|
* No-op if already terminal (returns Ok).
|
|
@@ -39,16 +69,16 @@ async function job_cancel(instanceID) {
|
|
|
39
69
|
cumin_1.errorStack.stack_push('error', 'Not connected to ChRIS.');
|
|
40
70
|
return (0, cumin_1.Err)();
|
|
41
71
|
}
|
|
42
|
-
const
|
|
43
|
-
if (!
|
|
72
|
+
const handle = await (0, cumin_1.pluginInstance_get)(client, instanceID);
|
|
73
|
+
if (!handle) {
|
|
44
74
|
cumin_1.errorStack.stack_push('error', `Plugin instance ${instanceID} not found.`);
|
|
45
75
|
return (0, cumin_1.Err)();
|
|
46
76
|
}
|
|
47
|
-
const status =
|
|
77
|
+
const status = handle.data?.status ?? '';
|
|
48
78
|
if (TERMINAL_STATUSES.has(status)) {
|
|
49
79
|
return (0, cumin_1.Ok)(true);
|
|
50
80
|
}
|
|
51
|
-
await
|
|
81
|
+
await handle.status_set('cancelled');
|
|
52
82
|
return (0, cumin_1.Ok)(true);
|
|
53
83
|
}
|
|
54
84
|
catch (error) {
|
|
@@ -77,16 +107,16 @@ async function job_delete(instanceID) {
|
|
|
77
107
|
cumin_1.errorStack.stack_push('error', 'Not connected to ChRIS.');
|
|
78
108
|
return (0, cumin_1.Err)();
|
|
79
109
|
}
|
|
80
|
-
const
|
|
81
|
-
if (!
|
|
110
|
+
const handle = await (0, cumin_1.pluginInstance_get)(client, instanceID);
|
|
111
|
+
if (!handle) {
|
|
82
112
|
cumin_1.errorStack.stack_push('error', `Plugin instance ${instanceID} not found.`);
|
|
83
113
|
return (0, cumin_1.Err)();
|
|
84
114
|
}
|
|
85
|
-
const status =
|
|
115
|
+
const status = handle.data?.status ?? '';
|
|
86
116
|
if (!TERMINAL_STATUSES.has(status)) {
|
|
87
|
-
await
|
|
117
|
+
await handle.status_set('cancelled');
|
|
88
118
|
}
|
|
89
|
-
await
|
|
119
|
+
await handle.delete();
|
|
90
120
|
return (0, cumin_1.Ok)(true);
|
|
91
121
|
}
|
|
92
122
|
catch (error) {
|
|
@@ -114,13 +144,12 @@ async function job_statusFetch(instanceID) {
|
|
|
114
144
|
cumin_1.errorStack.stack_push('error', 'Not connected to ChRIS.');
|
|
115
145
|
return (0, cumin_1.Err)();
|
|
116
146
|
}
|
|
117
|
-
const
|
|
118
|
-
if (!
|
|
147
|
+
const handle = await (0, cumin_1.pluginInstance_get)(client, instanceID);
|
|
148
|
+
if (!handle) {
|
|
119
149
|
cumin_1.errorStack.stack_push('error', `Plugin instance ${instanceID} not found.`);
|
|
120
150
|
return (0, cumin_1.Err)();
|
|
121
151
|
}
|
|
122
|
-
|
|
123
|
-
return (0, cumin_1.Ok)(status);
|
|
152
|
+
return (0, cumin_1.Ok)(handle.data?.status ?? 'unknown');
|
|
124
153
|
}
|
|
125
154
|
catch (error) {
|
|
126
155
|
const msg = error instanceof Error ? error.message : String(error);
|
|
@@ -128,15 +157,6 @@ async function job_statusFetch(instanceID) {
|
|
|
128
157
|
return (0, cumin_1.Err)();
|
|
129
158
|
}
|
|
130
159
|
}
|
|
131
|
-
/**
|
|
132
|
-
* Finds plugin instances by numeric ID or plugin name substring.
|
|
133
|
-
*
|
|
134
|
-
* Checks ProcCache first. On a miss, queries the API and loads the
|
|
135
|
-
* relevant feed(s) into the cache so paths can be reconstructed.
|
|
136
|
-
*
|
|
137
|
-
* @param term - Numeric instance ID string, or plugin name substring.
|
|
138
|
-
* @returns Ok(array of {id, feedID, pluginName, status}) or Err.
|
|
139
|
-
*
|
|
140
160
|
/**
|
|
141
161
|
* Fetches current status for a batch of plugin instances in parallel.
|
|
142
162
|
* Used by ls -l /proc/jobs/feed_N to get all node statuses in one round-trip.
|
|
@@ -155,21 +175,32 @@ async function jobs_statusBatch(ids) {
|
|
|
155
175
|
if (ids.length === 0)
|
|
156
176
|
return result;
|
|
157
177
|
const client = await cumin_1.chrisConnection.client_get();
|
|
158
|
-
if (!client)
|
|
178
|
+
if (!client) {
|
|
179
|
+
// An empty map from a disconnected client is not "no jobs": say so, so
|
|
180
|
+
// callers rendering stale status have a visible reason.
|
|
181
|
+
cumin_1.errorStack.stack_push("warning", `jobs_statusBatch: not connected; status for ${ids.length} instance(s) unavailable.`);
|
|
159
182
|
return result;
|
|
160
|
-
|
|
183
|
+
}
|
|
184
|
+
const failedIDs = [];
|
|
161
185
|
const entries = (await Promise.all(ids.map(async (id) => {
|
|
162
186
|
try {
|
|
163
|
-
const
|
|
164
|
-
if (!
|
|
187
|
+
const handle = await (0, cumin_1.pluginInstance_get)(client, id);
|
|
188
|
+
if (!handle) {
|
|
189
|
+
failedIDs.push(id);
|
|
165
190
|
return null;
|
|
166
|
-
|
|
167
|
-
return [id, status];
|
|
191
|
+
}
|
|
192
|
+
return [id, handle.data?.status ?? 'unknown'];
|
|
168
193
|
}
|
|
169
194
|
catch {
|
|
195
|
+
failedIDs.push(id);
|
|
170
196
|
return null;
|
|
171
197
|
}
|
|
172
198
|
}))).filter((e) => e !== null);
|
|
199
|
+
// Partial results are by design (one dead instance must not blank a whole
|
|
200
|
+
// listing), but the gaps must be visible rather than reading as absent.
|
|
201
|
+
if (failedIDs.length > 0) {
|
|
202
|
+
cumin_1.errorStack.stack_push("warning", `jobs_statusBatch: could not fetch status for instance(s) ${failedIDs.sort((a, b) => a - b).join(", ")}.`);
|
|
203
|
+
}
|
|
173
204
|
for (const [id, status] of entries) {
|
|
174
205
|
result.set(id, status);
|
|
175
206
|
}
|
|
@@ -217,8 +248,11 @@ async function jobs_find(term) {
|
|
|
217
248
|
const apiResults = [];
|
|
218
249
|
let offset = 0;
|
|
219
250
|
while (true) {
|
|
220
|
-
const page = await
|
|
221
|
-
|
|
251
|
+
const page = await (0, cumin_1.pluginInstancesPage_get)(client, {
|
|
252
|
+
...searchParam,
|
|
253
|
+
offset,
|
|
254
|
+
});
|
|
255
|
+
const chunk = page.data;
|
|
222
256
|
for (const inst of chunk) {
|
|
223
257
|
apiResults.push({
|
|
224
258
|
id: Number(inst.id),
|
|
@@ -257,8 +291,11 @@ async function job_feedID_get(instanceID) {
|
|
|
257
291
|
cumin_1.errorStack.stack_push('error', 'Not connected to ChRIS.');
|
|
258
292
|
return (0, cumin_1.Err)();
|
|
259
293
|
}
|
|
260
|
-
const
|
|
261
|
-
|
|
294
|
+
const page = await (0, cumin_1.pluginInstancesPage_get)(client, {
|
|
295
|
+
id: instanceID,
|
|
296
|
+
limit: 1,
|
|
297
|
+
});
|
|
298
|
+
const hit = page.data[0];
|
|
262
299
|
if (!hit || hit.feed_id === undefined || hit.feed_id === null) {
|
|
263
300
|
cumin_1.errorStack.stack_push('error', `Instance ${instanceID} not found.`);
|
|
264
301
|
return (0, cumin_1.Err)();
|
|
@@ -284,18 +321,19 @@ async function job_logFetch(instanceID) {
|
|
|
284
321
|
cumin_1.errorStack.stack_push('error', 'Not connected to ChRIS.');
|
|
285
322
|
return (0, cumin_1.Err)();
|
|
286
323
|
}
|
|
287
|
-
const
|
|
288
|
-
if (!
|
|
324
|
+
const handle = await (0, cumin_1.pluginInstance_get)(client, instanceID);
|
|
325
|
+
if (!handle) {
|
|
289
326
|
cumin_1.errorStack.stack_push('error', `Plugin instance ${instanceID} not found.`);
|
|
290
327
|
return (0, cumin_1.Err)();
|
|
291
328
|
}
|
|
292
|
-
|
|
329
|
+
const rawLog = pfconLog_decode(handle.data?.raw);
|
|
330
|
+
if (rawLog !== undefined) {
|
|
331
|
+
return (0, cumin_1.Ok)(rawLog || '(no log output yet)');
|
|
332
|
+
}
|
|
333
|
+
const logText = await handle.logs_get();
|
|
334
|
+
if (logText === null) {
|
|
293
335
|
return (0, cumin_1.Ok)('(log not available for this instance)');
|
|
294
336
|
}
|
|
295
|
-
const logsResult = await instance.getLogs();
|
|
296
|
-
const logText = logsResult.data
|
|
297
|
-
.map((entry) => entry.log ?? '')
|
|
298
|
-
.join('\n');
|
|
299
337
|
return (0, cumin_1.Ok)(logText || '(no log output yet)');
|
|
300
338
|
}
|
|
301
339
|
catch (error) {
|
package/dist/jobs/jobOps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobOps.js","sourceRoot":"","sources":["../../src/jobs/jobOps.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"jobOps.js","sourceRoot":"","sources":["../../src/jobs/jobOps.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,17 @@ exports.pipelineDiagram_get = pipelineDiagram_get;
|
|
|
11
11
|
* @module
|
|
12
12
|
*/
|
|
13
13
|
const cumin_1 = require("@fnndsc/cumin");
|
|
14
|
+
/**
|
|
15
|
+
* Narrows a wire default-parameter row to the diagram's required shape.
|
|
16
|
+
*
|
|
17
|
+
* @param row - Stored default row from the contract.
|
|
18
|
+
* @returns The narrowed row, or null when required fields are absent.
|
|
19
|
+
*/
|
|
20
|
+
function defaultParameter_narrow(row) {
|
|
21
|
+
if (typeof row.plugin_piping_id !== 'number' || typeof row.param_name !== 'string')
|
|
22
|
+
return null;
|
|
23
|
+
return { plugin_piping_id: row.plugin_piping_id, param_name: row.param_name, value: row.value };
|
|
24
|
+
}
|
|
14
25
|
/**
|
|
15
26
|
* Parses the additional parents stored in a `plugininstances` default.
|
|
16
27
|
*
|
|
@@ -42,20 +53,19 @@ async function pipelineDiagram_get(specifier) {
|
|
|
42
53
|
return (0, cumin_1.Err)();
|
|
43
54
|
}
|
|
44
55
|
try {
|
|
45
|
-
const pipeline = await
|
|
56
|
+
const pipeline = await (0, cumin_1.pipeline_get)(client, resolved.value.id);
|
|
46
57
|
if (!pipeline) {
|
|
47
58
|
cumin_1.errorStack.stack_push('error', `Pipeline ${resolved.value.id} not found.`);
|
|
48
59
|
return (0, cumin_1.Err)();
|
|
49
60
|
}
|
|
50
|
-
const
|
|
51
|
-
pipeline.
|
|
52
|
-
pipeline.
|
|
61
|
+
const [pipingItems, defaultsPage] = await Promise.all([
|
|
62
|
+
pipeline.pluginPipings_get({ limit: 1000 }),
|
|
63
|
+
pipeline.defaultParametersPage_get({ limit: 1000 }),
|
|
53
64
|
]);
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
.
|
|
58
|
-
const defaults = (0, cumin_1.listData_get)(defaultList);
|
|
65
|
+
const pipings = pipingItems.map((item) => item.data);
|
|
66
|
+
const defaults = defaultsPage.data
|
|
67
|
+
.map((row) => defaultParameter_narrow(row))
|
|
68
|
+
.filter((row) => row !== null);
|
|
59
69
|
const defaultsByPiping = new Map();
|
|
60
70
|
const joinsByPiping = new Map();
|
|
61
71
|
for (const parameter of defaults) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagram.js","sourceRoot":"","sources":["../../src/pipelines/diagram.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"diagram.js","sourceRoot":"","sources":["../../src/pipelines/diagram.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { FilteredResourceData, ListOptions, Result, PipelineRecord, WorkflowResult } from '@fnndsc/cumin';
|
|
10
10
|
export { pipelineDiagram_get, type PipelineDiagram, type PipelineDiagramArgument, type PipelineDiagramNode, } from './diagram.js';
|
|
11
|
+
export { pipelineManifest_get, type PipelineManifest, type PipelineManifestGetOptions, type PipelineManifestNode, type PipelineManifestParameterDefault, } from './manifest.js';
|
|
12
|
+
export { pipelineInvocation_prepare, type PipelineInvocationBinding, type PipelineInvocationPrepareOptions, type PipelineParameterDefinition, type PreparedPipelineInvocation, type PreparedWorkflowNode, } from './invocation.js';
|
|
13
|
+
import { type PipelineManifest } from './manifest.js';
|
|
14
|
+
import { type PipelineInvocationBinding } from './invocation.js';
|
|
11
15
|
export type { PipelineRecord, WorkflowResult };
|
|
12
16
|
/**
|
|
13
17
|
* Lists registered pipelines, optionally filtered by name substring.
|
|
@@ -35,14 +39,33 @@ export declare function pipelineFields_get(): Promise<string[] | null>;
|
|
|
35
39
|
*/
|
|
36
40
|
export declare function pipelines_getAll(): Promise<Result<PipelineRecord[]>>;
|
|
37
41
|
/**
|
|
38
|
-
*
|
|
42
|
+
* Project one exact Pipeline executable slug without listing every Pipeline.
|
|
43
|
+
*
|
|
44
|
+
* The stable `_id<N>` suffix identifies the candidate Pipeline. The targeted
|
|
45
|
+
* source-file lookup then verifies the complete slug before it is accepted.
|
|
46
|
+
*
|
|
47
|
+
* @param slug - Exact Pipeline basename exposed in `/bin`.
|
|
48
|
+
* @returns The registered invocation manifest for the exact Pipeline slug.
|
|
49
|
+
*/
|
|
50
|
+
export declare function pipelineManifestBySlug_get(slug: string): Promise<Result<PipelineManifest>>;
|
|
51
|
+
/** Runtime overlays accepted by `pipeline_run`. */
|
|
52
|
+
export interface PipelineRunOptions {
|
|
53
|
+
/** Compute placement baseline applied before node-specific overlays. */
|
|
54
|
+
globalCompute?: string;
|
|
55
|
+
/** Parsed sparse or complete registered-manifest YAML overlay. */
|
|
56
|
+
parameterFile?: unknown;
|
|
57
|
+
/** Explicit node-qualified values, with highest precedence. */
|
|
58
|
+
cliBindings?: PipelineInvocationBinding[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Run a pipeline by name or ID, attaching it to a previous plugin instance.
|
|
39
62
|
*
|
|
40
63
|
* @param nameOrId - Pipeline name or numeric ID string.
|
|
41
|
-
* @param previousPluginInstId -
|
|
42
|
-
* @param
|
|
43
|
-
* @returns Result containing
|
|
64
|
+
* @param previousPluginInstId - Plugin instance to which pipeline roots attach.
|
|
65
|
+
* @param invocationOptions - Runtime overlays, or the legacy global compute string.
|
|
66
|
+
* @returns Result containing Workflow ID and created plugin instance IDs.
|
|
44
67
|
*/
|
|
45
|
-
export declare function pipeline_run(nameOrId: string, previousPluginInstId: number,
|
|
68
|
+
export declare function pipeline_run(nameOrId: string, previousPluginInstId: number, invocationOptions?: PipelineRunOptions | string): Promise<Result<WorkflowResult>>;
|
|
46
69
|
/**
|
|
47
70
|
* Fetches the YAML source of a registered pipeline by searching /PIPELINES/ for
|
|
48
71
|
* a file whose basename matches the pipeline name.
|