@fnndsc/salsa 3.2.6 → 3.4.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.
@@ -0,0 +1,51 @@
1
+ import { ProcCache } from '@fnndsc/cumin';
2
+ /** One node of a feed DAG, as it crosses the wire to a surface. */
3
+ export interface FeedNode {
4
+ id: number;
5
+ pluginName: string;
6
+ /** Anchor parent (single `previous_id`); null at a feed root. */
7
+ parentID: number | null;
8
+ /** Topology signature — equal signatures mark isomorphic subtrees (status excluded). */
9
+ signature: string;
10
+ /** Join overlay: extra parents merged by a `ts` node. Empty for ordinary nodes. */
11
+ joinParentIDs: number[];
12
+ /** Status snapshot at build time; null when not yet observed. */
13
+ status: string | null;
14
+ }
15
+ /** A whole feed's DAG skeleton — flat node list plus feed-level metadata. */
16
+ export interface FeedGraph {
17
+ feedID: number;
18
+ title: string;
19
+ /** Aggregate feed status derived from job counters (free — no per-node call). */
20
+ feedStatus: string;
21
+ /** Total nodes in the feed. */
22
+ total: number;
23
+ /** Nodes actually included in `nodes` (equals `total` until a caller truncates). */
24
+ shown: number;
25
+ /** True when a caller has dropped nodes for size (see the payload guard). */
26
+ truncated: boolean;
27
+ rootIDs: number[];
28
+ nodes: FeedNode[];
29
+ }
30
+ /**
31
+ * Computes a node's topology signature: a hash of its plugin name plus the **sorted**
32
+ * (multiset) signatures of its anchor-tree children. Status and join edges are excluded,
33
+ * so isomorphic fan-out branches share a signature regardless of order or run state.
34
+ *
35
+ * Memoized by instance ID; the anchor tree is acyclic (single parent), so recursion
36
+ * terminates in O(n) across a feed.
37
+ *
38
+ * @param cache - Source topology cache.
39
+ * @param id - Instance ID to sign.
40
+ * @param memo - Shared per-build memo of already-computed signatures.
41
+ * @returns Hex signature string.
42
+ */
43
+ export declare function signature_compute(cache: ProcCache, id: number, memo: Map<number, string>): string;
44
+ /**
45
+ * Projects a feed's cached topology into a {@link FeedGraph}. Returns the full graph
46
+ * (no truncation — that is a caller/surface concern). Pure over the cache; no network.
47
+ *
48
+ * @param feedID - Feed to project.
49
+ * @returns The feed's DAG, or null when the feed is not in the cache.
50
+ */
51
+ export declare function feedGraph_build(feedID: number): FeedGraph | null;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signature_compute = signature_compute;
4
+ exports.feedGraph_build = feedGraph_build;
5
+ /**
6
+ * @file FeedGraph — a flat, surface-agnostic projection of a feed's plugin-instance DAG.
7
+ *
8
+ * Built entirely from the in-memory {@link ProcCache} (no network). The model carries
9
+ * MECHANISM, not presentation: a per-node topology **signature** so any surface can group
10
+ * isomorphic siblings (`×N`) with one pass, while the collapse POLICY stays surface-side.
11
+ *
12
+ * Two edge sets: the anchor tree (single `parentID`, drives signature + layout) and the
13
+ * topological-join overlay (`joinParentIDs`, excluded from the signature). Status is a
14
+ * point-in-time snapshot from the cache; live transitions ride the progress channel.
15
+ *
16
+ * @module
17
+ */
18
+ const crypto_1 = require("crypto");
19
+ const cumin_1 = require("@fnndsc/cumin");
20
+ const proc_js_1 = require("../vfs/providers/proc.js");
21
+ /**
22
+ * Computes a node's topology signature: a hash of its plugin name plus the **sorted**
23
+ * (multiset) signatures of its anchor-tree children. Status and join edges are excluded,
24
+ * so isomorphic fan-out branches share a signature regardless of order or run state.
25
+ *
26
+ * Memoized by instance ID; the anchor tree is acyclic (single parent), so recursion
27
+ * terminates in O(n) across a feed.
28
+ *
29
+ * @param cache - Source topology cache.
30
+ * @param id - Instance ID to sign.
31
+ * @param memo - Shared per-build memo of already-computed signatures.
32
+ * @returns Hex signature string.
33
+ */
34
+ function signature_compute(cache, id, memo) {
35
+ const cached = memo.get(id);
36
+ if (cached !== undefined)
37
+ return cached;
38
+ const inst = cache.instance_get(id);
39
+ const name = inst?.pluginName ?? '?';
40
+ const childSignatures = cache
41
+ .children_get(id)
42
+ .map((childID) => signature_compute(cache, childID, memo))
43
+ .sort();
44
+ const canonical = `${name}(${childSignatures.join(',')})`;
45
+ const signature = (0, crypto_1.createHash)('sha1').update(canonical).digest('hex');
46
+ memo.set(id, signature);
47
+ return signature;
48
+ }
49
+ /**
50
+ * Projects a feed's cached topology into a {@link FeedGraph}. Returns the full graph
51
+ * (no truncation — that is a caller/surface concern). Pure over the cache; no network.
52
+ *
53
+ * @param feedID - Feed to project.
54
+ * @returns The feed's DAG, or null when the feed is not in the cache.
55
+ */
56
+ function feedGraph_build(feedID) {
57
+ const cache = (0, cumin_1.procCache_get)();
58
+ const feed = cache.feed_get(feedID);
59
+ if (!feed)
60
+ return null;
61
+ const ids = cache.feedInstanceIDs_get(feedID);
62
+ const memo = new Map();
63
+ const nodes = ids.map((id) => {
64
+ const inst = cache.instance_get(id);
65
+ return {
66
+ id,
67
+ pluginName: inst?.pluginName ?? '?',
68
+ parentID: inst?.parentID ?? null,
69
+ signature: signature_compute(cache, id, memo),
70
+ joinParentIDs: cache.joinParents_get(id),
71
+ status: inst?.status ?? null,
72
+ };
73
+ });
74
+ return {
75
+ feedID,
76
+ title: feed.title,
77
+ feedStatus: (0, proc_js_1.feedStatus_derive)(feed),
78
+ total: nodes.length,
79
+ shown: nodes.length,
80
+ truncated: false,
81
+ rootIDs: cache.feedRoots_get(feedID),
82
+ nodes,
83
+ };
84
+ }
85
+ //# sourceMappingURL=feedGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedGraph.js","sourceRoot":"","sources":["../../src/dag/feedGraph.ts"],"names":[],"mappings":";;AA4DA,8CAeC;AASD,0CA8BC;AAlHD;;;;;;;;;;;;GAYG;AACH,mCAAoC;AACpC,yCAAuE;AACvE,sDAA6D;AAgC7D;;;;;;;;;;;;GAYG;AACH,SAAgB,iBAAiB,CAAC,KAAgB,EAAE,EAAU,EAAE,IAAyB;IACvF,MAAM,MAAM,GAAuB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAExC,MAAM,IAAI,GAA6B,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAW,IAAI,EAAE,UAAU,IAAI,GAAG,CAAC;IAC7C,MAAM,eAAe,GAAa,KAAK;SACpC,YAAY,CAAC,EAAE,CAAC;SAChB,GAAG,CAAC,CAAC,OAAe,EAAU,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACzE,IAAI,EAAE,CAAC;IACV,MAAM,SAAS,GAAW,GAAG,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClE,MAAM,SAAS,GAAW,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACxB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAc,IAAA,qBAAa,GAAE,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,GAAG,GAAa,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,IAAI,GAAwB,IAAI,GAAG,EAAkB,CAAC;IAE5D,MAAM,KAAK,GAAe,GAAG,CAAC,GAAG,CAAC,CAAC,EAAU,EAAY,EAAE;QACzD,MAAM,IAAI,GAA6B,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO;YACL,EAAE;YACF,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,GAAG;YACnC,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI;YAChC,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC;YAC7C,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YACxC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAA,2BAAiB,EAAC,IAAI,CAAC;QACnC,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;QACpC,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Resolves and caches the join overlay for a single `ts` instance. No-op for non-join
3
+ * nodes, already-resolved nodes, or when disconnected.
4
+ *
5
+ * @param id - Instance ID of a candidate join node.
6
+ */
7
+ export declare function nodeJoins_resolve(id: number): Promise<void>;
8
+ /**
9
+ * Ensures every `ts` node in a feed has its join overlay resolved. Idempotent — already
10
+ * resolved nodes are skipped, so re-calling is cheap.
11
+ *
12
+ * @param feedID - Feed whose join edges to resolve.
13
+ */
14
+ export declare function feedJoins_ensure(feedID: number): Promise<void>;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodeJoins_resolve = nodeJoins_resolve;
4
+ exports.feedJoins_ensure = feedJoins_ensure;
5
+ /**
6
+ * @file Lazy resolution of topological-join (`ts`) edges for a feed.
7
+ *
8
+ * A `ts` node's extra parents are NOT on the instance object — they live in its
9
+ * `plugininstances` string parameter (a comma-separated list of source instance IDs,
10
+ * which includes the anchor parent). This module fetches that parameter sub-resource for
11
+ * a feed's join nodes and records the OVERLAY (sources minus the anchor) into ProcCache.
12
+ *
13
+ * Network-bound and lazy: called on demand (e.g. when building a FeedGraph for display),
14
+ * scoped to one feed, and only for nodes not yet resolved. Kept separate from the pure
15
+ * {@link module:dag/feedGraph} projection.
16
+ *
17
+ * @module
18
+ */
19
+ const cumin_1 = require("@fnndsc/cumin");
20
+ /** Matches the canonical topological-copy plugin when `pluginType` is unavailable. */
21
+ const TS_NAME_PATTERN = /topologicalcopy/i;
22
+ /** Whether an instance is a topological-join node (authoritative by type, name fallback). */
23
+ function node_isJoin(inst) {
24
+ if (inst.pluginType)
25
+ return inst.pluginType === 'ts';
26
+ return TS_NAME_PATTERN.test(inst.pluginName);
27
+ }
28
+ /** Parses a `plugininstances` param value ("12,34,56") into numeric IDs. */
29
+ function joinIDs_parse(value) {
30
+ return String(value ?? '')
31
+ .split(',')
32
+ .map((s) => parseInt(s.trim(), 10))
33
+ .filter((n) => !Number.isNaN(n));
34
+ }
35
+ /**
36
+ * Resolves and caches the join overlay for a single `ts` instance. No-op for non-join
37
+ * nodes, already-resolved nodes, or when disconnected.
38
+ *
39
+ * @param id - Instance ID of a candidate join node.
40
+ */
41
+ async function nodeJoins_resolve(id) {
42
+ const cache = (0, cumin_1.procCache_get)();
43
+ const inst = cache.instance_get(id);
44
+ if (!inst || !node_isJoin(inst) || inst.joinParentIDs !== undefined)
45
+ return;
46
+ const client = await cumin_1.chrisConnection.client_get();
47
+ if (!client)
48
+ return;
49
+ const typedClient = client;
50
+ const resource = await typedClient.getPluginInstance(id);
51
+ if (!resource) {
52
+ cache.joinParents_update(id, []);
53
+ return;
54
+ }
55
+ const list = await resource.getParameters({ limit: 100 });
56
+ const items = list.data ?? (list.getItems ? list.getItems().map((i) => i.data) : []);
57
+ const param = items.find((p) => p.param_name === 'plugininstances');
58
+ // Overlay = the join's sources minus its anchor parent (which is also in the list).
59
+ const sources = param ? joinIDs_parse(param.value) : [];
60
+ const overlay = sources.filter((n) => n !== inst.parentID);
61
+ cache.joinParents_update(id, overlay);
62
+ }
63
+ /**
64
+ * Ensures every `ts` node in a feed has its join overlay resolved. Idempotent — already
65
+ * resolved nodes are skipped, so re-calling is cheap.
66
+ *
67
+ * @param feedID - Feed whose join edges to resolve.
68
+ */
69
+ async function feedJoins_ensure(feedID) {
70
+ const cache = (0, cumin_1.procCache_get)();
71
+ for (const id of cache.feedInstanceIDs_get(feedID)) {
72
+ const inst = cache.instance_get(id);
73
+ if (inst && node_isJoin(inst) && inst.joinParentIDs === undefined) {
74
+ await nodeJoins_resolve(id);
75
+ }
76
+ }
77
+ }
78
+ //# sourceMappingURL=feedJoins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedJoins.js","sourceRoot":"","sources":["../../src/dag/feedJoins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Ensures a feed's topology, metadata, current status, and join edges are in ProcCache,
3
+ * reusing anything already warm.
4
+ *
5
+ * @param feedID - Feed to prepare.
6
+ */
7
+ export declare function feedGraphData_ensure(feedID: number): Promise<void>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.feedGraphData_ensure = feedGraphData_ensure;
4
+ /**
5
+ * @file Cache-first data preparation for a feed's DAG.
6
+ *
7
+ * Prepares ProcCache for {@link module:dag/feedGraph.feedGraph_build} by REUSING the warm
8
+ * cache and only fetching what's missing — never a blind re-crawl:
9
+ *
10
+ * - topology: loaded once via {@link feedInstances_ensureLoaded} (no-op if already warm);
11
+ * - feed metadata (counters → aggregate status): fetched only if missing/placeholder;
12
+ * - volatile status: refreshed cheaply (one feed-scoped list call) only when the topology
13
+ * was already warm — a cold load already carried fresh status;
14
+ * - join edges: resolved lazily for the feed's `ts` nodes.
15
+ *
16
+ * @module
17
+ */
18
+ const cumin_1 = require("@fnndsc/cumin");
19
+ const proc_js_1 = require("../vfs/providers/proc.js");
20
+ const feedJoins_js_1 = require("./feedJoins.js");
21
+ /**
22
+ * Ensures a feed's topology, metadata, current status, and join edges are in ProcCache,
23
+ * reusing anything already warm.
24
+ *
25
+ * @param feedID - Feed to prepare.
26
+ */
27
+ async function feedGraphData_ensure(feedID) {
28
+ const cache = (0, cumin_1.procCache_get)();
29
+ const wasWarm = cache.topologyLoaded_has(feedID);
30
+ await (0, proc_js_1.feedInstances_ensureLoaded)(feedID);
31
+ await (0, proc_js_1.feedMeta_ensure)(feedID);
32
+ // A cold load just fetched fresh status with the topology; only a warm reuse needs a
33
+ // cheap status refresh (active nodes only — terminal status is frozen).
34
+ if (wasWarm)
35
+ await (0, proc_js_1.feedStatus_refresh)(feedID);
36
+ await (0, feedJoins_js_1.feedJoins_ensure)(feedID);
37
+ }
38
+ //# sourceMappingURL=feedLoad.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedLoad.js","sourceRoot":"","sources":["../../src/dag/feedLoad.ts"],"names":[],"mappings":";;AAwBA,oDAUC;AAlCD;;;;;;;;;;;;;GAaG;AACH,yCAAyD;AACzD,sDAA2G;AAC3G,iDAAkD;AAElD;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CAAC,MAAc;IACvD,MAAM,KAAK,GAAc,IAAA,qBAAa,GAAE,CAAC;IACzC,MAAM,OAAO,GAAY,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE1D,MAAM,IAAA,oCAA0B,EAAC,MAAM,CAAC,CAAC;IACzC,MAAM,IAAA,yBAAe,EAAC,MAAM,CAAC,CAAC;IAC9B,qFAAqF;IACrF,wEAAwE;IACxE,IAAI,OAAO;QAAE,MAAM,IAAA,4BAAkB,EAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,IAAA,+BAAgB,EAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -18,4 +18,8 @@ export * from './plugininstances/index.js';
18
18
  export * from './workflows/index.js';
19
19
  export * from './compute/index.js';
20
20
  export * from './jobs/index.js';
21
- export { procCache_refresh, procTopology_warmup, procFeed_ensureLoaded } from './vfs/providers/proc.js';
21
+ export { procCache_refresh, procTopology_warmup, procFeed_ensureLoaded, feedInstances_ensureLoaded, feedMeta_ensure, feedStatus_refresh } from './vfs/providers/proc.js';
22
+ export { feedGraph_build, signature_compute } from './dag/feedGraph.js';
23
+ export type { FeedGraph, FeedNode } from './dag/feedGraph.js';
24
+ export { feedJoins_ensure, nodeJoins_resolve } from './dag/feedJoins.js';
25
+ export { feedGraphData_ensure } from './dag/feedLoad.js';
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.procFeed_ensureLoaded = 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_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);
@@ -39,4 +39,15 @@ var proc_js_1 = require("./vfs/providers/proc.js");
39
39
  Object.defineProperty(exports, "procCache_refresh", { enumerable: true, get: function () { return proc_js_1.procCache_refresh; } });
40
40
  Object.defineProperty(exports, "procTopology_warmup", { enumerable: true, get: function () { return proc_js_1.procTopology_warmup; } });
41
41
  Object.defineProperty(exports, "procFeed_ensureLoaded", { enumerable: true, get: function () { return proc_js_1.procFeed_ensureLoaded; } });
42
+ Object.defineProperty(exports, "feedInstances_ensureLoaded", { enumerable: true, get: function () { return proc_js_1.feedInstances_ensureLoaded; } });
43
+ Object.defineProperty(exports, "feedMeta_ensure", { enumerable: true, get: function () { return proc_js_1.feedMeta_ensure; } });
44
+ Object.defineProperty(exports, "feedStatus_refresh", { enumerable: true, get: function () { return proc_js_1.feedStatus_refresh; } });
45
+ var feedGraph_js_1 = require("./dag/feedGraph.js");
46
+ Object.defineProperty(exports, "feedGraph_build", { enumerable: true, get: function () { return feedGraph_js_1.feedGraph_build; } });
47
+ Object.defineProperty(exports, "signature_compute", { enumerable: true, get: function () { return feedGraph_js_1.signature_compute; } });
48
+ var feedJoins_js_1 = require("./dag/feedJoins.js");
49
+ Object.defineProperty(exports, "feedJoins_ensure", { enumerable: true, get: function () { return feedJoins_js_1.feedJoins_ensure; } });
50
+ Object.defineProperty(exports, "nodeJoins_resolve", { enumerable: true, get: function () { return feedJoins_js_1.nodeJoins_resolve; } });
51
+ var feedLoad_js_1 = require("./dag/feedLoad.js");
52
+ Object.defineProperty(exports, "feedGraphData_ensure", { enumerable: true, get: function () { return feedLoad_js_1.feedGraphData_ensure; } });
42
53
  //# sourceMappingURL=index.js.map
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,mDAAwG;AAA/F,4GAAA,iBAAiB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,gHAAA,qBAAqB,OAAA"}
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,mDAAyK;AAAhK,4GAAA,iBAAiB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,gHAAA,qBAAqB,OAAA;AAAE,qHAAA,0BAA0B,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AACvI,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"}
@@ -13,6 +13,12 @@
13
13
  */
14
14
  import { ProcFeed, Result } from '@fnndsc/cumin';
15
15
  import { VFSProvider, VFSItem, CpOptions } from '../provider.js';
16
+ /**
17
+ * Ensures topology for a feed is loaded.
18
+ * Per-feed loads proceed immediately even while the global sweep is running —
19
+ * instance_add is idempotent so concurrent additions are safe.
20
+ */
21
+ export declare function feedInstances_ensureLoaded(feedID: number): Promise<void>;
16
22
  /** Derives aggregate feed status from stored job counters — no API call. */
17
23
  export declare function feedStatus_derive(feed: ProcFeed): string;
18
24
  export declare function procPath_parse(pathStr: string): {
@@ -47,6 +53,25 @@ export declare class ProcVfsProvider implements VFSProvider {
47
53
  * Use procCache_refresh(feedID) only when a forced reload is desired.
48
54
  */
49
55
  export declare function procFeed_ensureLoaded(feedID: number): Promise<void>;
56
+ /**
57
+ * Refreshes volatile job status for one feed via a single paginated LIST sweep.
58
+ *
59
+ * The plugin-instance list response carries `status`, so one feed-scoped list call
60
+ * updates every node — far cheaper than per-node detail fetches. Terminal statuses
61
+ * are frozen by {@link ProcCache.status_update} and never regress.
62
+ *
63
+ * @param feedID - Feed whose instance statuses should be refreshed.
64
+ */
65
+ /**
66
+ * Ensures a feed's metadata (title + job counters, needed for aggregate status) is cached
67
+ * with real values. No-op when the feed is already present with real metadata; fetches one
68
+ * `getFeeds({id})` only when the feed is missing or a zero-counter placeholder. Does NOT
69
+ * touch instance topology — reuse of the warm cache is the whole point.
70
+ *
71
+ * @param feedID - Feed whose metadata to ensure.
72
+ */
73
+ export declare function feedMeta_ensure(feedID: number): Promise<void>;
74
+ export declare function feedStatus_refresh(feedID: number): Promise<void>;
50
75
  /**
51
76
  * Background topology warm-up — single paginated sweep of all plugin instances
52
77
  * across all feeds. Replaces the per-feed fan-out that was O(feeds) round trips.
@@ -14,9 +14,12 @@
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.ProcVfsProvider = void 0;
17
+ exports.feedInstances_ensureLoaded = feedInstances_ensureLoaded;
17
18
  exports.feedStatus_derive = feedStatus_derive;
18
19
  exports.procPath_parse = procPath_parse;
19
20
  exports.procFeed_ensureLoaded = procFeed_ensureLoaded;
21
+ exports.feedMeta_ensure = feedMeta_ensure;
22
+ exports.feedStatus_refresh = feedStatus_refresh;
20
23
  exports.procTopology_warmup = procTopology_warmup;
21
24
  exports.procCache_refresh = procCache_refresh;
22
25
  const cumin_1 = require("@fnndsc/cumin");
@@ -100,7 +103,9 @@ async function feedInstances_load(feedID) {
100
103
  feedID: Number(inst.feed_id),
101
104
  parentID: prevID,
102
105
  pluginName: String(inst.plugin_name),
106
+ pluginType: inst.plugin_type !== undefined ? String(inst.plugin_type) : undefined,
103
107
  params: null,
108
+ status: String(inst.status ?? 'unknown'),
104
109
  });
105
110
  }
106
111
  cache.topologyLoaded_mark(feedID);
@@ -214,15 +219,18 @@ class ProcVfsProvider {
214
219
  const { feedID, instanceID } = procPath_parse(clean);
215
220
  // /proc/jobs/feed_N — list root instances + feed virtual files
216
221
  if (feedID !== null && instanceID === null) {
222
+ const wasLoaded = cache.topologyLoaded_has(feedID);
217
223
  await feedInstances_ensureLoaded(feedID);
218
224
  const feed = cache.feed_get(feedID);
219
225
  if (!feed)
220
226
  return (0, cumin_1.Ok)([]);
221
- // Collect all root instance IDs to batch-fetch statuses
222
227
  const rootIDs = cache.feedRoots_get(feedID);
223
- const statuses = rootIDs.length > 0
224
- ? await (0, index_js_1.jobs_statusBatch)(rootIDs)
225
- : new Map();
228
+ // The initial load already carried live status; only re-fetch when revisiting
229
+ // a feed that still has active (non-terminal) nodes among those shown. One
230
+ // feed-scoped list call updates all of them — no per-node detail fetches.
231
+ if (wasLoaded && rootIDs.some((id) => !(0, cumin_1.status_isTerminal)(cache.instance_get(id)?.status))) {
232
+ await feedStatus_refresh(feedID);
233
+ }
226
234
  const items = [];
227
235
  items.push({ name: 'status', type: 'file', size: 0, owner: '', date: '' });
228
236
  items.push({ name: 'title', type: 'file', size: 0, owner: '', date: '' });
@@ -236,21 +244,22 @@ class ProcVfsProvider {
236
244
  size: 0,
237
245
  owner: '',
238
246
  date: '',
239
- status: statuses.get(rootID) ?? 'unknown',
247
+ status: inst.status ?? 'unknown',
240
248
  });
241
249
  }
242
250
  return (0, cumin_1.Ok)(items);
243
251
  }
244
252
  // /proc/jobs/feed_N/plugin_ID — list children + virtual files
245
253
  if (feedID !== null && instanceID !== null) {
254
+ const wasLoaded = cache.topologyLoaded_has(feedID);
246
255
  await feedInstances_ensureLoaded(feedID);
247
256
  const inst = cache.instance_get(instanceID);
248
257
  if (!inst)
249
258
  return (0, cumin_1.Ok)([]);
250
259
  const childIDs = cache.children_get(instanceID);
251
- const statuses = childIDs.length > 0
252
- ? await (0, index_js_1.jobs_statusBatch)(childIDs)
253
- : new Map();
260
+ if (wasLoaded && childIDs.some((id) => !(0, cumin_1.status_isTerminal)(cache.instance_get(id)?.status))) {
261
+ await feedStatus_refresh(feedID);
262
+ }
254
263
  const items = [];
255
264
  items.push({ name: 'status', type: 'file', size: 0, owner: '', date: '' });
256
265
  items.push({ name: 'params', type: 'file', size: 0, owner: '', date: '' });
@@ -265,7 +274,7 @@ class ProcVfsProvider {
265
274
  size: 0,
266
275
  owner: '',
267
276
  date: '',
268
- status: statuses.get(childID) ?? 'unknown',
277
+ status: child.status ?? 'unknown',
269
278
  });
270
279
  }
271
280
  return (0, cumin_1.Ok)(items);
@@ -295,8 +304,13 @@ class ProcVfsProvider {
295
304
  if (!inst)
296
305
  return (0, cumin_1.Ok)('');
297
306
  if (virtualFile === 'status') {
307
+ // Settled jobs never change — return the cached terminal status, no call.
308
+ if ((0, cumin_1.status_isTerminal)(inst.status))
309
+ return (0, cumin_1.Ok)(inst.status);
298
310
  const fresh = await (0, index_js_1.job_statusFetch)(instanceID);
299
- return (0, cumin_1.Ok)(fresh.ok ? fresh.value : 'unknown');
311
+ if (fresh.ok)
312
+ cache.status_update(instanceID, fresh.value);
313
+ return (0, cumin_1.Ok)(fresh.ok ? fresh.value : (inst.status ?? 'unknown'));
300
314
  }
301
315
  if (virtualFile === 'params') {
302
316
  if (inst.params === null) {
@@ -337,7 +351,7 @@ class ProcVfsProvider {
337
351
  const statusMap = await (0, index_js_1.jobs_statusBatch)(allIDs);
338
352
  await Promise.all(allIDs.map(async (id) => {
339
353
  const s = statusMap.get(id) ?? '';
340
- if (!['finishedSuccessfully', 'finishedWithError', 'cancelled'].includes(s)) {
354
+ if (!(0, cumin_1.status_isTerminal)(s)) {
341
355
  await (0, index_js_1.job_cancel)(id);
342
356
  }
343
357
  }));
@@ -347,7 +361,7 @@ class ProcVfsProvider {
347
361
  if (instanceID !== null) {
348
362
  const statusResult = await (0, index_js_1.job_statusFetch)(instanceID);
349
363
  const status = statusResult.ok ? statusResult.value : '';
350
- const isTerminal = ['finishedSuccessfully', 'finishedWithError', 'cancelled'].includes(status);
364
+ const isTerminal = (0, cumin_1.status_isTerminal)(status);
351
365
  let result;
352
366
  if (!isTerminal) {
353
367
  result = await (0, index_js_1.job_cancel)(instanceID);
@@ -386,6 +400,68 @@ async function procFeed_ensureLoaded(feedID) {
386
400
  await feedInstances_ensureLoaded(feedID);
387
401
  }
388
402
  // ── Public API ─────────────────────────────────────────────────────────────
403
+ /**
404
+ * Refreshes volatile job status for one feed via a single paginated LIST sweep.
405
+ *
406
+ * The plugin-instance list response carries `status`, so one feed-scoped list call
407
+ * updates every node — far cheaper than per-node detail fetches. Terminal statuses
408
+ * are frozen by {@link ProcCache.status_update} and never regress.
409
+ *
410
+ * @param feedID - Feed whose instance statuses should be refreshed.
411
+ */
412
+ /**
413
+ * Ensures a feed's metadata (title + job counters, needed for aggregate status) is cached
414
+ * with real values. No-op when the feed is already present with real metadata; fetches one
415
+ * `getFeeds({id})` only when the feed is missing or a zero-counter placeholder. Does NOT
416
+ * touch instance topology — reuse of the warm cache is the whole point.
417
+ *
418
+ * @param feedID - Feed whose metadata to ensure.
419
+ */
420
+ async function feedMeta_ensure(feedID) {
421
+ const cache = (0, cumin_1.procCache_get)();
422
+ const existing = cache.feed_get(feedID);
423
+ if (existing && existing.creationDate !== '')
424
+ return;
425
+ const client = await cumin_1.chrisConnection.client_get();
426
+ if (!client)
427
+ return;
428
+ const typedClient = client;
429
+ const page = await typedClient.getFeeds({ id: feedID, limit: 1, offset: 0 });
430
+ const f = (page.data ?? [])[0];
431
+ if (!f)
432
+ return;
433
+ cache.feed_add({
434
+ id: Number(f.id),
435
+ title: String(f.name),
436
+ creationDate: String(f.creation_date ?? ''),
437
+ finishedJobs: Number(f.finished_jobs ?? 0),
438
+ erroredJobs: Number(f.errored_jobs ?? 0),
439
+ startedJobs: Number(f.started_jobs ?? 0),
440
+ scheduledJobs: Number(f.scheduled_jobs ?? 0),
441
+ cancelledJobs: Number(f.cancelled_jobs ?? 0),
442
+ createdJobs: Number(f.created_jobs ?? 0),
443
+ });
444
+ }
445
+ async function feedStatus_refresh(feedID) {
446
+ const cache = (0, cumin_1.procCache_get)();
447
+ const client = await cumin_1.chrisConnection.client_get();
448
+ if (!client)
449
+ return;
450
+ const typedClient = client;
451
+ let offset = 0;
452
+ while (true) {
453
+ const page = await typedClient.getPluginInstances({
454
+ feed_id: feedID, limit: PAGE, offset,
455
+ });
456
+ const chunk = page.data ?? [];
457
+ for (const inst of chunk) {
458
+ cache.status_update(Number(inst.id), String(inst.status ?? 'unknown'));
459
+ }
460
+ if (chunk.length < PAGE)
461
+ break;
462
+ offset += PAGE;
463
+ }
464
+ }
389
465
  /**
390
466
  * Background topology warm-up — single paginated sweep of all plugin instances
391
467
  * across all feeds. Replaces the per-feed fan-out that was O(feeds) round trips.
@@ -427,7 +503,9 @@ async function procTopology_warmup() {
427
503
  feedID,
428
504
  parentID: prevID,
429
505
  pluginName: String(inst.plugin_name),
506
+ pluginType: inst.plugin_type !== undefined ? String(inst.plugin_type) : undefined,
430
507
  params: null,
508
+ status: String(inst.status ?? 'unknown'),
431
509
  });
432
510
  seenFeedIDs.add(feedID);
433
511
  loaded++;
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fnndsc/salsa",
3
- "version": "3.2.6",
3
+ "version": "3.4.0",
4
4
  "description": "Shared Application Logic and Service Assets for ChRIS",
5
5
  "repository": {
6
6
  "type": "git",
@@ -52,7 +52,7 @@
52
52
  "inflight": "npm:@aashutoshrathi/word-wrap@^1.2.6"
53
53
  },
54
54
  "dependencies": {
55
- "@fnndsc/cumin": "^3.3.0",
55
+ "@fnndsc/cumin": "^3.7.0",
56
56
  "axios": "^1.6.8"
57
57
  }
58
58
  }