@fnndsc/cumin 3.5.0 → 3.7.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/cache/index.d.ts
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export { ListCache, listCache_get } from './listCache.js';
|
|
7
7
|
export type { CacheStats, CacheResult, CacheOptions } from './listCache.js';
|
|
8
|
-
export { ProcCache, procCache_get } from './procCache.js';
|
|
8
|
+
export { ProcCache, procCache_get, status_isTerminal, PROC_TERMINAL_STATUSES } from './procCache.js';
|
|
9
9
|
export type { ProcInstance, ProcFeed, ProcWarmupProgress } from './procCache.js';
|
package/dist/cache/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.procCache_get = exports.ProcCache = exports.listCache_get = exports.ListCache = void 0;
|
|
3
|
+
exports.PROC_TERMINAL_STATUSES = exports.status_isTerminal = exports.procCache_get = exports.ProcCache = exports.listCache_get = exports.ListCache = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* @file Cache module exports.
|
|
6
6
|
*
|
|
@@ -12,4 +12,6 @@ Object.defineProperty(exports, "listCache_get", { enumerable: true, get: functio
|
|
|
12
12
|
var procCache_js_1 = require("./procCache.js");
|
|
13
13
|
Object.defineProperty(exports, "ProcCache", { enumerable: true, get: function () { return procCache_js_1.ProcCache; } });
|
|
14
14
|
Object.defineProperty(exports, "procCache_get", { enumerable: true, get: function () { return procCache_js_1.procCache_get; } });
|
|
15
|
+
Object.defineProperty(exports, "status_isTerminal", { enumerable: true, get: function () { return procCache_js_1.status_isTerminal; } });
|
|
16
|
+
Object.defineProperty(exports, "PROC_TERMINAL_STATUSES", { enumerable: true, get: function () { return procCache_js_1.PROC_TERMINAL_STATUSES; } });
|
|
15
17
|
//# sourceMappingURL=index.js.map
|
package/dist/cache/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,+CAA0D;AAAjD,yGAAA,SAAS,OAAA;AAAE,6GAAA,aAAa,OAAA;AAEjC,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,+CAA0D;AAAjD,yGAAA,SAAS,OAAA;AAAE,6GAAA,aAAa,OAAA;AAEjC,+CAAqG;AAA5F,yGAAA,SAAS,OAAA;AAAE,6GAAA,aAAa,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAAE,sHAAA,sBAAsB,OAAA"}
|
|
@@ -31,7 +31,8 @@ export interface ProcFeed {
|
|
|
31
31
|
createdJobs: number;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* Instance entry. Topology (id/feedID/parentID/pluginName) is permanent.
|
|
35
|
+
* Status is cached only once terminal (settled); active status is refreshed live.
|
|
35
36
|
*/
|
|
36
37
|
export interface ProcInstance {
|
|
37
38
|
id: number;
|
|
@@ -39,9 +40,40 @@ export interface ProcInstance {
|
|
|
39
40
|
/** null for root nodes (direct children of a feed). */
|
|
40
41
|
parentID: number | null;
|
|
41
42
|
pluginName: string;
|
|
43
|
+
/**
|
|
44
|
+
* Plugin type (`fs` | `ds` | `ts`), immutable. Authoritative for detecting a
|
|
45
|
+
* topological-join node (`ts`). Optional — absent for nodes added before this was
|
|
46
|
+
* tracked; callers should fall back to a name match when undefined.
|
|
47
|
+
*/
|
|
48
|
+
pluginType?: string;
|
|
42
49
|
/** null until first cat — immutable once populated. */
|
|
43
50
|
params: Record<string, unknown> | null;
|
|
51
|
+
/**
|
|
52
|
+
* Last known job status. Terminal statuses (see {@link PROC_TERMINAL_STATUSES})
|
|
53
|
+
* are immutable and kept permanently; active statuses are refreshed live.
|
|
54
|
+
* null when topology is known but status has not been observed yet.
|
|
55
|
+
*/
|
|
56
|
+
status: string | null;
|
|
57
|
+
/**
|
|
58
|
+
* Extra parent instance IDs for a topological-join (`ts`) node — the sources it
|
|
59
|
+
* merges beyond its anchor {@link ProcInstance.parentID}. Immutable once a feed has
|
|
60
|
+
* run; populated lazily (only ts nodes have any). Absent/undefined = not yet
|
|
61
|
+
* resolved; empty array = resolved, no joins. See the feed-DAG design notes.
|
|
62
|
+
*/
|
|
63
|
+
joinParentIDs?: number[];
|
|
44
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Job statuses that never change once reached. An instance in one of these states
|
|
67
|
+
* is settled — its status can be cached permanently rather than re-fetched.
|
|
68
|
+
*/
|
|
69
|
+
export declare const PROC_TERMINAL_STATUSES: ReadonlySet<string>;
|
|
70
|
+
/**
|
|
71
|
+
* Reports whether a status is terminal (settled) and therefore safe to cache.
|
|
72
|
+
*
|
|
73
|
+
* @param status - Job status string, or null/undefined when unknown.
|
|
74
|
+
* @returns True if the status is terminal and immutable.
|
|
75
|
+
*/
|
|
76
|
+
export declare function status_isTerminal(status: string | null | undefined): boolean;
|
|
45
77
|
/**
|
|
46
78
|
* Warm-up progress counters for the prompt indicator.
|
|
47
79
|
* total is always 0 during global sweep (unknown upfront).
|
|
@@ -94,6 +126,14 @@ export declare class ProcCache {
|
|
|
94
126
|
instances_count(): number;
|
|
95
127
|
instancesForFeed_count(feedID: number): number;
|
|
96
128
|
children_get(parentID: number): number[];
|
|
129
|
+
/**
|
|
130
|
+
* Returns every instance ID belonging to a feed, walking the anchor tree from its
|
|
131
|
+
* roots (breadth-first). Order is roots-first, then descendants.
|
|
132
|
+
*
|
|
133
|
+
* @param feedID - Feed to enumerate.
|
|
134
|
+
* @returns All instance IDs in the feed's anchor tree.
|
|
135
|
+
*/
|
|
136
|
+
feedInstanceIDs_get(feedID: number): number[];
|
|
97
137
|
/**
|
|
98
138
|
* Removes an instance from the topology cache.
|
|
99
139
|
*/
|
|
@@ -102,6 +142,30 @@ export declare class ProcCache {
|
|
|
102
142
|
* Updates cached params for an instance (on first cat).
|
|
103
143
|
*/
|
|
104
144
|
params_update(id: number, params: Record<string, unknown>): void;
|
|
145
|
+
/**
|
|
146
|
+
* Updates the cached status for an instance. Terminal (settled) statuses are
|
|
147
|
+
* never overwritten — once finished, a job's status is immutable.
|
|
148
|
+
*
|
|
149
|
+
* @param id - Instance ID.
|
|
150
|
+
* @param status - Fresh status observed from the API.
|
|
151
|
+
*/
|
|
152
|
+
status_update(id: number, status: string): void;
|
|
153
|
+
/**
|
|
154
|
+
* Records the resolved topological-join parent IDs for a `ts` instance. Immutable
|
|
155
|
+
* data — set once when the feed's join edges are first fetched.
|
|
156
|
+
*
|
|
157
|
+
* @param id - Instance ID of the join (ts) node.
|
|
158
|
+
* @param ids - Source instance IDs it merges (beyond its anchor parent).
|
|
159
|
+
*/
|
|
160
|
+
joinParents_update(id: number, ids: number[]): void;
|
|
161
|
+
/**
|
|
162
|
+
* Returns the resolved join parent IDs for an instance, or an empty array when the
|
|
163
|
+
* node has none or they have not been resolved yet.
|
|
164
|
+
*
|
|
165
|
+
* @param id - Instance ID.
|
|
166
|
+
* @returns Source instance IDs, or `[]`.
|
|
167
|
+
*/
|
|
168
|
+
joinParents_get(id: number): number[];
|
|
105
169
|
topologyLoaded_mark(feedID: number): void;
|
|
106
170
|
topologyLoaded_has(feedID: number): boolean;
|
|
107
171
|
loading_set(feedID: number, promise: Promise<void>): void;
|
|
@@ -144,7 +208,7 @@ export declare class ProcCache {
|
|
|
144
208
|
* ```typescript
|
|
145
209
|
* const cache = procCache_get();
|
|
146
210
|
* cache.instance_add({ id: 789, feedID: 123, parentID: 456,
|
|
147
|
-
* pluginName: 'pl-fshack', params: null });
|
|
211
|
+
* pluginName: 'pl-fshack', params: null, status: 'scheduled' });
|
|
148
212
|
* ```
|
|
149
213
|
*/
|
|
150
214
|
export declare function procCache_get(): ProcCache;
|
package/dist/cache/procCache.js
CHANGED
|
@@ -18,8 +18,27 @@
|
|
|
18
18
|
* @module
|
|
19
19
|
*/
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.ProcCache = void 0;
|
|
21
|
+
exports.ProcCache = exports.PROC_TERMINAL_STATUSES = void 0;
|
|
22
|
+
exports.status_isTerminal = status_isTerminal;
|
|
22
23
|
exports.procCache_get = procCache_get;
|
|
24
|
+
/**
|
|
25
|
+
* Job statuses that never change once reached. An instance in one of these states
|
|
26
|
+
* is settled — its status can be cached permanently rather than re-fetched.
|
|
27
|
+
*/
|
|
28
|
+
exports.PROC_TERMINAL_STATUSES = new Set([
|
|
29
|
+
'finishedSuccessfully',
|
|
30
|
+
'finishedWithError',
|
|
31
|
+
'cancelled',
|
|
32
|
+
]);
|
|
33
|
+
/**
|
|
34
|
+
* Reports whether a status is terminal (settled) and therefore safe to cache.
|
|
35
|
+
*
|
|
36
|
+
* @param status - Job status string, or null/undefined when unknown.
|
|
37
|
+
* @returns True if the status is terminal and immutable.
|
|
38
|
+
*/
|
|
39
|
+
function status_isTerminal(status) {
|
|
40
|
+
return status != null && exports.PROC_TERMINAL_STATUSES.has(status);
|
|
41
|
+
}
|
|
23
42
|
/**
|
|
24
43
|
* Session-scoped cache of feed and instance topology.
|
|
25
44
|
* Status is never stored — always fetched live from the API.
|
|
@@ -118,6 +137,23 @@ class ProcCache {
|
|
|
118
137
|
children_get(parentID) {
|
|
119
138
|
return this.children.get(parentID) ?? [];
|
|
120
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Returns every instance ID belonging to a feed, walking the anchor tree from its
|
|
142
|
+
* roots (breadth-first). Order is roots-first, then descendants.
|
|
143
|
+
*
|
|
144
|
+
* @param feedID - Feed to enumerate.
|
|
145
|
+
* @returns All instance IDs in the feed's anchor tree.
|
|
146
|
+
*/
|
|
147
|
+
feedInstanceIDs_get(feedID) {
|
|
148
|
+
const result = [];
|
|
149
|
+
const queue = [...this.feedRoots_get(feedID)];
|
|
150
|
+
while (queue.length > 0) {
|
|
151
|
+
const id = queue.shift();
|
|
152
|
+
result.push(id);
|
|
153
|
+
queue.push(...this.children_get(id));
|
|
154
|
+
}
|
|
155
|
+
return result;
|
|
156
|
+
}
|
|
121
157
|
/**
|
|
122
158
|
* Removes an instance from the topology cache.
|
|
123
159
|
*/
|
|
@@ -143,6 +179,43 @@ class ProcCache {
|
|
|
143
179
|
if (inst)
|
|
144
180
|
inst.params = params;
|
|
145
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Updates the cached status for an instance. Terminal (settled) statuses are
|
|
184
|
+
* never overwritten — once finished, a job's status is immutable.
|
|
185
|
+
*
|
|
186
|
+
* @param id - Instance ID.
|
|
187
|
+
* @param status - Fresh status observed from the API.
|
|
188
|
+
*/
|
|
189
|
+
status_update(id, status) {
|
|
190
|
+
const inst = this.instances.get(id);
|
|
191
|
+
if (!inst)
|
|
192
|
+
return;
|
|
193
|
+
if (status_isTerminal(inst.status))
|
|
194
|
+
return;
|
|
195
|
+
inst.status = status;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Records the resolved topological-join parent IDs for a `ts` instance. Immutable
|
|
199
|
+
* data — set once when the feed's join edges are first fetched.
|
|
200
|
+
*
|
|
201
|
+
* @param id - Instance ID of the join (ts) node.
|
|
202
|
+
* @param ids - Source instance IDs it merges (beyond its anchor parent).
|
|
203
|
+
*/
|
|
204
|
+
joinParents_update(id, ids) {
|
|
205
|
+
const inst = this.instances.get(id);
|
|
206
|
+
if (inst)
|
|
207
|
+
inst.joinParentIDs = ids;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Returns the resolved join parent IDs for an instance, or an empty array when the
|
|
211
|
+
* node has none or they have not been resolved yet.
|
|
212
|
+
*
|
|
213
|
+
* @param id - Instance ID.
|
|
214
|
+
* @returns Source instance IDs, or `[]`.
|
|
215
|
+
*/
|
|
216
|
+
joinParents_get(id) {
|
|
217
|
+
return this.instances.get(id)?.joinParentIDs ?? [];
|
|
218
|
+
}
|
|
146
219
|
// ── Topology loaded tracking ───────────────────────────────────────────────
|
|
147
220
|
topologyLoaded_mark(feedID) {
|
|
148
221
|
this.topologyLoaded.add(feedID);
|
|
@@ -248,7 +321,7 @@ ProcCache._instance = null;
|
|
|
248
321
|
* ```typescript
|
|
249
322
|
* const cache = procCache_get();
|
|
250
323
|
* cache.instance_add({ id: 789, feedID: 123, parentID: 456,
|
|
251
|
-
* pluginName: 'pl-fshack', params: null });
|
|
324
|
+
* pluginName: 'pl-fshack', params: null, status: 'scheduled' });
|
|
252
325
|
* ```
|
|
253
326
|
*/
|
|
254
327
|
function procCache_get() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procCache.js","sourceRoot":"","sources":["../../src/cache/procCache.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;
|
|
1
|
+
{"version":3,"file":"procCache.js","sourceRoot":"","sources":["../../src/cache/procCache.ts"],"names":[],"mappings":"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"}
|