@fnndsc/cumin 3.17.1 → 3.18.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.
@@ -290,17 +290,30 @@ class ChrisIO {
290
290
  const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Upload timeout after 30s')), 30000));
291
291
  const userFile = await Promise.race([uploadPromise, timeoutPromise]);
292
292
  // ChRIS may rename the file to avoid collisions (e.g. world.txt → world_XXXXXXX.txt)
293
- // when the path was recently deleted and not yet committed. Detect and rename back.
293
+ // when the path was recently deleted and not yet committed. Renaming
294
+ // it back is right THEN and catastrophic when the path is genuinely
295
+ // occupied: a write onto a path the store already holds leaves a row
296
+ // CUBE's own API cannot serve, and one such row makes every listing
297
+ // of that folder fail (docs/CUBE-gaps.adoc). So the rename happens
298
+ // only when the wanted path is free, and a check that cannot answer
299
+ // counts as occupied — the safe reading, since the cost of guessing
300
+ // wrong is the operator's folder.
294
301
  const actualFname = (0, adapter_js_1.itemData_get)(userFile)?.fname ?? '';
295
302
  const normalizedActual = actualFname.startsWith('/') ? actualFname.substring(1) : actualFname;
296
303
  if (normalizedActual && normalizedActual !== fullPath) {
297
- try {
298
- await userFile.put({ upload_path: fullPath });
304
+ const free = await this.path_isFree(client, fullPath, normalizedActual);
305
+ if (!free) {
306
+ errorStack_js_1.errorStack.stack_push('warning', `'${fullPath}' already exists — the upload landed as '${actualFname}' rather than overwriting it`);
299
307
  }
300
- catch (renameErr) {
301
- const renameMsg = renameErr instanceof Error ? renameErr.message : String(renameErr);
302
- errorStack_js_1.errorStack.stack_push('warning', `Uploaded as '${actualFname}' — rename to '${fullPath}' failed: ${renameMsg}`);
303
- // Don't fail the upload — file was uploaded, just at wrong name
308
+ else {
309
+ try {
310
+ await userFile.put({ upload_path: fullPath });
311
+ }
312
+ catch (renameErr) {
313
+ const renameMsg = renameErr instanceof Error ? renameErr.message : String(renameErr);
314
+ errorStack_js_1.errorStack.stack_push('warning', `Uploaded as '${actualFname}' — rename to '${fullPath}' failed: ${renameMsg}`);
315
+ // Don't fail the upload — file was uploaded, just at wrong name
316
+ }
304
317
  }
305
318
  }
306
319
  return true;
@@ -311,6 +324,69 @@ class ChrisIO {
311
324
  return false;
312
325
  }
313
326
  }
327
+ /**
328
+ * Deletes one file by its id, without listing anything.
329
+ *
330
+ * A file that cannot be LISTED must still be deletable: a folder whose
331
+ * listing the server refuses is exactly the folder an operator most needs
332
+ * to clear, and a delete that resolves its id through the parent's
333
+ * collection cannot help there (#462).
334
+ *
335
+ * @param fileId - The file's id.
336
+ * @returns Ok(true) when the file is gone, Err when the server refused.
337
+ */
338
+ async file_deleteById(fileId) {
339
+ const client = await this.client_get();
340
+ if (!client) {
341
+ errorStack_js_1.errorStack.stack_push("error", "ChRIS client is not initialized");
342
+ return (0, result_js_1.Err)();
343
+ }
344
+ try {
345
+ const userFile = await client.getUserFile(fileId);
346
+ if (!userFile) {
347
+ errorStack_js_1.errorStack.stack_push("error", `File not found with ID ${fileId}`);
348
+ return (0, result_js_1.Err)();
349
+ }
350
+ await (0, adapter_js_1.resource_call)(userFile, '_delete');
351
+ return (0, result_js_1.Ok)(true);
352
+ }
353
+ catch (error) {
354
+ const message = error instanceof Error ? error.message : String(error);
355
+ errorStack_js_1.errorStack.stack_push("error", `Failed to delete file ID ${fileId}: ${message}`);
356
+ return (0, result_js_1.Err)();
357
+ }
358
+ }
359
+ /**
360
+ * Whether a path is free to be written to.
361
+ *
362
+ * Asked by exact name rather than by listing the folder: one request, and
363
+ * it still answers when the folder's own listing is broken. Anything the
364
+ * server will not answer counts as occupied.
365
+ *
366
+ * @param client - The connected client.
367
+ * @param wanted - The path a write wants, without a leading slash.
368
+ * @param mine - The path the just-uploaded file currently occupies, which
369
+ * is not a collision with itself.
370
+ * @returns True when nothing else holds the path.
371
+ */
372
+ async path_isFree(client, wanted, mine) {
373
+ try {
374
+ // listing-bound: one exact path can only be held by one file; five is
375
+ // room for a server that answers loosely, not a page of a collection.
376
+ const held = await client.getUserFiles({ limit: 5, fname_exact: wanted });
377
+ const items = held.getItems() ?? [];
378
+ for (const item of items) {
379
+ const fname = (0, adapter_js_1.itemData_get)(item)?.fname ?? '';
380
+ const normalized = fname.startsWith('/') ? fname.substring(1) : fname;
381
+ if (normalized !== mine)
382
+ return false;
383
+ }
384
+ return true;
385
+ }
386
+ catch {
387
+ return false;
388
+ }
389
+ }
314
390
  /**
315
391
  * Creates a new folder in ChRIS at the specified path.
316
392
  *
@@ -1 +1 @@
1
- {"version":3,"file":"chrisIO.js","sourceRoot":"","sources":["../../src/io/chrisIO.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chrisIO.js","sourceRoot":"","sources":["../../src/io/chrisIO.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,14 @@ export interface PACSQueryRecord {
50
50
  export interface PACSQueryListOptions extends ListOptions {
51
51
  pacs_id?: number;
52
52
  pacs_identifier?: string;
53
+ /** Records created at or after this ISO timestamp. */
54
+ min_creation_date?: string;
55
+ /** Records created at or before this ISO timestamp. */
56
+ max_creation_date?: string;
57
+ /** Records owned by this username. */
58
+ owner_username?: string;
59
+ /** Records in this state, e.g. `succeeded`. */
60
+ status?: string;
53
61
  }
54
62
  /**
55
63
  * Group handler for PACS queries.
@@ -1 +1 @@
1
- {"version":3,"file":"chrisPACS.js","sourceRoot":"","sources":["../../src/pacs/chrisPACS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chrisPACS.js","sourceRoot":"","sources":["../../src/pacs/chrisPACS.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { Result } from "../utils/result.js";
2
+ import { type QueryIndexEntry } from "../cache/queryIndex.js";
3
+ import { type PACSQueryListOptions } from "./chrisPACS.js";
4
+ /**
5
+ * How many records a sweep asks for at a time.
6
+ *
7
+ * Not a cap on what is indexed — the sweep pages until the collection is
8
+ * exhausted. Every row carries its compressed result whether or not this
9
+ * wants it, so the page is kept modest to bound each request rather than
10
+ * the walk.
11
+ */
12
+ export declare const QUERY_SWEEP_PAGE: number;
13
+ /**
14
+ * A safety stop on the number of pages one sweep will walk.
15
+ *
16
+ * The walk is bounded by the collection, not by this; the bound exists so
17
+ * that a CUBE which never reports a short page cannot spin forever behind
18
+ * the prompt. Reaching it is reported, never silent — a truncated index
19
+ * that says nothing is the defect this whole slice exists to remove.
20
+ */
21
+ export declare const QUERY_SWEEP_PAGE_MAX: number;
22
+ /**
23
+ * The listing the index feeds.
24
+ *
25
+ * A sweep that learns of queries the cached listing never had must drop
26
+ * that listing, or the operator keeps seeing the old truncated one until
27
+ * its TTL happens to expire — which is the same invisible-tail defect from
28
+ * a different direction.
29
+ */
30
+ export declare const QUERY_LOG_PATH: string;
31
+ /** What a sweep did, for the boot readout that reports it. */
32
+ export interface QuerySweepResult {
33
+ /** Records newly filed. */
34
+ indexed: number;
35
+ /** True when the sweep resumed from a restored index rather than rebuilding. */
36
+ resumed: boolean;
37
+ /** Pages fetched. */
38
+ pages: number;
39
+ /** True when the page bound stopped the walk before the collection did. */
40
+ bounded: boolean;
41
+ }
42
+ /**
43
+ * Turns one CUBE query record into an index entry.
44
+ *
45
+ * @param row - A row of the `pacs/queries` collection.
46
+ * @returns The entry, or null when the row carries no usable criteria.
47
+ */
48
+ export declare function queryRow_toEntry(row: Record<string, unknown>): QueryIndexEntry | null;
49
+ /**
50
+ * Files one query record, so the next identical question finds it.
51
+ *
52
+ * Called on every query mise runs. The index is then correct for anything
53
+ * this session did without the sweep having reached that far.
54
+ *
55
+ * @param row - The query record as CUBE returned it.
56
+ */
57
+ export declare function queryIndex_note(row: Record<string, unknown>): void;
58
+ /**
59
+ * Walks the query collection into the index.
60
+ *
61
+ * Newest first, resuming from the index's floor, until the collection is
62
+ * exhausted. Filters server-side by owner and status where those are given,
63
+ * since a query someone else asked, or one that failed, can never answer
64
+ * this identity's question.
65
+ *
66
+ * @param options - Server-side narrowing, typically owner and status.
67
+ * @returns What the sweep filed, or Err with the reason on the stack.
68
+ */
69
+ export declare function queryIndex_sweep(options?: PACSQueryListOptions): Promise<Result<QuerySweepResult>>;
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QUERY_LOG_PATH = exports.QUERY_SWEEP_PAGE_MAX = exports.QUERY_SWEEP_PAGE = void 0;
4
+ exports.queryRow_toEntry = queryRow_toEntry;
5
+ exports.queryIndex_note = queryIndex_note;
6
+ exports.queryIndex_sweep = queryIndex_sweep;
7
+ /**
8
+ * @file Filling the PACS query index from CUBE.
9
+ *
10
+ * CUBE cannot be asked which stored query had given criteria, so the
11
+ * collection is walked and what it holds is remembered. Two ways in:
12
+ *
13
+ * - `queryIndex_note` files one record, called whenever mise runs a query,
14
+ * so the common case never waits for a sweep at all;
15
+ * - `queryIndex_sweep` walks the back catalogue behind the prompt, newest
16
+ * first, resuming from the index's floor so it never re-walks what it
17
+ * already holds.
18
+ *
19
+ * The sweep is deliberately a background step. Every row of every page
20
+ * drags its compressed result along, so this is the expensive path — worth
21
+ * paying once, off the boot gate, never in front of an operator's query.
22
+ *
23
+ * @module
24
+ */
25
+ const errorStack_js_1 = require("../error/errorStack.js");
26
+ const result_js_1 = require("../utils/result.js");
27
+ const queryIndex_js_1 = require("../cache/queryIndex.js");
28
+ const chrisPACS_js_1 = require("./chrisPACS.js");
29
+ const listCache_js_1 = require("../cache/listCache.js");
30
+ /**
31
+ * How many records a sweep asks for at a time.
32
+ *
33
+ * Not a cap on what is indexed — the sweep pages until the collection is
34
+ * exhausted. Every row carries its compressed result whether or not this
35
+ * wants it, so the page is kept modest to bound each request rather than
36
+ * the walk.
37
+ */
38
+ exports.QUERY_SWEEP_PAGE = 100;
39
+ /**
40
+ * A safety stop on the number of pages one sweep will walk.
41
+ *
42
+ * The walk is bounded by the collection, not by this; the bound exists so
43
+ * that a CUBE which never reports a short page cannot spin forever behind
44
+ * the prompt. Reaching it is reported, never silent — a truncated index
45
+ * that says nothing is the defect this whole slice exists to remove.
46
+ */
47
+ exports.QUERY_SWEEP_PAGE_MAX = 200;
48
+ /**
49
+ * The listing the index feeds.
50
+ *
51
+ * A sweep that learns of queries the cached listing never had must drop
52
+ * that listing, or the operator keeps seeing the old truncated one until
53
+ * its TTL happens to expire — which is the same invisible-tail defect from
54
+ * a different direction.
55
+ */
56
+ exports.QUERY_LOG_PATH = "/net/pacs/queries";
57
+ /**
58
+ * Turns one CUBE query record into an index entry.
59
+ *
60
+ * @param row - A row of the `pacs/queries` collection.
61
+ * @returns The entry, or null when the row carries no usable criteria.
62
+ */
63
+ function queryRow_toEntry(row) {
64
+ const criteria = (0, queryIndex_js_1.queryCriteria_parse)(row.query);
65
+ if (criteria === null || Object.keys(criteria).length === 0)
66
+ return null;
67
+ const queryId = Number(row.id);
68
+ if (!Number.isFinite(queryId))
69
+ return null;
70
+ const answeredAt = typeof row.creation_date === "string"
71
+ ? row.creation_date
72
+ : new Date().toISOString();
73
+ const result = row.result;
74
+ return {
75
+ queryId,
76
+ server: typeof row.pacs_identifier === "string" ? row.pacs_identifier : "",
77
+ criteria,
78
+ owner: typeof row.owner_username === "string" ? row.owner_username : "",
79
+ answeredAt,
80
+ hasResult: typeof result === "string" && result.trim().length > 0,
81
+ };
82
+ }
83
+ /**
84
+ * Files one query record, so the next identical question finds it.
85
+ *
86
+ * Called on every query mise runs. The index is then correct for anything
87
+ * this session did without the sweep having reached that far.
88
+ *
89
+ * @param row - The query record as CUBE returned it.
90
+ */
91
+ function queryIndex_note(row) {
92
+ const entry = queryRow_toEntry(row);
93
+ if (entry === null)
94
+ return;
95
+ (0, queryIndex_js_1.queryIndex_get)().entry_note(entry);
96
+ }
97
+ /**
98
+ * Walks the query collection into the index.
99
+ *
100
+ * Newest first, resuming from the index's floor, until the collection is
101
+ * exhausted. Filters server-side by owner and status where those are given,
102
+ * since a query someone else asked, or one that failed, can never answer
103
+ * this identity's question.
104
+ *
105
+ * @param options - Server-side narrowing, typically owner and status.
106
+ * @returns What the sweep filed, or Err with the reason on the stack.
107
+ */
108
+ async function queryIndex_sweep(options = {}) {
109
+ const index = (0, queryIndex_js_1.queryIndex_get)();
110
+ // A restored index has already walked everything down to its floor, so
111
+ // the only records it can be missing are the ones that arrived since.
112
+ // Asking for those alone turns a rebuild into a top-up — which is the
113
+ // whole reason the index is persisted rather than swept every boot.
114
+ const newest = index.newest_get();
115
+ const resume = newest === null ? {} : { min_creation_date: newest };
116
+ let offset = 0;
117
+ let pages = 0;
118
+ let indexed = 0;
119
+ let oldest = null;
120
+ while (pages < exports.QUERY_SWEEP_PAGE_MAX) {
121
+ const page = await (0, chrisPACS_js_1.pacsQueries_list)({
122
+ ...resume,
123
+ ...options,
124
+ limit: exports.QUERY_SWEEP_PAGE,
125
+ offset,
126
+ });
127
+ if (!page.ok) {
128
+ errorStack_js_1.errorStack.stack_push("error", "PACS query sweep: could not read the query collection");
129
+ return (0, result_js_1.Err)();
130
+ }
131
+ const rows = page.value?.tableData ?? [];
132
+ pages += 1;
133
+ for (const row of rows) {
134
+ const entry = queryRow_toEntry(row);
135
+ if (entry === null)
136
+ continue;
137
+ index.entry_note(entry);
138
+ indexed += 1;
139
+ if (oldest === null || Date.parse(entry.answeredAt) < Date.parse(oldest)) {
140
+ oldest = entry.answeredAt;
141
+ }
142
+ }
143
+ // A short page is the collection's own end marker.
144
+ if (rows.length < exports.QUERY_SWEEP_PAGE) {
145
+ if (oldest !== null)
146
+ index.floor_set(oldest);
147
+ if (indexed > 0)
148
+ (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 });
150
+ }
151
+ offset += rows.length;
152
+ }
153
+ if (oldest !== null)
154
+ index.floor_set(oldest);
155
+ if (indexed > 0)
156
+ (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 });
158
+ }
159
+ //# sourceMappingURL=queryIndexSweep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryIndexSweep.js","sourceRoot":"","sources":["../../src/pacs/queryIndexSweep.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,18 @@ export interface FilteredResourceData {
57
57
  selectedFields: string[];
58
58
  /** Total count of items in the full collection (may exceed tableData.length when paginated). */
59
59
  totalCount?: number;
60
+ /**
61
+ * Set when the walk could not finish — a page the server refused, or a
62
+ * bound the caller asked for and the collection exceeded. A listing that
63
+ * is short must say so; a surface that renders `tableData` without
64
+ * reading this is showing a page and calling it the answer.
65
+ */
66
+ incomplete?: {
67
+ /** How many were gathered before it stopped. */
68
+ gathered: number;
69
+ /** Why it stopped, in words a surface can render. */
70
+ reason: string;
71
+ };
60
72
  }
61
73
  /**
62
74
  * A dictionary with string keys and primitive values.
@@ -14,6 +14,17 @@ const adapter_js_1 = require("../chrisapi/adapter.js");
14
14
  const chrisConnection_js_1 = require("../connect/chrisConnection.js");
15
15
  const config_js_1 = require("../config/config.js");
16
16
  const errorStack_js_1 = require("../error/errorStack.js");
17
+ /**
18
+ * A dictionary with string keys and primitive values.
19
+ */
20
+ /**
21
+ * How many records a page asks for.
22
+ *
23
+ * One number for every walk in this class: the paging loop and the bounded
24
+ * default read the same constant, so a page size cannot drift between the
25
+ * thing that walks and the thing that stops.
26
+ */
27
+ const PAGE_SIZE = 100;
17
28
  /**
18
29
  * Base class for managing ChRIS resources.
19
30
  */
@@ -154,15 +165,30 @@ class ChRISResource {
154
165
  * @returns A Promise resolving to FilteredResourceData containing all matching resources, or null.
155
166
  */
156
167
  async resources_getAll(options) {
157
- const limit = 100;
168
+ const limit = PAGE_SIZE;
158
169
  let offset = 0;
159
170
  let allTableData = [];
160
171
  let selectedFields = [];
161
172
  // If options has a limit, we should respect it? No, getAll implies fetching everything.
162
173
  // But we should respect filters.
174
+ let stopped = null;
163
175
  while (true) {
164
176
  const pageOptions = { ...options, limit, offset };
165
- const result = await this.resources_listAndFilterByOptions(pageOptions);
177
+ let result;
178
+ try {
179
+ result = this.resources_filterByFields(await this.resourceFields_get(await this.resources_getList(pageOptions)));
180
+ }
181
+ catch (error) {
182
+ // A walk that never started is a FAILED listing and stays a failure:
183
+ // callers check for one. A walk that started and then hit a page the
184
+ // server refused keeps its rows and says where it stopped — CUBE is
185
+ // known to fail some queries beyond a certain offset, and a short
186
+ // answer that reads as a complete one is the defect this fixes.
187
+ if (allTableData.length === 0)
188
+ throw error;
189
+ stopped = error instanceof Error ? error.message : String(error);
190
+ break;
191
+ }
166
192
  if (!result || !result.tableData) {
167
193
  break;
168
194
  }
@@ -193,6 +219,12 @@ class ChRISResource {
193
219
  tableData: allTableData,
194
220
  selectedFields,
195
221
  totalCount: allTableData.length,
222
+ ...(stopped === null ? {} : {
223
+ incomplete: {
224
+ gathered: allTableData.length,
225
+ reason: `stopped after ${allTableData.length}: ${stopped}`,
226
+ },
227
+ }),
196
228
  };
197
229
  }
198
230
  /**
@@ -201,11 +233,24 @@ class ChRISResource {
201
233
  * @returns A Promise resolving to filtered resource data or null.
202
234
  */
203
235
  async resources_listAndFilterByOptions(options) {
236
+ // No limit named means the whole collection: walk it. A caller that
237
+ // names one has asked a bounded question and gets exactly that page,
238
+ // marked short when the collection is bigger than the bound — a listing
239
+ // shows what is there, or says what it is not showing (#401).
240
+ if (options?.limit === undefined) {
241
+ return await this.resources_getAll(options);
242
+ }
204
243
  const results = this.resources_filterByFields(await this.resourceFields_get(await this.resources_getList(options)));
205
244
  if (results && (0, adapter_js_1.resource_isList)(this._resourceCollection)) {
206
245
  const total = this._resourceCollection.totalCount;
207
246
  if (total >= 0)
208
247
  results.totalCount = total;
248
+ if (total > results.tableData.length) {
249
+ results.incomplete = {
250
+ gathered: results.tableData.length,
251
+ reason: `showing ${results.tableData.length} of ${total} — the caller asked for ${options.limit}`,
252
+ };
253
+ }
209
254
  }
210
255
  return results;
211
256
  }
@@ -341,8 +386,13 @@ class ChRISResource {
341
386
  return filteredItems.length > 0 ? filteredItems : null;
342
387
  }
343
388
  async resources_getList(options, resourceMethod) {
389
+ // A caller that named no bound is asking for the collection, not for the
390
+ // first twenty of it. The default that used to sit here answered a
391
+ // different question than the one asked (#401), and said nothing about
392
+ // the difference. `resources_getAll` pages explicitly and passes its own
393
+ // limit, so it is unaffected.
344
394
  const params = {
345
- limit: 20,
395
+ limit: PAGE_SIZE,
346
396
  offset: 0,
347
397
  ...options,
348
398
  };