@fnndsc/cumin 3.8.0 → 3.8.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 +1 -1
- package/dist/cache/index.d.ts +1 -1
- package/dist/cache/procCache.d.ts +39 -2
- package/dist/cache/procCache.js +31 -1
- package/dist/cache/procCache.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,7 +54,7 @@ In the "Sandwich Model" architecture, `cumin` is the bottom layer (just above th
|
|
|
54
54
|
- **`ChrisIO`**: High-level IO operations, including recursive directory uploading (`uploadLocalPath`).
|
|
55
55
|
- **`ChRISResource.resources_getAll()`**: Generic pagination handler.
|
|
56
56
|
- **`ListCache`** (`listCache_get()`): Session-scoped directory listing cache for the VFS.
|
|
57
|
-
- **`ProcCache`** (`procCache_get()`): Session-scoped job monitoring cache. Stores all visible plugin instances as a DAG (two flat maps: `instances` keyed by ID, `children`/`feedRoots` for tree traversal). Structure is permanent once built; only non-terminal instance statuses are refreshed on read. Powers the `/proc/
|
|
57
|
+
- **`ProcCache`** (`procCache_get()`): Session-scoped job monitoring cache. Stores all visible plugin instances as a DAG (two flat maps: `instances` keyed by ID, `children`/`feedRoots` for tree traversal). Structure is permanent once built; only non-terminal instance statuses are refreshed on read. Powers the `/proc/jobs/` VFS provider in salsa.
|
|
58
58
|
|
|
59
59
|
## Developer Setup
|
|
60
60
|
|
package/dist/cache/index.d.ts
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
export { ListCache, listCache_get } from './listCache.js';
|
|
7
7
|
export type { CacheStats, CacheResult, CacheOptions } from './listCache.js';
|
|
8
8
|
export { ProcCache, procCache_get, status_isTerminal, PROC_TERMINAL_STATUSES } from './procCache.js';
|
|
9
|
-
export type { ProcInstance, ProcFeed, ProcWarmupProgress } from './procCache.js';
|
|
9
|
+
export type { ProcInstance, ProcFeed, ProcFeedScopeCounts, ProcWarmupProgress } from './procCache.js';
|
|
@@ -18,10 +18,15 @@
|
|
|
18
18
|
*/
|
|
19
19
|
/**
|
|
20
20
|
* Feed-level metadata including job count fields for aggregate status.
|
|
21
|
+
*
|
|
22
|
+
* @property ownerUsername - Username that owns the feed.
|
|
23
|
+
* @property public - Whether the feed is publicly visible.
|
|
21
24
|
*/
|
|
22
25
|
export interface ProcFeed {
|
|
23
26
|
id: number;
|
|
24
27
|
title: string;
|
|
28
|
+
ownerUsername: string;
|
|
29
|
+
public: boolean;
|
|
25
30
|
creationDate: string;
|
|
26
31
|
finishedJobs: number;
|
|
27
32
|
erroredJobs: number;
|
|
@@ -30,6 +35,20 @@ export interface ProcFeed {
|
|
|
30
35
|
cancelledJobs: number;
|
|
31
36
|
createdJobs: number;
|
|
32
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Exclusive feed counts by how the current identity can see each feed.
|
|
40
|
+
*
|
|
41
|
+
* @property user - Feeds owned by the current identity.
|
|
42
|
+
* @property public - Public feeds owned by another identity.
|
|
43
|
+
* @property shared - Non-public feeds shared by another identity.
|
|
44
|
+
* @property total - Unique visible feeds across all three buckets.
|
|
45
|
+
*/
|
|
46
|
+
export interface ProcFeedScopeCounts {
|
|
47
|
+
user: number;
|
|
48
|
+
public: number;
|
|
49
|
+
shared: number;
|
|
50
|
+
total: number;
|
|
51
|
+
}
|
|
33
52
|
/**
|
|
34
53
|
* Instance entry. Topology (id/feedID/parentID/pluginName) is permanent.
|
|
35
54
|
* Status is cached only once terminal (settled); active status is refreshed live.
|
|
@@ -76,8 +95,10 @@ export declare const PROC_TERMINAL_STATUSES: ReadonlySet<string>;
|
|
|
76
95
|
export declare function status_isTerminal(status: string | null | undefined): boolean;
|
|
77
96
|
/**
|
|
78
97
|
* Warm-up progress counters for the prompt indicator.
|
|
79
|
-
* total is
|
|
80
|
-
* active
|
|
98
|
+
* total is zero until the server reports the visible plugin-instance count.
|
|
99
|
+
* active becomes true when observable page progress begins, and false when the
|
|
100
|
+
* sweep completes or aborts. Use the topology lifecycle to detect an earlier
|
|
101
|
+
* running phase before the first page arrives.
|
|
81
102
|
*/
|
|
82
103
|
export interface ProcWarmupProgress {
|
|
83
104
|
loaded: number;
|
|
@@ -113,6 +134,16 @@ export declare class ProcCache {
|
|
|
113
134
|
feed_add(feed: ProcFeed): void;
|
|
114
135
|
feed_get(feedID: number): ProcFeed | undefined;
|
|
115
136
|
feedIDs_get(): number[];
|
|
137
|
+
/**
|
|
138
|
+
* Counts visible feeds in exclusive ownership, sharing, and public buckets.
|
|
139
|
+
*
|
|
140
|
+
* Ownership takes precedence over public visibility so the buckets sum to
|
|
141
|
+
* the unique feed total.
|
|
142
|
+
*
|
|
143
|
+
* @param username - Authenticated username whose owned feeds form `user`.
|
|
144
|
+
* @returns Exclusive scope counts whose components sum to `total`.
|
|
145
|
+
*/
|
|
146
|
+
feedScopeCounts_get(username: string): ProcFeedScopeCounts;
|
|
116
147
|
feedRoots_get(feedID: number): number[];
|
|
117
148
|
/**
|
|
118
149
|
* Removes a feed and all its instances from the cache.
|
|
@@ -172,6 +203,12 @@ export declare class ProcCache {
|
|
|
172
203
|
loading_get(feedID: number): Promise<void> | undefined;
|
|
173
204
|
loading_clear(feedID: number): void;
|
|
174
205
|
warmup_complete(): void;
|
|
206
|
+
/**
|
|
207
|
+
* Stops an unsuccessful warm-up without marking its topology complete.
|
|
208
|
+
*
|
|
209
|
+
* @returns Nothing.
|
|
210
|
+
*/
|
|
211
|
+
warmup_abort(): void;
|
|
175
212
|
warmup_progress(loaded: number, total: number): void;
|
|
176
213
|
warmupProgress_get(): ProcWarmupProgress;
|
|
177
214
|
/**
|
package/dist/cache/procCache.js
CHANGED
|
@@ -83,6 +83,27 @@ class ProcCache {
|
|
|
83
83
|
feedIDs_get() {
|
|
84
84
|
return Array.from(this.feeds.keys());
|
|
85
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Counts visible feeds in exclusive ownership, sharing, and public buckets.
|
|
88
|
+
*
|
|
89
|
+
* Ownership takes precedence over public visibility so the buckets sum to
|
|
90
|
+
* the unique feed total.
|
|
91
|
+
*
|
|
92
|
+
* @param username - Authenticated username whose owned feeds form `user`.
|
|
93
|
+
* @returns Exclusive scope counts whose components sum to `total`.
|
|
94
|
+
*/
|
|
95
|
+
feedScopeCounts_get(username) {
|
|
96
|
+
const counts = { user: 0, public: 0, shared: 0, total: this.feeds.size };
|
|
97
|
+
for (const feed of this.feeds.values()) {
|
|
98
|
+
if (feed.ownerUsername === username)
|
|
99
|
+
counts.user++;
|
|
100
|
+
else if (feed.public)
|
|
101
|
+
counts.public++;
|
|
102
|
+
else
|
|
103
|
+
counts.shared++;
|
|
104
|
+
}
|
|
105
|
+
return counts;
|
|
106
|
+
}
|
|
86
107
|
feedRoots_get(feedID) {
|
|
87
108
|
return this.feedRoots.get(feedID) ?? [];
|
|
88
109
|
}
|
|
@@ -236,7 +257,16 @@ class ProcCache {
|
|
|
236
257
|
// ── Warm-up state ─────────────────────────────────────────────────────────
|
|
237
258
|
warmup_complete() {
|
|
238
259
|
this._warmupComplete = true;
|
|
239
|
-
this._warmupProgress = {
|
|
260
|
+
this._warmupProgress = { ...this._warmupProgress, active: false };
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Stops an unsuccessful warm-up without marking its topology complete.
|
|
264
|
+
*
|
|
265
|
+
* @returns Nothing.
|
|
266
|
+
*/
|
|
267
|
+
warmup_abort() {
|
|
268
|
+
this._warmupComplete = false;
|
|
269
|
+
this._warmupProgress = { ...this._warmupProgress, active: false };
|
|
240
270
|
}
|
|
241
271
|
warmup_progress(loaded, total) {
|
|
242
272
|
this._warmupProgress = { loaded, total, active: true };
|
|
@@ -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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"}
|