@fnndsc/cumin 3.19.0 → 3.21.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.
@@ -149,6 +149,16 @@ export declare class QueryIndex {
149
149
  entries_all(): QueryIndexEntry[];
150
150
  /** How many records the index holds. */
151
151
  size_get(): number;
152
+ /**
153
+ * Whether the index already holds a record for a query id.
154
+ *
155
+ * A resumed sweep asks this to count what it newly filed apart from the
156
+ * boundary record its inclusive resume re-fetches.
157
+ *
158
+ * @param queryId - The query's numeric id.
159
+ * @returns True when the id is already indexed.
160
+ */
161
+ has(queryId: number): boolean;
152
162
  /** How many distinct questions those records answer. */
153
163
  questions_count(): number;
154
164
  /**
@@ -198,6 +198,18 @@ class QueryIndex {
198
198
  size_get() {
199
199
  return this.entries.size;
200
200
  }
201
+ /**
202
+ * Whether the index already holds a record for a query id.
203
+ *
204
+ * A resumed sweep asks this to count what it newly filed apart from the
205
+ * boundary record its inclusive resume re-fetches.
206
+ *
207
+ * @param queryId - The query's numeric id.
208
+ * @returns True when the id is already indexed.
209
+ */
210
+ has(queryId) {
211
+ return this.entries.has(queryId);
212
+ }
201
213
  /** How many distinct questions those records answer. */
202
214
  questions_count() {
203
215
  return this.byQuestion.size;
@@ -1 +1 @@
1
- {"version":3,"file":"queryIndex.js","sourceRoot":"","sources":["../../src/cache/queryIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryIndex.js","sourceRoot":"","sources":["../../src/cache/queryIndex.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,7 @@ exports.collectionItems_get = collectionItems_get;
65
65
  exports.resource_call = resource_call;
66
66
  exports.method_exists = method_exists;
67
67
  exports.pacsRetrieve_deleteByUrl = pacsRetrieve_deleteByUrl;
68
+ const pace_js_1 = require("./pace.js");
68
69
  const chrisapi_1 = __importStar(require("@fnndsc/chrisapi"));
69
70
  exports.Client = chrisapi_1.default;
70
71
  /**
@@ -204,7 +205,15 @@ async function resource_call(obj, methodName, ...args) {
204
205
  if (typeof method !== 'function') {
205
206
  throw new Error(`chrisapi object has no method '${methodName}'`);
206
207
  }
207
- return method.apply(obj, args);
208
+ if (!(0, pace_js_1.pace_isPageMethod)(methodName)) {
209
+ return method.apply(obj, args);
210
+ }
211
+ // A page fetch is timed: the pace register is how a surface turns a
212
+ // walk's page count into minutes.
213
+ const startedAt = performance.now();
214
+ const result = await method.apply(obj, args);
215
+ (0, pace_js_1.pace_note)(Math.round(performance.now() - startedAt));
216
+ return result;
208
217
  }
209
218
  /**
210
219
  * Tests whether a chrisapi object exposes a named runtime method.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/chrisapi/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/chrisapi/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @file CUBE pace: how long a page of a list takes to come back.
3
+ *
4
+ * Every paged read of CUBE (feeds, public feeds, plugin instances) is timed
5
+ * as it passes through {@link resource_call}, and the last twenty samples
6
+ * are kept. The daemon's telemetry carries the median so a surface can say
7
+ * what a walk costs in time, not only in pages.
8
+ *
9
+ * @module
10
+ */
11
+ /** How many recent page timings the register keeps. */
12
+ export declare const PACE_WINDOW: number;
13
+ /** What the register says about CUBE's pace. */
14
+ export interface CubePace {
15
+ /** Median wall time of one page fetch over the window, in milliseconds. */
16
+ msPerPage: number;
17
+ /** How many page fetches the median is over. */
18
+ samples: number;
19
+ /** When the latest sample landed (epoch milliseconds). */
20
+ at: number;
21
+ }
22
+ /**
23
+ * Whether a chrisapi method is a paged list read the register times.
24
+ *
25
+ * @param methodName - The method about to be invoked.
26
+ * @returns True for the page fetchers.
27
+ */
28
+ export declare function pace_isPageMethod(methodName: string): boolean;
29
+ /**
30
+ * Records one page fetch's wall time.
31
+ *
32
+ * @param ms - How long the fetch took.
33
+ * @param at - When it landed (default now).
34
+ */
35
+ export declare function pace_note(ms: number, at?: number): void;
36
+ /**
37
+ * The pace CUBE is serving pages at, or null before any page was timed.
38
+ *
39
+ * @returns The median over the window, its size, and the latest sample's time.
40
+ */
41
+ export declare function pace_get(): CubePace | null;
42
+ /** Forgets every sample (tests). */
43
+ export declare function pace_reset(): void;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ /**
3
+ * @file CUBE pace: how long a page of a list takes to come back.
4
+ *
5
+ * Every paged read of CUBE (feeds, public feeds, plugin instances) is timed
6
+ * as it passes through {@link resource_call}, and the last twenty samples
7
+ * are kept. The daemon's telemetry carries the median so a surface can say
8
+ * what a walk costs in time, not only in pages.
9
+ *
10
+ * @module
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.PACE_WINDOW = void 0;
14
+ exports.pace_isPageMethod = pace_isPageMethod;
15
+ exports.pace_note = pace_note;
16
+ exports.pace_get = pace_get;
17
+ exports.pace_reset = pace_reset;
18
+ /** The chrisapi methods that fetch one page of a list. */
19
+ const PAGE_METHODS = new Set(['getFeeds', 'getPublicFeeds', 'getPluginInstances']);
20
+ /** How many recent page timings the register keeps. */
21
+ exports.PACE_WINDOW = 20;
22
+ const samples = [];
23
+ /**
24
+ * Whether a chrisapi method is a paged list read the register times.
25
+ *
26
+ * @param methodName - The method about to be invoked.
27
+ * @returns True for the page fetchers.
28
+ */
29
+ function pace_isPageMethod(methodName) {
30
+ return PAGE_METHODS.has(methodName);
31
+ }
32
+ /**
33
+ * Records one page fetch's wall time.
34
+ *
35
+ * @param ms - How long the fetch took.
36
+ * @param at - When it landed (default now).
37
+ */
38
+ function pace_note(ms, at = Date.now()) {
39
+ samples.push({ ms, at });
40
+ if (samples.length > exports.PACE_WINDOW)
41
+ samples.splice(0, samples.length - exports.PACE_WINDOW);
42
+ }
43
+ /**
44
+ * The pace CUBE is serving pages at, or null before any page was timed.
45
+ *
46
+ * @returns The median over the window, its size, and the latest sample's time.
47
+ */
48
+ function pace_get() {
49
+ if (samples.length === 0)
50
+ return null;
51
+ const sorted = samples.map((s) => s.ms).sort((a, b) => a - b);
52
+ const mid = Math.floor(sorted.length / 2);
53
+ const median = sorted.length % 2 === 1 ? sorted[mid] : (sorted[mid - 1] + sorted[mid]) / 2;
54
+ return { msPerPage: Math.round(median), samples: samples.length, at: samples[samples.length - 1].at };
55
+ }
56
+ /** Forgets every sample (tests). */
57
+ function pace_reset() {
58
+ samples.length = 0;
59
+ }
60
+ //# sourceMappingURL=pace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pace.js","sourceRoot":"","sources":["../../src/chrisapi/pace.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AA0BH,8CAEC;AAQD,8BAGC;AAOD,4BAMC;AAGD,gCAEC;AAvDD,0DAA0D;AAC1D,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAExG,uDAAuD;AAC1C,QAAA,WAAW,GAAW,EAAE,CAAC;AAYtC,MAAM,OAAO,GAAsC,EAAE,CAAC;AAEtD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,UAAkB;IAClD,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,EAAU,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;IAC3D,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzB,IAAI,OAAO,CAAC,MAAM,GAAG,mBAAW;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,mBAAW,CAAC,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,SAAgB,QAAQ;IACtB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,MAAM,GAAa,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxG,MAAM,GAAG,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,GAAG,CAAY,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAY,GAAI,MAAM,CAAC,GAAG,CAAY,CAAC,GAAG,CAAC,CAAC;IACvI,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAoB,CAAC,EAAE,EAAE,CAAC;AAC5H,CAAC;AAED,oCAAoC;AACpC,SAAgB,UAAU;IACxB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACrB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -46,6 +46,7 @@ export * from "./pluginmetas/chrisPluginMetas";
46
46
  export * from "./workflows/chrisWorkflows";
47
47
  export * from "./output/runtimeOutput";
48
48
  export { listData_get, itemData_get, items_get } from "./chrisapi/adapter";
49
+ export { pace_get, pace_note, pace_reset, pace_isPageMethod, PACE_WINDOW, type CubePace } from "./chrisapi/pace";
49
50
  export { feedsPage_get, publicFeedsPage_get, pluginInstancesPage_get, pluginInstance_get, plugin_find, pluginParameters_drain, pipeline_get, pipelineSourceFilesPage_get, pipelineSourceFiles_drain, downloadToken_create, listPages_walk, listPages_walkWindowed, type WindowedPageWalkOptions, listPages_drain, collectionPage_wrap, } from "./chrisapi/contract";
50
51
  export type { ListPage, PageWalkOptions, PageWalkStep, FeedData, PluginInstanceData, InstanceParameterData, DownloadToken, PluginInstanceHandle, PipelineHandle, PluginPipingItem, PluginPipingData, PipingDefaultParameterData, PipelineSourceFileData, PluginParameterData, ComputeResourceData, PluginHandle, PluginData, PluginFound, } from "./chrisapi/contract";
51
52
  export type { ListResource, Resource, ItemResource, PluginInstance, Feed, FileBrowserFolder, UserFile, PACSFile, } from "./chrisapi/adapter";
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
24
24
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.collectionPage_wrap = exports.listPages_drain = exports.listPages_walkWindowed = exports.listPages_walk = exports.downloadToken_create = exports.pipelineSourceFiles_drain = exports.pipelineSourceFilesPage_get = exports.pipeline_get = exports.pluginParameters_drain = exports.plugin_find = exports.pluginInstance_get = exports.pluginInstancesPage_get = exports.publicFeedsPage_get = exports.feedsPage_get = exports.items_get = exports.itemData_get = exports.listData_get = void 0;
27
+ exports.collectionPage_wrap = exports.listPages_drain = exports.listPages_walkWindowed = exports.listPages_walk = exports.downloadToken_create = exports.pipelineSourceFiles_drain = exports.pipelineSourceFilesPage_get = exports.pipeline_get = exports.pluginParameters_drain = exports.plugin_find = exports.pluginInstance_get = exports.pluginInstancesPage_get = exports.publicFeedsPage_get = exports.feedsPage_get = exports.PACE_WINDOW = exports.pace_isPageMethod = exports.pace_reset = exports.pace_note = exports.pace_get = exports.items_get = exports.itemData_get = exports.listData_get = void 0;
28
28
  exports.chrisVersion_get = chrisVersion_get;
29
29
  __exportStar(require("./"), exports);
30
30
  __exportStar(require("./error/errorStack"), exports);
@@ -68,6 +68,12 @@ var adapter_1 = require("./chrisapi/adapter");
68
68
  Object.defineProperty(exports, "listData_get", { enumerable: true, get: function () { return adapter_1.listData_get; } });
69
69
  Object.defineProperty(exports, "itemData_get", { enumerable: true, get: function () { return adapter_1.itemData_get; } });
70
70
  Object.defineProperty(exports, "items_get", { enumerable: true, get: function () { return adapter_1.items_get; } });
71
+ var pace_1 = require("./chrisapi/pace");
72
+ Object.defineProperty(exports, "pace_get", { enumerable: true, get: function () { return pace_1.pace_get; } });
73
+ Object.defineProperty(exports, "pace_note", { enumerable: true, get: function () { return pace_1.pace_note; } });
74
+ Object.defineProperty(exports, "pace_reset", { enumerable: true, get: function () { return pace_1.pace_reset; } });
75
+ Object.defineProperty(exports, "pace_isPageMethod", { enumerable: true, get: function () { return pace_1.pace_isPageMethod; } });
76
+ Object.defineProperty(exports, "PACE_WINDOW", { enumerable: true, get: function () { return pace_1.PACE_WINDOW; } });
71
77
  // Typed wire contract over the hot API surfaces (jobs, PACS): downstream
72
78
  // packages call these instead of casting the opaque client per call site.
73
79
  var contract_1 = require("./chrisapi/contract");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;AAsHH,4CAKC;AAzHD,qCAAmB;AACnB,qDAAmC;AACnC,kDAAgC;AAChC,oDAAkC;AAClC,4DAA0C;AAC1C,yDAAuC;AACvC,yDAAuC;AACvC,mEAAiD;AACjD,6DAA2C;AAC3C,mDAAiC;AACjC,yDAAuC;AACvC,sDAAoC;AACpC,6DAA2C;AAC3C,iEAA+C;AAC/C,8DAA4C;AAC5C,yEAAuD;AACvD,iEAA+C;AAC/C,2DAAyC;AACzC,0DAAwC;AACxC,8DAA4C;AAC5C,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAC7B,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC;AACjC,0CAAwB;AACxB,mDAAiC;AACjC,4DAA0C;AAC1C,qDAAmC;AACnC,mDAAiC;AACjC,uDAAqC;AACrC,iEAA+C;AAC/C,6DAA2C;AAC3C,yDAAuC;AAEvC,iFAAiF;AACjF,8CAA2E;AAAlE,uGAAA,YAAY,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,oGAAA,SAAS,OAAA;AAE9C,yEAAyE;AACzE,0EAA0E;AAC1E,gDAc6B;AAb3B,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,mHAAA,uBAAuB,OAAA;AACvB,8GAAA,kBAAkB,OAAA;AAClB,uGAAA,WAAW,OAAA;AACX,kHAAA,sBAAsB,OAAA;AACtB,wGAAA,YAAY,OAAA;AACZ,uHAAA,2BAA2B,OAAA;AAC3B,qHAAA,yBAAyB,OAAA;AACzB,gHAAA,oBAAoB,OAAA;AACpB,0GAAA,cAAc,OAAA;AAAE,kHAAA,sBAAsB,OAAA;AACtC,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AAsDrB;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAChD,MAAM,OAAO,GAAW,OAAO,CAAC;IAChC,wCAAwC;IACxC,6CAA6C;IAC7C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5B,CAAC;AAED,gEAAgE;AAChE,qCAAqC;AACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;AAuHH,4CAKC;AA1HD,qCAAmB;AACnB,qDAAmC;AACnC,kDAAgC;AAChC,oDAAkC;AAClC,4DAA0C;AAC1C,yDAAuC;AACvC,yDAAuC;AACvC,mEAAiD;AACjD,6DAA2C;AAC3C,mDAAiC;AACjC,yDAAuC;AACvC,sDAAoC;AACpC,6DAA2C;AAC3C,iEAA+C;AAC/C,8DAA4C;AAC5C,yEAAuD;AACvD,iEAA+C;AAC/C,2DAAyC;AACzC,0DAAwC;AACxC,8DAA4C;AAC5C,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAC7B,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC;AACjC,0CAAwB;AACxB,mDAAiC;AACjC,4DAA0C;AAC1C,qDAAmC;AACnC,mDAAiC;AACjC,uDAAqC;AACrC,iEAA+C;AAC/C,6DAA2C;AAC3C,yDAAuC;AAEvC,iFAAiF;AACjF,8CAA2E;AAAlE,uGAAA,YAAY,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,oGAAA,SAAS,OAAA;AAC9C,wCAAiH;AAAxG,gGAAA,QAAQ,OAAA;AAAE,iGAAA,SAAS,OAAA;AAAE,kGAAA,UAAU,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAAE,mGAAA,WAAW,OAAA;AAExE,yEAAyE;AACzE,0EAA0E;AAC1E,gDAc6B;AAb3B,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,mHAAA,uBAAuB,OAAA;AACvB,8GAAA,kBAAkB,OAAA;AAClB,uGAAA,WAAW,OAAA;AACX,kHAAA,sBAAsB,OAAA;AACtB,wGAAA,YAAY,OAAA;AACZ,uHAAA,2BAA2B,OAAA;AAC3B,qHAAA,yBAAyB,OAAA;AACzB,gHAAA,oBAAoB,OAAA;AACpB,0GAAA,cAAc,OAAA;AAAE,kHAAA,sBAAsB,OAAA;AACtC,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AAsDrB;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAChD,MAAM,OAAO,GAAW,OAAO,CAAC;IAChC,wCAAwC;IACxC,6CAA6C;IAC7C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5B,CAAC;AAED,gEAAgE;AAChE,qCAAqC;AACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -30,8 +30,10 @@ export declare const QUERY_SWEEP_PAGE_MAX: number;
30
30
  export declare const QUERY_LOG_PATH: string;
31
31
  /** What a sweep did, for the boot readout that reports it. */
32
32
  export interface QuerySweepResult {
33
- /** Records newly filed. */
33
+ /** Records this sweep filed that the index did not already hold. */
34
34
  indexed: number;
35
+ /** Records the index holds after the sweep — the amount asked, all told. */
36
+ total: number;
35
37
  /** True when the sweep resumed from a restored index rather than rebuilding. */
36
38
  resumed: boolean;
37
39
  /** Pages fetched. */
@@ -134,8 +134,14 @@ async function queryIndex_sweep(options = {}) {
134
134
  const entry = queryRow_toEntry(row);
135
135
  if (entry === null)
136
136
  continue;
137
+ // The resume filter is inclusive, so the newest record the index
138
+ // already holds comes back on the first page. Note it — it may carry a
139
+ // fresher result — but count only what the index did not already have,
140
+ // or a resume that found nothing new still reports one.
141
+ const known = index.has(entry.queryId);
137
142
  index.entry_note(entry);
138
- indexed += 1;
143
+ if (!known)
144
+ indexed += 1;
139
145
  if (oldest === null || Date.parse(entry.answeredAt) < Date.parse(oldest)) {
140
146
  oldest = entry.answeredAt;
141
147
  }
@@ -146,7 +152,7 @@ async function queryIndex_sweep(options = {}) {
146
152
  index.floor_set(oldest);
147
153
  if (indexed > 0)
148
154
  (0, listCache_js_1.listCache_get)().cache_invalidate(exports.QUERY_LOG_PATH);
149
- return (0, result_js_1.Ok)({ indexed, pages, bounded: false, resumed: newest !== null });
155
+ return (0, result_js_1.Ok)({ indexed, total: index.size_get(), pages, bounded: false, resumed: newest !== null });
150
156
  }
151
157
  offset += rows.length;
152
158
  }
@@ -154,6 +160,6 @@ async function queryIndex_sweep(options = {}) {
154
160
  index.floor_set(oldest);
155
161
  if (indexed > 0)
156
162
  (0, listCache_js_1.listCache_get)().cache_invalidate(exports.QUERY_LOG_PATH);
157
- return (0, result_js_1.Ok)({ indexed, pages, bounded: true, resumed: newest !== null });
163
+ return (0, result_js_1.Ok)({ indexed, total: index.size_get(), pages, bounded: true, resumed: newest !== null });
158
164
  }
159
165
  //# sourceMappingURL=queryIndexSweep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryIndexSweep.js","sourceRoot":"","sources":["../../src/pacs/queryIndexSweep.ts"],"names":[],"mappings":";;;AA8EA,4CAiBC;AAUD,0CAIC;AAaD,4CAiDC;AA3KD;;;;;;;;;;;;;;;;;GAiBG;AACH,0DAAoD;AACpD,kDAAqD;AACrD,0DAKgC;AAChC,iDAA6E;AAC7E,wDAAsD;AAGtD;;;;;;;GAOG;AACU,QAAA,gBAAgB,GAAW,GAAG,CAAC;AAE5C;;;;;;;GAOG;AACU,QAAA,oBAAoB,GAAW,GAAG,CAAC;AAEhD;;;;;;;GAOG;AACU,QAAA,cAAc,GAAW,mBAAmB,CAAC;AAc1D;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,GAA4B;IAC3D,MAAM,QAAQ,GAAkC,IAAA,mCAAmB,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/E,IAAI,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzE,MAAM,OAAO,GAAW,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,UAAU,GAAW,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ;QAC9D,CAAC,CAAC,GAAG,CAAC,aAAa;QACnB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAY,GAAG,CAAC,MAAM,CAAC;IACnC,OAAO;QACL,OAAO;QACP,MAAM,EAAE,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;QAC1E,QAAQ;QACR,KAAK,EAAE,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;QACvE,UAAU;QACV,SAAS,EAAE,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;KAClE,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,GAA4B;IAC1D,MAAM,KAAK,GAA2B,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO;IAC3B,IAAA,8BAAc,GAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,gBAAgB,CACpC,UAAgC,EAAE;IAElC,MAAM,KAAK,GAAe,IAAA,8BAAc,GAAE,CAAC;IAC3C,uEAAuE;IACvE,sEAAsE;IACtE,sEAAsE;IACtE,oEAAoE;IACpE,MAAM,MAAM,GAAkB,KAAK,CAAC,UAAU,EAAE,CAAC;IACjD,MAAM,MAAM,GAAyB,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC1F,IAAI,MAAM,GAAW,CAAC,CAAC;IACvB,IAAI,KAAK,GAAW,CAAC,CAAC;IACtB,IAAI,OAAO,GAAW,CAAC,CAAC;IACxB,IAAI,MAAM,GAAkB,IAAI,CAAC;IAEjC,OAAO,KAAK,GAAG,4BAAoB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAwC,MAAM,IAAA,+BAAgB,EAAC;YACvE,GAAG,MAAM;YACT,GAAG,OAAO;YACV,KAAK,EAAE,wBAAgB;YACvB,MAAM;SACP,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,0BAAU,CAAC,UAAU,CAAC,OAAO,EAAE,uDAAuD,CAAC,CAAC;YACxF,OAAO,IAAA,eAAG,GAAE,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAA8B,IAAI,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;QACpE,KAAK,IAAI,CAAC,CAAC;QACX,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAA2B,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAC7B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC,CAAC;YACb,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzE,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,mDAAmD;QACnD,IAAI,IAAI,CAAC,MAAM,GAAG,wBAAgB,EAAE,CAAC;YACnC,IAAI,MAAM,KAAK,IAAI;gBAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,OAAO,GAAG,CAAC;gBAAE,IAAA,4BAAa,GAAE,CAAC,gBAAgB,CAAC,sBAAc,CAAC,CAAC;YAClE,OAAO,IAAA,cAAE,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,KAAK,IAAI;QAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,OAAO,GAAG,CAAC;QAAE,IAAA,4BAAa,GAAE,CAAC,gBAAgB,CAAC,sBAAc,CAAC,CAAC;IAClE,OAAO,IAAA,cAAE,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"queryIndexSweep.js","sourceRoot":"","sources":["../../src/pacs/queryIndexSweep.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fnndsc/cumin",
3
- "version": "3.19.0",
3
+ "version": "3.21.0",
4
4
  "description": "Utility library for ChILI and other ChRIS-related JavaScript applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -63,6 +63,6 @@
63
63
  "@fnndsc/chrisapi": "^1.25.0",
64
64
  "chalk": "^4.1.2",
65
65
  "figlet": "^1.7.0",
66
- "@fnndsc/menu": "^0.5.0"
66
+ "@fnndsc/menu": "^0.7.0"
67
67
  }
68
68
  }