@fnndsc/brasa 0.35.1 → 0.36.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.
Files changed (57) hide show
  1. package/dist/buildinfo.json +1 -1
  2. package/dist/builtins/fs/ls.js +35 -0
  3. package/dist/builtins/fs/ls.js.map +1 -1
  4. package/dist/builtins/help.d.ts +5 -0
  5. package/dist/builtins/help.js +90 -17
  6. package/dist/builtins/help.js.map +1 -1
  7. package/dist/builtins/net/query.csv.d.ts +1 -18
  8. package/dist/builtins/net/query.csv.js +43 -3
  9. package/dist/builtins/net/query.csv.js.map +1 -1
  10. package/dist/builtins/net/query.ignored.d.ts +16 -0
  11. package/dist/builtins/net/query.ignored.js +64 -0
  12. package/dist/builtins/net/query.ignored.js.map +1 -0
  13. package/dist/builtins/net/query.js +14 -66
  14. package/dist/builtins/net/query.js.map +1 -1
  15. package/dist/builtins/net/query.view.d.ts +8 -0
  16. package/dist/builtins/net/query.view.js +74 -0
  17. package/dist/builtins/net/query.view.js.map +1 -0
  18. package/dist/builtins/proc.js +40 -1
  19. package/dist/builtins/proc.js.map +1 -1
  20. package/dist/builtins/pronouns.d.ts +8 -0
  21. package/dist/builtins/pronouns.js +39 -0
  22. package/dist/builtins/pronouns.js.map +1 -0
  23. package/dist/builtins/res/gather.js +27 -8
  24. package/dist/builtins/res/gather.js.map +1 -1
  25. package/dist/builtins/sys/command.d.ts +20 -0
  26. package/dist/builtins/sys/command.js +40 -0
  27. package/dist/builtins/sys/command.js.map +1 -0
  28. package/dist/builtins/sys/grep.d.ts +48 -0
  29. package/dist/builtins/sys/grep.js +327 -0
  30. package/dist/builtins/sys/grep.js.map +1 -0
  31. package/dist/chris/commandFallback.js +15 -0
  32. package/dist/chris/commandFallback.js.map +1 -1
  33. package/dist/chris/help.d.ts +2 -0
  34. package/dist/chris/help.js +91 -16
  35. package/dist/chris/help.js.map +1 -1
  36. package/dist/chris/references.js +2 -2
  37. package/dist/chris/references.js.map +1 -1
  38. package/dist/core/backend.d.ts +6 -0
  39. package/dist/core/backend.js.map +1 -1
  40. package/dist/core/commandRegistry.d.ts +6 -0
  41. package/dist/core/commandRegistry.js.map +1 -1
  42. package/dist/core/coreCommands.js +6 -0
  43. package/dist/core/coreCommands.js.map +1 -1
  44. package/dist/core/dispatch.js +32 -5
  45. package/dist/core/dispatch.js.map +1 -1
  46. package/dist/core/expansion.js +16 -5
  47. package/dist/core/expansion.js.map +1 -1
  48. package/dist/core/listing.d.ts +50 -0
  49. package/dist/core/listing.js +76 -0
  50. package/dist/core/listing.js.map +1 -0
  51. package/dist/notes.json +1 -1
  52. package/dist/session/answer.d.ts +82 -0
  53. package/dist/session/answer.js +129 -9
  54. package/dist/session/answer.js.map +1 -1
  55. package/dist/session/answerAdapters.js +39 -3
  56. package/dist/session/answerAdapters.js.map +1 -1
  57. package/package.json +4 -4
@@ -1 +1 @@
1
- {"hash":"b2d93d"}
1
+ {"hash":"e17e43"}
@@ -2,6 +2,7 @@
2
2
  * @file Builtin ls command.
3
3
  * Lists directory contents.
4
4
  */
5
+ import { answerNumbering_of, handle_word, numberedFooter_of } from '../../session/answer.js';
5
6
  import chalk from 'chalk';
6
7
  import { commandArgs_process, optionsUnknown_refusal, path_resolve } from '../utils.js';
7
8
  import { listingCache_get, vfsDispatcher_get } from '../../core/filesystem.js';
@@ -58,6 +59,35 @@ export async function builtin_ls(args) {
58
59
  refresh: !!parsed['refresh'] || !!parsed['f'],
59
60
  });
60
61
  }
62
+ /**
63
+ * Prefixes each entry line of a long listing with its handle, and adds the
64
+ * footer. The handles come from the listing's own numbering; when the lines
65
+ * and the entries do not pair one to one, the listing is left as it was
66
+ * rather than wearing numbers that could be wrong.
67
+ *
68
+ * @param rendered - The long listing as drawn.
69
+ * @param listings - The entries, per target, in drawn order.
70
+ * @returns The listing with handles, or as it was.
71
+ */
72
+ function longHandles_add(rendered, listings) {
73
+ const handles = answerNumbering_of('fs.listing', listings) ?? [];
74
+ if (handles.length === 0)
75
+ return rendered;
76
+ const lines = rendered.split('\n');
77
+ const entry = (line) => /^[dl-] /.test(line.replace(/\x1b\[[0-9;]*m/g, ''));
78
+ if (lines.filter(entry).length !== handles.length)
79
+ return rendered;
80
+ const width = Math.max(...handles.map((handle) => handle_word(handle).length));
81
+ let at = 0;
82
+ const out = lines.map((line) => {
83
+ if (!entry(line))
84
+ return line;
85
+ const handle = handles[at++];
86
+ return `${chalk.cyan((handle === undefined ? '' : handle_word(handle)).padEnd(width))} ${line}`;
87
+ });
88
+ const text = out.join('\n');
89
+ return `${text}${text.endsWith('\n') ? '' : '\n'}${chalk.gray(numberedFooter_of(handles))}\n`;
90
+ }
61
91
  /**
62
92
  * Whether a path is a folder, as its parent lists it (a mount point counts).
63
93
  *
@@ -167,6 +197,11 @@ export async function ls_run(runOptions) {
167
197
  if (anyFailed) {
168
198
  process.exitCode = 1;
169
199
  }
200
+ // The long form is a table: each entry wears the handle an index expands
201
+ // to (#1099), and a footer says what is numbered. The short grid stays the
202
+ // POSIX grid.
203
+ if (options.long)
204
+ rendered = longHandles_add(rendered, listings);
170
205
  const result = { status: anyFailed ? 'error' : 'ok', rendered };
171
206
  result.model = { kind: 'fs.listing', data: listings };
172
207
  if (renderedErr.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/builtins/fs/ls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/builtins/fs/ls.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,11 @@ export declare function args_checkHasHelpFlag(args: string[], command?: string):
85
85
  * @param args - Command arguments (optional command name).
86
86
  */
87
87
  export declare function builtin_help(args: string[]): Promise<CommandEnvelope>;
88
+ /**
89
+ * The groups `help` lists commands under, in order. A command declares its
90
+ * own (`category` on its help entry); the games shelf is its own page.
91
+ */
92
+ export declare const HELP_CATEGORIES: ReadonlyArray<string>;
88
93
  /**
89
94
  * Gets the list of all builtin command names.
90
95
  *
@@ -5,6 +5,7 @@
5
5
  *
6
6
  * @module
7
7
  */
8
+ import { pronounsPage_render } from './pronouns.js';
8
9
  import { gamesShelf_render, gamesShelf_names } from './games/shelf.js';
9
10
  import chalk from 'chalk';
10
11
  import { CAT_USAGE } from './fs/cat.args.js';
@@ -15,6 +16,7 @@ import { backendInstalled_get } from '../core/backend.js';
15
16
  */
16
17
  export const helpText = {
17
18
  sudo: {
19
+ category: 'Administration',
18
20
  usage: 'sudo <command> [arguments...]',
19
21
  description: 'Run one ChRIS command with a temporary administrator identity',
20
22
  options: [
@@ -27,6 +29,7 @@ export const helpText = {
27
29
  ],
28
30
  },
29
31
  ls: {
32
+ category: 'Navigation',
30
33
  usage: 'ls [options] [path]',
31
34
  description: 'List directory contents',
32
35
  options: [
@@ -53,6 +56,7 @@ export const helpText = {
53
56
  ],
54
57
  },
55
58
  cd: {
59
+ category: 'Navigation',
56
60
  usage: 'cd [path]',
57
61
  description: 'Change current working directory',
58
62
  examples: [
@@ -63,8 +67,48 @@ export const helpText = {
63
67
  'cd # Show current directory',
64
68
  ],
65
69
  },
70
+ command: {
71
+ category: 'General',
72
+ usage: 'command <name> [args...]',
73
+ summary: 'Run the system program of a name, not the builtin',
74
+ description: 'Run the system program of a name, skipping the chell builtin of the same name',
75
+ options: [
76
+ 'The whole line goes to the host shell as command <name> <args>, reading',
77
+ 'whatever was piped in: query … | command grep -i t1 is plain text grep.',
78
+ 'command -v <name> answers as the host shell does.',
79
+ ],
80
+ examples: ['query PatientID:1234567 | command grep -i t1', 'command -v grep'],
81
+ },
82
+ grep: {
83
+ category: 'File Operations',
84
+ usage: 'grep [-ivwEFc] [-e PATTERN]... [PATTERN]',
85
+ summary: 'Keep the lines, or the rows of a numbered listing, that match',
86
+ description: 'Filter text, or a numbered listing keeping its handles',
87
+ options: [
88
+ ' -i ignore case -v keep what does not match -w whole words',
89
+ ' -E extended regex -F fixed strings -c count only',
90
+ ' -e PATTERN a pattern (repeatable: any of them matches)',
91
+ '',
92
+ 'Fed a numbered listing (piped in, or the held one when nothing is piped),',
93
+ 'grep keeps rows: a matching row stays with the rows above it, a matched',
94
+ 'group keeps all of its rows, and every kept row keeps its handle (@SER41',
95
+ 'stays @SER41). What it kept becomes the listing @ and ${listing} name.',
96
+ '-c counts and changes nothing.',
97
+ '',
98
+ 'Text in, or any other flag or a file operand, is the system grep. To skip',
99
+ 'this builtin entirely: command grep …',
100
+ ],
101
+ examples: [
102
+ 'query PatientID:1234567,Modality:MR | grep -i t1 | grep -vi gadavist',
103
+ 'grep -i -e t1 -e mprage',
104
+ 'gather list | grep -i sag | gather remove',
105
+ 'cat notes.txt | grep -c todo',
106
+ ],
107
+ },
66
108
  url: {
109
+ category: 'Sharing & Tags',
67
110
  usage: 'url [path]',
111
+ summary: 'Print a web address that opens ARGUS at a path, to send to a colleague',
68
112
  description: 'Print a web address that opens ARGUS at a path (a feed or node lands in RUNS, anything else in FILES)',
69
113
  options: [],
70
114
  examples: [
@@ -76,6 +120,7 @@ export const helpText = {
76
120
  ],
77
121
  },
78
122
  pwd: {
123
+ category: 'Navigation',
79
124
  usage: 'pwd [options]',
80
125
  description: 'Print current working directory',
81
126
  options: [
@@ -94,6 +139,7 @@ export const helpText = {
94
139
  ],
95
140
  },
96
141
  cat: {
142
+ category: 'File Operations',
97
143
  usage: CAT_USAGE,
98
144
  description: 'Display file contents, with terminal syntax highlighting for recognized text formats',
99
145
  options: [
@@ -111,6 +157,7 @@ export const helpText = {
111
157
  ],
112
158
  },
113
159
  rm: {
160
+ category: 'File Operations',
114
161
  usage: 'rm [options] <path> [path...]',
115
162
  description: 'Remove files or directories',
116
163
  options: [
@@ -134,6 +181,7 @@ export const helpText = {
134
181
  ],
135
182
  },
136
183
  cp: {
184
+ category: 'File Operations',
137
185
  usage: 'cp [-t <dir>] [options] <source...> [dest]',
138
186
  description: 'Copy files or directories (supports wildcards and multiple sources)',
139
187
  options: [
@@ -159,6 +207,7 @@ export const helpText = {
159
207
  ],
160
208
  },
161
209
  mv: {
210
+ category: 'File Operations',
162
211
  usage: 'mv [-t <dir>] <source...> [dest]',
163
212
  description: 'Move or rename files or directories (supports wildcards and multiple sources)',
164
213
  options: [
@@ -174,6 +223,7 @@ export const helpText = {
174
223
  ],
175
224
  },
176
225
  touch: {
226
+ category: 'File Operations',
177
227
  usage: 'touch [options] <file>',
178
228
  description: 'Create empty files or files with content',
179
229
  options: [
@@ -187,6 +237,7 @@ export const helpText = {
187
237
  ],
188
238
  },
189
239
  mkdir: {
240
+ category: 'File Operations',
190
241
  usage: 'mkdir [-p] <directory> [directory...]',
191
242
  description: 'Create directories',
192
243
  options: [
@@ -201,6 +252,7 @@ export const helpText = {
201
252
  ],
202
253
  },
203
254
  rmdir: {
255
+ category: 'File Operations',
204
256
  usage: 'rmdir <directory> [directory...]',
205
257
  summary: 'Remove empty directories',
206
258
  description: 'Removes each folder only when it is empty, as on Linux: one that holds anything is '
@@ -211,16 +263,19 @@ export const helpText = {
211
263
  ],
212
264
  },
213
265
  exit: {
266
+ category: 'General',
214
267
  usage: 'exit',
215
268
  description: 'Exit the shell',
216
269
  examples: ['exit'],
217
270
  },
218
271
  version: {
272
+ category: 'General',
219
273
  usage: 'version',
220
274
  description: 'Report the versions of the mise stack layers running this session',
221
275
  examples: ['version'],
222
276
  },
223
277
  fortune: {
278
+ category: 'Games and utilities',
224
279
  usage: 'fortune',
225
280
  summary: 'Print a random fortune cookie',
226
281
  description: 'Prints a random fortune — the classic UNIX fortune cookie, bundled and self-contained.',
@@ -460,12 +515,14 @@ export const helpText = {
460
515
  examples: ['2048'],
461
516
  },
462
517
  notes: {
518
+ category: 'General',
463
519
  usage: 'notes [--since N|YYYY-MM-DD] [--all] [--long]',
464
520
  summary: 'What the installed releases changed, for the operator',
465
521
  description: 'Reads the release notes shipped with the packages installed where this session runs — argus, brasa, chell, calypso, porter — and lists the newest release: one row per change, the package tagged. --since N shows the last N releases, --since DATE everything from a day on; --long unfolds each change beneath its first sentence; --all includes the changes marked Internal. help notes is the same. In ARGUS the WHAT\'S NEW block opens them as a listing.',
466
522
  examples: ['notes', 'notes --since 3', 'notes --since 2026-10-01 --long', 'notes --all'],
467
523
  },
468
524
  weather: {
525
+ category: 'Games and utilities',
469
526
  usage: 'weather [place] [-u|--units metric|imperial] [-d|--days N]',
470
527
  summary: 'The weather at a place, now and the next few days',
471
528
  description: 'Reports the current conditions and a short forecast for a place, from Open-Meteo (no key, no account). The place is found by name; with none given it is Boston. Metric (°C, km/h) unless --units imperial asks for °F and mph. The call is made from the session host, so it needs that host to reach the internet.',
@@ -476,6 +533,7 @@ export const helpText = {
476
533
  examples: ['weather', 'weather Cape Town', 'weather Boston --units imperial', 'weather Paris -d 7'],
477
534
  },
478
535
  date: {
536
+ category: 'General',
479
537
  usage: 'date [-u] [+FORMAT]',
480
538
  summary: 'Print the current date and time',
481
539
  description: 'Prints the current date and time, in the spirit of UNIX date. Use -u for UTC and +FORMAT for a strftime-style format string. Reports the time only; it never sets the clock.',
@@ -486,12 +544,14 @@ export const helpText = {
486
544
  examples: ['date', 'date -u', 'date +%Y-%m-%d', 'date "+%A, %B %e %Y"'],
487
545
  },
488
546
  cal: {
547
+ category: 'Games and utilities',
489
548
  usage: 'cal [[month] year]',
490
549
  summary: 'Print a calendar',
491
550
  description: 'Prints a month or year calendar with today highlighted, in the spirit of UNIX cal.',
492
551
  examples: ['cal', 'cal 2026', 'cal 7 2026'],
493
552
  },
494
553
  prompt: {
554
+ category: 'Shell Settings',
495
555
  usage: 'prompt [list | <theme>]',
496
556
  description: 'List available prompt themes or switch the active theme',
497
557
  options: [
@@ -506,6 +566,7 @@ export const helpText = {
506
566
  ],
507
567
  },
508
568
  timing: {
569
+ category: 'Shell Settings',
509
570
  usage: 'timing [on|off]',
510
571
  description: 'Toggle or display command timing mode',
511
572
  options: [
@@ -519,6 +580,7 @@ export const helpText = {
519
580
  ],
520
581
  },
521
582
  debug: {
583
+ category: 'Shell Settings',
522
584
  usage: 'debug [on|off]',
523
585
  description: 'Toggle or display debug mode (verbose logging)',
524
586
  options: [
@@ -532,6 +594,7 @@ export const helpText = {
532
594
  ],
533
595
  },
534
596
  help: {
597
+ category: 'General',
535
598
  usage: 'help [command]',
536
599
  description: 'Display help information',
537
600
  examples: [
@@ -542,6 +605,7 @@ export const helpText = {
542
605
  ],
543
606
  },
544
607
  '!': {
608
+ category: 'General',
545
609
  usage: '! <shell_command>',
546
610
  description: 'Execute command on host shell (shell escape)',
547
611
  examples: [
@@ -817,6 +881,11 @@ export function args_checkHasHelpFlag(args, command) {
817
881
  */
818
882
  export async function builtin_help(args) {
819
883
  const commandName = args.length > 0 ? args.join(' ') : undefined;
884
+ // The pronouns: the core's page, with whatever the backend answers too.
885
+ if (commandName === 'pronouns') {
886
+ const backendPage = (await backendInstalled_get()?.fallback?.help?.('pronouns')) ?? null;
887
+ return { status: 'ok', rendered: backendPage ?? pronounsPage_render([]) };
888
+ }
820
889
  // The shelf: its own page, in the style of this one.
821
890
  if (commandName === 'games') {
822
891
  return { status: 'ok', rendered: gamesShelf_render(commandSummary_get) };
@@ -844,22 +913,13 @@ export async function builtin_help(args) {
844
913
  rendered += `${chalk.bold.cyan('ChELL - Available Commands')}\n`;
845
914
  rendered += `${chalk.gray('─'.repeat(60))}\n`;
846
915
  rendered += '\n';
847
- // Group commands by category
848
- const categories = {
849
- Navigation: ['cd', 'pwd', 'ls', 'tree', 'du'],
850
- 'File Operations': ['cat', 'edit', 'cp', 'mv', 'rm', 'touch', 'mkdir', 'rmdir', 'upload', 'download'],
851
- 'Sharing & Tags': ['setfacl', 'getfacl', 'chmod', 'getfattr', 'setfattr'],
852
- Connection: ['connect', 'logout', 'context', 'id', 'whoami', 'whereami', 'netstat'],
853
- Monitoring: ['proc'],
854
- Imaging: ['dcm', 'image'],
855
- 'Single Resource': ['plugin', 'pipeline', 'feed', 'tag', 'group', 'pluginmeta', 'plugininstance', 'workflow'],
856
- 'Resource Collections': ['plugins', 'feeds', 'files', 'links', 'dirs', 'store', 'compute', 'tags', 'groups', 'pluginmetas', 'plugininstances', 'workflows', 'parametersofplugin'],
857
- PACS: ['pacs', 'pacsservers', 'pacsqueries', 'pacsretrieve'],
858
- Administration: ['sudo', 'user'],
859
- 'Shell Settings': ['physicalmode', 'prompt', 'timing', 'debug'],
860
- 'Games and utilities': ['fortune', 'cal', 'weather', 'motd'],
861
- General: ['help', 'notes', 'date', 'exit', '!'],
862
- };
916
+ // Group commands by the category each declares (HELP_CATEGORIES order).
917
+ const categories = Object.fromEntries(HELP_CATEGORIES.map((category) => [category, []]));
918
+ for (const name of helpTopic_names()) {
919
+ const category = commandHelpEntry_get(name)?.category;
920
+ if (category !== undefined && name.indexOf(' ') < 0)
921
+ (categories[category] ??= []).push(name);
922
+ }
863
923
  // Display commands by category
864
924
  for (const [category, commands] of Object.entries(categories)) {
865
925
  const runnable = commands.filter((cmd) => verb_available(cmd) && commandHelpEntry_get(cmd) !== undefined);
@@ -882,15 +942,28 @@ export async function builtin_help(args) {
882
942
  }
883
943
  // Display Shell Features
884
944
  rendered += `${chalk.bold.yellow('Shell Features')}\n`;
885
- rendered += ` ${chalk.cyan('Pipes'.padEnd(20))} ${chalk.gray('Chain commands: cat file.txt | wc -l')}\n`;
945
+ rendered += ` ${chalk.cyan('Pipes'.padEnd(20))} ${chalk.gray('Chain commands: cat file.txt | wc -l; a numbered listing travels to the next builtin: query … | gather add')}\n`;
886
946
  rendered += ` ${chalk.cyan('Redirection >'.padEnd(20))} ${chalk.gray('Write to file: cat file.txt > output.txt')}\n`;
887
947
  rendered += ` ${chalk.cyan('Redirection >>'.padEnd(20))} ${chalk.gray('Append to file: cat file.txt >> output.txt')}\n`;
948
+ rendered += ` ${chalk.cyan('Listing-aware grep'.padEnd(20))} ${chalk.gray('Filter a numbered listing, keeping its handles: … | grep -i t1 (help grep)')}\n`;
949
+ rendered += ` ${chalk.cyan('command'.padEnd(20))} ${chalk.gray('Run the system program, not the builtin: … | command grep -i t1')}\n`;
950
+ rendered += ` ${chalk.cyan('Index handles'.padEnd(20))} ${chalk.gray('Name rows of the last numbered listing: gather add @SER3 @SER1-4 @SER2,5,7')}\n`;
951
+ rendered += ` ${chalk.cyan('Pronouns ${…}'.padEnd(20))} ${chalk.gray('What this session just made or asked, as ${name}: ${cwd} … (help pronouns)')}\n`;
888
952
  rendered += '\n';
889
953
  rendered += `${chalk.gray('Type "help <command>" for detailed information about a command.')}\n`;
890
954
  rendered += `${chalk.gray('Type "<command> --help" for quick help on any command.')}\n`;
891
955
  rendered += '\n';
892
956
  return { status: 'ok', rendered };
893
957
  }
958
+ /**
959
+ * The groups `help` lists commands under, in order. A command declares its
960
+ * own (`category` on its help entry); the games shelf is its own page.
961
+ */
962
+ export const HELP_CATEGORIES = [
963
+ 'Navigation', 'File Operations', 'Sharing & Tags', 'Connection', 'Monitoring', 'Imaging',
964
+ 'Workflows & Cohorts', 'Single Resource', 'Resource Collections', 'PACS', 'Administration',
965
+ 'Shell Settings', 'Games and utilities', 'General',
966
+ ];
894
967
  /**
895
968
  * Gets the list of all builtin command names.
896
969
  *
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/builtins/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/builtins/help.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,3 @@
1
- /**
2
- * @file A PACS answer as a table a spreadsheet can read.
3
- *
4
- * There has been a `--csv` on listings since chili, and it renders the same
5
- * way this does — headers uppercased, every cell quoted, embedded quotes
6
- * doubled — but it renders it inside a chili handler rather than from a
7
- * function anything else can call. Rather than grow a dependency on a
8
- * package the stack is trying to shed, the rule is stated here, once, and
9
- * the PACS answer is the first thing to use it.
10
- *
11
- * The shape is settled by doctrine rather than by convenience: a row per
12
- * STUDY (or, asked with `--series`, per series), and a row for every
13
- * patient that owns none. The MRNs that come
14
- * back are the ones with imaging, so a table built from studies alone
15
- * would quietly drop exactly the rows an audit is asking about.
16
- *
17
- * @module
18
- */
19
1
  import type { PacsQueryModel } from '@fnndsc/menu';
20
2
  /**
21
3
  * How far down an answer's rows go: one per STUDY (the audit's grain, and
@@ -38,6 +20,7 @@ export type PacsAnswerLevel = 'study' | 'series';
38
20
  export declare function pacsAnswer_rows(model: PacsQueryModel, level?: PacsAnswerLevel): {
39
21
  columns: ReadonlyArray<string>;
40
22
  rows: string[][];
23
+ keys: Array<string | null>;
41
24
  };
42
25
  /**
43
26
  * Renders one answer as CSV.
@@ -1,3 +1,22 @@
1
+ /**
2
+ * @file A PACS answer as a table a spreadsheet can read.
3
+ *
4
+ * There has been a `--csv` on listings since chili, and it renders the same
5
+ * way this does — headers uppercased, every cell quoted, embedded quotes
6
+ * doubled — but it renders it inside a chili handler rather than from a
7
+ * function anything else can call. Rather than grow a dependency on a
8
+ * package the stack is trying to shed, the rule is stated here, once, and
9
+ * the PACS answer is the first thing to use it.
10
+ *
11
+ * The shape is settled by doctrine rather than by convenience: a row per
12
+ * STUDY (or, asked with `--series`, per series), and a row for every
13
+ * patient that owns none. The MRNs that come
14
+ * back are the ones with imaging, so a table built from studies alone
15
+ * would quietly drop exactly the rows an audit is asking about.
16
+ *
17
+ * @module
18
+ */
19
+ import { answerNumbering_of, handleWords_of, numberedFooter_of } from '../../session/answer.js';
1
20
  /** The columns of a study-level table, in reading order. */
2
21
  const STUDY_COLUMNS = [
3
22
  'MRN', 'PATIENT', 'SERVER', 'STATUS', 'STUDY', 'DATE',
@@ -40,19 +59,27 @@ function cell_quote(value) {
40
59
  */
41
60
  export function pacsAnswer_rows(model, level = 'study') {
42
61
  const rows = [];
62
+ // What each row is, for the handle a screen prints beside it (`STD:<path>`,
63
+ // `SER:<path>`); null for a row nothing numbers. Never in the CSV.
64
+ const keys = [];
43
65
  const patients = model.patients ?? [];
44
66
  const studiesOf = (patient) => model.studies.filter((study) => study.patientId === patient.patientId
45
67
  && (patient.server === undefined || study.server === undefined || study.server === patient.server));
46
68
  const study_rows = (study, facts) => {
47
69
  if (level === 'study') {
70
+ keys.push(study.vfsPath === undefined ? null : `STD:${study.vfsPath}`);
48
71
  return [[
49
72
  facts.mrn, study.patientName, facts.server, facts.status, study.description, study.date,
50
73
  study.accession, study.modalities, String(study.series.length), facts.answeredAt,
51
74
  ]];
52
75
  }
53
76
  const lead = [facts.mrn, study.patientName, facts.server, facts.status, study.description, study.date, study.accession];
54
- if (study.series.length === 0)
77
+ if (study.series.length === 0) {
78
+ keys.push(null);
55
79
  return [[...lead, '', '', '', '', '', facts.answeredAt]];
80
+ }
81
+ for (const series of study.series)
82
+ keys.push(series.vfsPath === undefined ? null : `SER:${series.vfsPath}`);
56
83
  return study.series.map((series, index) => [
57
84
  ...lead,
58
85
  String(index + 1),
@@ -76,6 +103,7 @@ export function pacsAnswer_rows(model, level = 'study') {
76
103
  // audit is usually about: a patient with no imaging, or one whose
77
104
  // question could not be asked at all.
78
105
  rows.push(patient_row(patient, server, answeredAt));
106
+ keys.push(null);
79
107
  continue;
80
108
  }
81
109
  for (const study of owned) {
@@ -93,7 +121,7 @@ export function pacsAnswer_rows(model, level = 'study') {
93
121
  }));
94
122
  }
95
123
  }
96
- return { columns: level === 'study' ? STUDY_COLUMNS : SERIES_COLUMNS, rows };
124
+ return { columns: level === 'study' ? STUDY_COLUMNS : SERIES_COLUMNS, rows, keys };
97
125
  }
98
126
  /**
99
127
  * Renders one answer as CSV.
@@ -125,7 +153,16 @@ export function pacsAnswer_toCsv(model, level = 'study') {
125
153
  * @returns The table, header and rule first, uncoloured.
126
154
  */
127
155
  export function pacsAnswer_toTable(model, level = 'study') {
128
- const { columns, rows } = pacsAnswer_rows(model, level);
156
+ const table = pacsAnswer_rows(model, level);
157
+ // The handle each row answers to leads the screen's table (#1099); the
158
+ // CSV, a record of the answer, does not carry it.
159
+ const numbered = answerNumbering_of('pacs.query', model) ?? [];
160
+ const words = handleWords_of(numbered);
161
+ // A column is earned: an answer nothing numbers (no paths yet) keeps the
162
+ // table it always had.
163
+ const lead = table.keys.some((key) => key !== null && words.has(key));
164
+ const columns = lead ? ['@', ...table.columns] : table.columns;
165
+ const rows = lead ? table.rows.map((row, at) => [words.get(table.keys[at] ?? '') ?? '', ...row]) : table.rows;
129
166
  const shown = columns.map((_, index) => index).filter((index) => columns[index] !== 'ANSWERED');
130
167
  const widths = shown.map((index) => Math.max(columns[index]?.length ?? 0, ...rows.map((row) => (row[index] ?? '').length)));
131
168
  const line = (cells) => ` ${shown.map((index, at) => (cells[index] ?? '').padEnd(widths[at] ?? 0)).join(' ').trimEnd()}`;
@@ -133,6 +170,9 @@ export function pacsAnswer_toTable(model, level = 'study') {
133
170
  for (const row of rows)
134
171
  out.push(line(row));
135
172
  out.push('', ` ${rows.length} row${rows.length === 1 ? '' : 's'}, one per ${level}`);
173
+ const footer = numberedFooter_of(numbered);
174
+ if (footer !== '')
175
+ out.push(` ${footer}`);
136
176
  return `${out.join('\n')}\n`;
137
177
  }
138
178
  /**