@fnndsc/cumin 3.16.0 → 3.17.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,170 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LISTING_INVALIDATION_WINDOW_MS = void 0;
4
+ exports.listingsForFeeds_note = listingsForFeeds_note;
5
+ exports.listingsForRoster_note = listingsForRoster_note;
6
+ exports.listingsForFeeds_drop = listingsForFeeds_drop;
7
+ exports.listingInvalidation_flush = listingInvalidation_flush;
8
+ exports.listingInvalidation_reset = listingInvalidation_reset;
9
+ /**
10
+ * @file Feed movement invalidates the folder listings it touched.
11
+ *
12
+ * The listing cache used to decide staleness with a clock that had no
13
+ * relationship to when anything changed, while `/proc` — in the same
14
+ * process — knew and said nothing. This is the wire between them.
15
+ *
16
+ * Two rules govern what happens on the far end:
17
+ *
18
+ * - **Your own act deletes; someone else's act dirties.** A mutation
19
+ * (rm, mv, cp, upload) removes the entry, because showing a file you
20
+ * just deleted is incoherent. A job's output or a colleague's share is
21
+ * not wrong, merely behind, so the entry is marked dirty and served at
22
+ * once while it refreshes behind.
23
+ * - **Movement coalesces.** A feed completing a fan-out stage lands many
24
+ * terminal transitions in the same second; they collapse into one pass
25
+ * over the cache keys.
26
+ *
27
+ * Nothing here subscribes to the process cache's change stream. That
28
+ * stream fires on every instance add and status observation, so indexing
29
+ * one large feed emits tens of thousands of events, none of which mean a
30
+ * file appeared. Movement is pushed from the two places that know.
31
+ *
32
+ * @module
33
+ */
34
+ const listCache_1 = require("./listCache");
35
+ const chrisPath_1 = require("../path/chrisPath");
36
+ /**
37
+ * How long feed movement collects before the cache is walked.
38
+ *
39
+ * Short on purpose: the whole point is that the mark beats the operator's
40
+ * next listing of that folder.
41
+ */
42
+ exports.LISTING_INVALIDATION_WINDOW_MS = 1500;
43
+ /** Feed ids whose listings are waiting to be marked. */
44
+ const pendingFeeds = new Set();
45
+ /** Parent folders waiting to be marked, from arrivals and departures. */
46
+ const pendingParents = new Set();
47
+ /** The open coalescing window, or null when nothing is pending. */
48
+ let windowTimer = null;
49
+ /**
50
+ * Marks every cached listing belonging to the given feeds, and any parent
51
+ * folders queued alongside them.
52
+ *
53
+ * @returns The cache paths marked dirty.
54
+ */
55
+ function pending_flush() {
56
+ const feeds = new Set(pendingFeeds);
57
+ const parents = new Set(pendingParents);
58
+ pendingFeeds.clear();
59
+ pendingParents.clear();
60
+ windowTimer = null;
61
+ if (feeds.size === 0 && parents.size === 0)
62
+ return [];
63
+ // Only paths the cache still holds are considered, so a listing dropped
64
+ // between the note and the flush leaves nothing behind to mark.
65
+ const cache = (0, listCache_1.listCache_get)();
66
+ const marked = [];
67
+ for (const path of cache.paths_get()) {
68
+ const feedID = (0, chrisPath_1.path_extractFeedID)(path);
69
+ const isFeedPath = feedID !== null && feeds.has(feedID);
70
+ if (!isFeedPath && !parents.has(path))
71
+ continue;
72
+ cache.cache_markDirty(path);
73
+ marked.push(path);
74
+ }
75
+ return marked;
76
+ }
77
+ /** Opens the coalescing window if one is not already running. */
78
+ function window_open() {
79
+ if (windowTimer !== null)
80
+ return;
81
+ windowTimer = setTimeout(() => { pending_flush(); }, exports.LISTING_INVALIDATION_WINDOW_MS);
82
+ // A pending mark must never hold a process open on its own.
83
+ windowTimer.unref?.();
84
+ }
85
+ /**
86
+ * Notes that a feed's contents moved, so its cached folder listings are
87
+ * behind. Call when a job crosses into a terminal state — that is when
88
+ * output becomes visible.
89
+ *
90
+ * @param feedIDs - Feeds whose contents changed.
91
+ */
92
+ function listingsForFeeds_note(feedIDs) {
93
+ if (feedIDs.length === 0)
94
+ return;
95
+ for (const feedID of feedIDs)
96
+ pendingFeeds.add(feedID);
97
+ window_open();
98
+ }
99
+ /**
100
+ * Notes that feeds arrived in, or vanished from, a parent folder.
101
+ *
102
+ * An arrival changes the *parent* listing rather than anything inside the
103
+ * feed, which is why this takes the folders as well: a feed shared to this
104
+ * identity adds a row to a folder that may itself be perfectly fresh.
105
+ *
106
+ * @param feedIDs - Feeds that arrived or departed.
107
+ * @param parentPaths - Folder listings whose membership therefore changed.
108
+ */
109
+ function listingsForRoster_note(feedIDs, parentPaths) {
110
+ if (feedIDs.length === 0 && parentPaths.length === 0)
111
+ return;
112
+ for (const feedID of feedIDs)
113
+ pendingFeeds.add(feedID);
114
+ for (const path of parentPaths)
115
+ pendingParents.add(path);
116
+ window_open();
117
+ }
118
+ /**
119
+ * Removes every cached listing belonging to feeds that are gone.
120
+ *
121
+ * A departure is not staleness. A feed this identity can no longer see has
122
+ * no contents to serve, and dirty entries are still served while they
123
+ * refresh, so marking one would keep showing a tree that has been taken
124
+ * away. This deletes instead, and does so at once rather than on the
125
+ * window, because there is nothing to race.
126
+ *
127
+ * @param feedIDs - Feeds that vanished from the roster.
128
+ * @returns The cache paths removed.
129
+ */
130
+ function listingsForFeeds_drop(feedIDs) {
131
+ if (feedIDs.length === 0)
132
+ return [];
133
+ const gone = new Set(feedIDs);
134
+ const cache = (0, listCache_1.listCache_get)();
135
+ const removed = [];
136
+ for (const path of cache.paths_get()) {
137
+ const feedID = (0, chrisPath_1.path_extractFeedID)(path);
138
+ if (feedID === null || !gone.has(feedID))
139
+ continue;
140
+ cache.cache_invalidate(path);
141
+ removed.push(path);
142
+ }
143
+ // A feed that left must not be resurrected by movement noted before it
144
+ // went; drop it from anything still pending.
145
+ for (const feedID of feedIDs)
146
+ pendingFeeds.delete(feedID);
147
+ return removed;
148
+ }
149
+ /**
150
+ * Applies any pending movement at once, without waiting for the window.
151
+ *
152
+ * @returns The cache paths marked dirty.
153
+ */
154
+ function listingInvalidation_flush() {
155
+ if (windowTimer !== null) {
156
+ clearTimeout(windowTimer);
157
+ windowTimer = null;
158
+ }
159
+ return pending_flush();
160
+ }
161
+ /** Discards pending movement without applying it (tests, cache reset). */
162
+ function listingInvalidation_reset() {
163
+ if (windowTimer !== null) {
164
+ clearTimeout(windowTimer);
165
+ windowTimer = null;
166
+ }
167
+ pendingFeeds.clear();
168
+ pendingParents.clear();
169
+ }
170
+ //# sourceMappingURL=listingInvalidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listingInvalidation.js","sourceRoot":"","sources":["../../src/cache/listingInvalidation.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,3 @@
1
- /**
2
- * @file Process Cache
3
- *
4
- * Session-scoped cache of ChRIS feed topology. Separates permanent data
5
- * (instance DAG structure and terminal status) from volatile active status.
6
- *
7
- * Design decisions:
8
- * - Topology (id, feedID, parentID, pluginName) is permanent once written.
9
- * - Terminal status is immutable and checkpointed; active status refreshes live.
10
- * - Feed job counters (finishedJobs etc.) give aggregate feed status
11
- * without per-instance API calls.
12
- * - topologyLoaded distinguishes "loaded but 0 instances" from "not yet loaded".
13
- * - loading map prevents duplicate API calls when background loader and
14
- * user navigation race on the same feed.
15
- * - warmupComplete enables pure in-memory path for proc find <name>.
16
- *
17
- * @module
18
- */
19
1
  /**
20
2
  * Feed-level metadata including job count fields for aggregate status.
21
3
  *
@@ -86,6 +68,8 @@ export interface ProcInstance {
86
68
  finishedAt?: string;
87
69
  /** Output size in bytes, as CUBE reports it; undefined when unobserved. */
88
70
  outputBytes?: number;
71
+ /** The compute resource the job ran on; undefined when unobserved. */
72
+ computeResource?: string;
89
73
  /** null until first cat — immutable once populated. */
90
74
  params: Record<string, unknown> | null;
91
75
  /**
@@ -132,6 +116,36 @@ export interface ProcWarmupProgress {
132
116
  total: number;
133
117
  active: boolean;
134
118
  }
119
+ /**
120
+ * One feed's first-visit topology load in flight: the prompt shows it so a
121
+ * 20k-node feed's walk is never a silent hang.
122
+ *
123
+ * @property feedID - The feed being loaded.
124
+ * @property loaded - Instances fetched so far.
125
+ * @property total - The server's count for the feed, zero until reported.
126
+ */
127
+ export interface ProcFeedLoadProgress {
128
+ feedID: number;
129
+ loaded: number;
130
+ total: number;
131
+ }
132
+ /**
133
+ * Where a feed appears for one identity, by how that identity sees it.
134
+ *
135
+ * @property owner - The identity's own username, used to tell an owned
136
+ * feed from one shared to it.
137
+ * @property own - Folder holding feeds this identity owns.
138
+ * @property shared - Folder holding feeds shared to this identity.
139
+ * @property public - Folder holding public feeds.
140
+ */
141
+ export interface RosterFolders {
142
+ owner?: string;
143
+ own?: string;
144
+ shared?: string;
145
+ public?: string;
146
+ }
147
+ /** How long a roster arrival stays annunciated after it lands. */
148
+ export declare const PROC_ARRIVAL_TTL_MS: number;
135
149
  /** Availability and freshness states for the persistent process cache. */
136
150
  export type ProcCacheState = 'empty' | 'restored' | 'reconciling' | 'current' | 'failed';
137
151
  /**
@@ -204,6 +218,17 @@ export declare class ProcCache {
204
218
  /** True when background warm-up has finished all feeds. */
205
219
  private _warmupComplete;
206
220
  private _warmupProgress;
221
+ /** Per-feed topology loads in flight, keyed by feed id. */
222
+ private feedLoads;
223
+ /** Feeds the roster gained (created or shared) with the moment they landed. */
224
+ private arrivals;
225
+ /**
226
+ * Folder listings whose membership changes when a feed arrives or
227
+ * departs, addressed by how the identity can see the feed. Empty until
228
+ * a host declares them, so a cache used outside a session never guesses
229
+ * at paths.
230
+ */
231
+ private rosterFolders;
207
232
  /** Whether initial feed index has been built. */
208
233
  private _built;
209
234
  private lifecycle;
@@ -274,6 +299,7 @@ export declare class ProcCache {
274
299
  startedAt?: string;
275
300
  finishedAt?: string;
276
301
  outputBytes?: number;
302
+ computeResource?: string;
277
303
  }): void;
278
304
  instance_get(id: number): ProcInstance | undefined;
279
305
  instances_count(): number;
@@ -359,6 +385,67 @@ export declare class ProcCache {
359
385
  warmup_abort(): void;
360
386
  warmup_progress(loaded: number, total: number): void;
361
387
  warmupProgress_get(): ProcWarmupProgress;
388
+ /**
389
+ * Records progress of one feed's topology load.
390
+ *
391
+ * @param feedID - The feed being loaded.
392
+ * @param loaded - Instances fetched so far.
393
+ * @param total - The server's count, or zero while unknown.
394
+ */
395
+ feedLoad_progress(feedID: number, loaded: number, total: number): void;
396
+ /**
397
+ * Ends one feed's load annunciation.
398
+ *
399
+ * @param feedID - The feed whose load finished or failed.
400
+ */
401
+ feedLoad_clear(feedID: number): void;
402
+ /**
403
+ * The feed load currently worth showing: the earliest still in flight.
404
+ *
405
+ * @returns The load in progress, or null when none is.
406
+ */
407
+ feedLoad_get(): ProcFeedLoadProgress | null;
408
+ /**
409
+ * Notes feeds the roster just gained, so surfaces can annunciate them.
410
+ *
411
+ * @param feedIDs - The arriving feed ids.
412
+ * @param at - When they landed (default now).
413
+ */
414
+ arrivals_note(feedIDs: number[], at?: number): void;
415
+ /**
416
+ * Declares which folder each kind of feed appears in, so an arrival
417
+ * dirties the one listing whose membership actually changed.
418
+ *
419
+ * A host may declare only what it knows. An unnamed folder is simply
420
+ * never marked, rather than every folder being marked because the
421
+ * roster could not tell them apart.
422
+ *
423
+ * @param folders - Folders by how this identity sees a feed.
424
+ */
425
+ rosterFolders_set(folders: RosterFolders): void;
426
+ /**
427
+ * The folder a feed appears in for this identity.
428
+ *
429
+ * @param feedID - The feed to place.
430
+ * @returns Its folder, or null when the feed is unknown or its folder
431
+ * was never declared.
432
+ */
433
+ private rosterFolder_for;
434
+ /**
435
+ * The distinct folders whose membership the given feeds changed.
436
+ *
437
+ * @param feedIDs - Feeds that arrived or departed.
438
+ * @returns Folder paths, without repeats.
439
+ */
440
+ private rosterFolders_for;
441
+ /**
442
+ * Arrivals still within their annunciation window, oldest first; expired
443
+ * ones are forgotten on the way.
444
+ *
445
+ * @param now - The current time (default now).
446
+ * @returns Feed ids that arrived within {@link PROC_ARRIVAL_TTL_MS}.
447
+ */
448
+ arrivals_recent(now?: number): number[];
362
449
  /**
363
450
  * Resets reconciliation progress while retaining restored topology.
364
451
  *
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProcCache = exports.PROC_ARRIVAL_TTL_MS = exports.PROC_TERMINAL_STATUSES = void 0;
4
+ exports.feed_isActive = feed_isActive;
5
+ exports.feedTopology_changed = feedTopology_changed;
6
+ exports.status_isTerminal = status_isTerminal;
7
+ exports.procCache_get = procCache_get;
2
8
  /**
3
9
  * @file Process Cache
4
10
  *
@@ -17,12 +23,7 @@
17
23
  *
18
24
  * @module
19
25
  */
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.ProcCache = exports.PROC_TERMINAL_STATUSES = void 0;
22
- exports.feed_isActive = feed_isActive;
23
- exports.feedTopology_changed = feedTopology_changed;
24
- exports.status_isTerminal = status_isTerminal;
25
- exports.procCache_get = procCache_get;
26
+ const listingInvalidation_1 = require("./listingInvalidation");
26
27
  /** Feed counters whose changes can alter a feed's plugin-instance topology. */
27
28
  const FEED_TOPOLOGY_COUNTERS = [
28
29
  'finishedJobs',
@@ -69,6 +70,8 @@ exports.PROC_TERMINAL_STATUSES = new Set([
69
70
  function status_isTerminal(status) {
70
71
  return status != null && exports.PROC_TERMINAL_STATUSES.has(status);
71
72
  }
73
+ /** How long a roster arrival stays annunciated after it lands. */
74
+ exports.PROC_ARRIVAL_TTL_MS = 30 * 1000;
72
75
  /**
73
76
  * Strips an instance to its persistence-safe form: no params, no output
74
77
  * path, and only a terminal status (an active one is re-observed live).
@@ -101,6 +104,17 @@ class ProcCache {
101
104
  /** True when background warm-up has finished all feeds. */
102
105
  this._warmupComplete = false;
103
106
  this._warmupProgress = { loaded: 0, total: 0, active: false };
107
+ /** Per-feed topology loads in flight, keyed by feed id. */
108
+ this.feedLoads = new Map();
109
+ /** Feeds the roster gained (created or shared) with the moment they landed. */
110
+ this.arrivals = new Map();
111
+ /**
112
+ * Folder listings whose membership changes when a feed arrives or
113
+ * departs, addressed by how the identity can see the feed. Empty until
114
+ * a host declares them, so a cache used outside a session never guesses
115
+ * at paths.
116
+ */
117
+ this.rosterFolders = {};
104
118
  /** Whether initial feed index has been built. */
105
119
  this._built = false;
106
120
  this.lifecycle = { state: 'empty' };
@@ -210,9 +224,22 @@ class ProcCache {
210
224
  feeds_reconcile(feeds) {
211
225
  const reconciliationTargets = [];
212
226
  const visible = new Set(feeds.map((feed) => feed.id));
227
+ const departed = [];
213
228
  for (const feedID of this.feedIDs_get()) {
214
229
  if (!visible.has(feedID))
215
- this.feed_remove(feedID);
230
+ departed.push(feedID);
231
+ }
232
+ // Placing a feed needs its row, so resolve the folders before the rows
233
+ // are dropped.
234
+ const departedFolders = this.rosterFolders_for(departed);
235
+ for (const feedID of departed)
236
+ this.feed_remove(feedID);
237
+ if (departed.length > 0) {
238
+ // A feed that vanished leaves a row behind in its parent listing,
239
+ // and its own cached listings describe a tree this identity can no
240
+ // longer reach. The parent is merely behind; the tree is gone.
241
+ (0, listingInvalidation_1.listingsForRoster_note)([], departedFolders);
242
+ (0, listingInvalidation_1.listingsForFeeds_drop)(departed);
216
243
  }
217
244
  for (const feed of feeds) {
218
245
  const previous = this.feed_get(feed.id);
@@ -266,6 +293,10 @@ class ProcCache {
266
293
  inst.outputBytes = metrics.outputBytes;
267
294
  changed = true;
268
295
  }
296
+ if (metrics.computeResource !== undefined && inst.computeResource !== metrics.computeResource) {
297
+ inst.computeResource = metrics.computeResource;
298
+ changed = true;
299
+ }
269
300
  if (changed)
270
301
  this.change_emit({ scope: 'feed', feedID: inst.feedID });
271
302
  }
@@ -397,10 +428,15 @@ class ProcCache {
397
428
  return;
398
429
  if (status_isTerminal(inst.status))
399
430
  return;
400
- if (inst.status !== status) {
401
- inst.status = status;
402
- this.change_emit({ scope: 'feed', feedID: inst.feedID });
403
- }
431
+ if (inst.status === status)
432
+ return;
433
+ inst.status = status;
434
+ this.change_emit({ scope: 'feed', feedID: inst.feedID });
435
+ // Crossing into a terminal state is the moment a job's output becomes
436
+ // visible, and so the moment the feed's cached folder listings fell
437
+ // behind. A merely-running job has produced nothing to list yet.
438
+ if (status_isTerminal(status))
439
+ (0, listingInvalidation_1.listingsForFeeds_note)([inst.feedID]);
404
440
  }
405
441
  /**
406
442
  * Records the resolved topological-join parent IDs for a `ts` instance. Immutable
@@ -468,6 +504,111 @@ class ProcCache {
468
504
  warmupProgress_get() {
469
505
  return { ...this._warmupProgress };
470
506
  }
507
+ // ── Per-feed load and roster arrivals ─────────────────────────────────────
508
+ /**
509
+ * Records progress of one feed's topology load.
510
+ *
511
+ * @param feedID - The feed being loaded.
512
+ * @param loaded - Instances fetched so far.
513
+ * @param total - The server's count, or zero while unknown.
514
+ */
515
+ feedLoad_progress(feedID, loaded, total) {
516
+ this.feedLoads.set(feedID, { feedID, loaded, total });
517
+ }
518
+ /**
519
+ * Ends one feed's load annunciation.
520
+ *
521
+ * @param feedID - The feed whose load finished or failed.
522
+ */
523
+ feedLoad_clear(feedID) {
524
+ this.feedLoads.delete(feedID);
525
+ }
526
+ /**
527
+ * The feed load currently worth showing: the earliest still in flight.
528
+ *
529
+ * @returns The load in progress, or null when none is.
530
+ */
531
+ feedLoad_get() {
532
+ const first = this.feedLoads.values().next().value;
533
+ return first === undefined ? null : { ...first };
534
+ }
535
+ /**
536
+ * Notes feeds the roster just gained, so surfaces can annunciate them.
537
+ *
538
+ * @param feedIDs - The arriving feed ids.
539
+ * @param at - When they landed (default now).
540
+ */
541
+ arrivals_note(feedIDs, at = Date.now()) {
542
+ for (const feedID of feedIDs)
543
+ this.arrivals.set(feedID, at);
544
+ // An arrival changes the folder the feed appears in, not anything
545
+ // inside it. A public feed landing on a busy CUBE must not dirty this
546
+ // identity's own feeds folder, which did not change.
547
+ (0, listingInvalidation_1.listingsForRoster_note)(feedIDs, this.rosterFolders_for(feedIDs));
548
+ }
549
+ /**
550
+ * Declares which folder each kind of feed appears in, so an arrival
551
+ * dirties the one listing whose membership actually changed.
552
+ *
553
+ * A host may declare only what it knows. An unnamed folder is simply
554
+ * never marked, rather than every folder being marked because the
555
+ * roster could not tell them apart.
556
+ *
557
+ * @param folders - Folders by how this identity sees a feed.
558
+ */
559
+ rosterFolders_set(folders) {
560
+ this.rosterFolders = { ...folders };
561
+ }
562
+ /**
563
+ * The folder a feed appears in for this identity.
564
+ *
565
+ * @param feedID - The feed to place.
566
+ * @returns Its folder, or null when the feed is unknown or its folder
567
+ * was never declared.
568
+ */
569
+ rosterFolder_for(feedID) {
570
+ const feed = this.feeds.get(feedID);
571
+ if (!feed)
572
+ return null;
573
+ if (feed.public)
574
+ return this.rosterFolders.public ?? null;
575
+ if (this.rosterFolders.owner !== undefined && feed.ownerUsername === this.rosterFolders.owner) {
576
+ return this.rosterFolders.own ?? null;
577
+ }
578
+ return this.rosterFolders.shared ?? null;
579
+ }
580
+ /**
581
+ * The distinct folders whose membership the given feeds changed.
582
+ *
583
+ * @param feedIDs - Feeds that arrived or departed.
584
+ * @returns Folder paths, without repeats.
585
+ */
586
+ rosterFolders_for(feedIDs) {
587
+ const folders = new Set();
588
+ for (const feedID of feedIDs) {
589
+ const folder = this.rosterFolder_for(feedID);
590
+ if (folder !== null)
591
+ folders.add(folder);
592
+ }
593
+ return Array.from(folders);
594
+ }
595
+ /**
596
+ * Arrivals still within their annunciation window, oldest first; expired
597
+ * ones are forgotten on the way.
598
+ *
599
+ * @param now - The current time (default now).
600
+ * @returns Feed ids that arrived within {@link PROC_ARRIVAL_TTL_MS}.
601
+ */
602
+ arrivals_recent(now = Date.now()) {
603
+ const recent = [];
604
+ for (const [feedID, at] of this.arrivals) {
605
+ if (now - at > exports.PROC_ARRIVAL_TTL_MS)
606
+ this.arrivals.delete(feedID);
607
+ else
608
+ recent.push(feedID);
609
+ }
610
+ return recent;
611
+ }
471
612
  /**
472
613
  * Resets reconciliation progress while retaining restored topology.
473
614
  *
@@ -610,12 +751,15 @@ class ProcCache {
610
751
  * Clears all cache data. Called before a full rebuild.
611
752
  */
612
753
  cache_clear() {
754
+ (0, listingInvalidation_1.listingInvalidation_reset)();
613
755
  this.feeds.clear();
614
756
  this.instances.clear();
615
757
  this.feedRoots.clear();
616
758
  this.children.clear();
617
759
  this.topologyLoaded.clear();
618
760
  this.loading.clear();
761
+ this.feedLoads.clear();
762
+ this.arrivals.clear();
619
763
  this._warmupComplete = false;
620
764
  this._warmupProgress = { loaded: 0, total: 0, active: false };
621
765
  this._built = false;
@@ -1 +1 @@
1
- {"version":3,"file":"procCache.js","sourceRoot":"","sources":["../../src/cache/procCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procCache.js","sourceRoot":"","sources":["../../src/cache/procCache.ts"],"names":[],"mappings":"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"}
@@ -163,6 +163,8 @@ export interface PluginInstanceData {
163
163
  end_date?: string;
164
164
  /** Output size in bytes, as CUBE reports it on the list row. */
165
165
  size?: number;
166
+ /** The compute resource the instance ran on, as CUBE reports it. */
167
+ compute_resource_name?: string;
166
168
  raw?: string;
167
169
  [key: string]: unknown;
168
170
  }