@fnndsc/brasa 0.9.1 → 0.10.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 (153) hide show
  1. package/dist/buildinfo.json +1 -0
  2. package/dist/builtins/argumentTokens.d.ts +18 -0
  3. package/dist/builtins/argumentTokens.js +58 -0
  4. package/dist/builtins/argumentTokens.js.map +1 -0
  5. package/dist/builtins/executable.d.ts +3 -7
  6. package/dist/builtins/executable.js +32 -29
  7. package/dist/builtins/executable.js.map +1 -1
  8. package/dist/builtins/feedCreation.d.ts +23 -0
  9. package/dist/builtins/feedCreation.js +45 -0
  10. package/dist/builtins/feedCreation.js.map +1 -0
  11. package/dist/builtins/fs/cat.args.d.ts +36 -0
  12. package/dist/builtins/fs/cat.args.js +63 -0
  13. package/dist/builtins/fs/cat.args.js.map +1 -0
  14. package/dist/builtins/fs/cat.d.ts +2 -2
  15. package/dist/builtins/fs/cat.js +222 -101
  16. package/dist/builtins/fs/cat.js.map +1 -1
  17. package/dist/builtins/fs/cd.js +42 -6
  18. package/dist/builtins/fs/cd.js.map +1 -1
  19. package/dist/builtins/fs/cp.js +3 -2
  20. package/dist/builtins/fs/cp.js.map +1 -1
  21. package/dist/builtins/fs/download.d.ts +1 -1
  22. package/dist/builtins/fs/download.js +52 -13
  23. package/dist/builtins/fs/download.js.map +1 -1
  24. package/dist/builtins/fs/du.js +15 -1
  25. package/dist/builtins/fs/du.js.map +1 -1
  26. package/dist/builtins/fs/ls.js +10 -1
  27. package/dist/builtins/fs/ls.js.map +1 -1
  28. package/dist/builtins/fs/mv.js +7 -3
  29. package/dist/builtins/fs/mv.js.map +1 -1
  30. package/dist/builtins/fs/pull.args.d.ts +14 -1
  31. package/dist/builtins/fs/pull.args.js +72 -9
  32. package/dist/builtins/fs/pull.args.js.map +1 -1
  33. package/dist/builtins/fs/pull.d.ts +1 -0
  34. package/dist/builtins/fs/pull.js +191 -259
  35. package/dist/builtins/fs/pull.js.map +1 -1
  36. package/dist/builtins/fs/rm.js +4 -0
  37. package/dist/builtins/fs/rm.js.map +1 -1
  38. package/dist/builtins/fs/tree.js +7 -3
  39. package/dist/builtins/fs/tree.js.map +1 -1
  40. package/dist/builtins/fs/upload.js +29 -2
  41. package/dist/builtins/fs/upload.js.map +1 -1
  42. package/dist/builtins/help.d.ts +7 -0
  43. package/dist/builtins/help.js +148 -38
  44. package/dist/builtins/help.js.map +1 -1
  45. package/dist/builtins/index.d.ts +1 -0
  46. package/dist/builtins/index.js +1 -0
  47. package/dist/builtins/index.js.map +1 -1
  48. package/dist/builtins/net/pacs.d.ts +1 -0
  49. package/dist/builtins/net/pacs.js +5 -1
  50. package/dist/builtins/net/pacs.js.map +1 -1
  51. package/dist/builtins/net/pacsUtils.d.ts +5 -4
  52. package/dist/builtins/net/pacsUtils.js +12 -32
  53. package/dist/builtins/net/pacsUtils.js.map +1 -1
  54. package/dist/builtins/net/query.js +4 -1
  55. package/dist/builtins/net/query.js.map +1 -1
  56. package/dist/builtins/net/status.d.ts +14 -0
  57. package/dist/builtins/net/status.js +210 -0
  58. package/dist/builtins/net/status.js.map +1 -0
  59. package/dist/builtins/pluginExecute.d.ts +3 -2
  60. package/dist/builtins/pluginExecute.js +41 -69
  61. package/dist/builtins/pluginExecute.js.map +1 -1
  62. package/dist/builtins/pluginSelector.d.ts +15 -0
  63. package/dist/builtins/pluginSelector.js +21 -0
  64. package/dist/builtins/pluginSelector.js.map +1 -0
  65. package/dist/builtins/proc.js +193 -10
  66. package/dist/builtins/proc.js.map +1 -1
  67. package/dist/builtins/res/compute.js +8 -3
  68. package/dist/builtins/res/compute.js.map +1 -1
  69. package/dist/builtins/res/group.d.ts +1 -1
  70. package/dist/builtins/res/group.js +122 -5
  71. package/dist/builtins/res/group.js.map +1 -1
  72. package/dist/builtins/res/pipeline.args.d.ts +4 -0
  73. package/dist/builtins/res/pipeline.args.js +63 -12
  74. package/dist/builtins/res/pipeline.args.js.map +1 -1
  75. package/dist/builtins/res/pipeline.d.ts +3 -1
  76. package/dist/builtins/res/pipeline.js +155 -60
  77. package/dist/builtins/res/pipeline.js.map +1 -1
  78. package/dist/builtins/res/pipeline.manifest.d.ts +15 -0
  79. package/dist/builtins/res/pipeline.manifest.js +93 -0
  80. package/dist/builtins/res/pipeline.manifest.js.map +1 -0
  81. package/dist/builtins/res/plugin.js +14 -7
  82. package/dist/builtins/res/plugin.js.map +1 -1
  83. package/dist/builtins/res/user.d.ts +8 -0
  84. package/dist/builtins/res/user.js +87 -0
  85. package/dist/builtins/res/user.js.map +1 -0
  86. package/dist/builtins/store.js +24 -3
  87. package/dist/builtins/store.js.map +1 -1
  88. package/dist/builtins/sys/fortune.d.ts +9 -0
  89. package/dist/builtins/sys/fortune.js +16 -1
  90. package/dist/builtins/sys/fortune.js.map +1 -1
  91. package/dist/builtins/sys/whoami.d.ts +13 -1
  92. package/dist/builtins/sys/whoami.js +47 -2
  93. package/dist/builtins/sys/whoami.js.map +1 -1
  94. package/dist/builtins/utils.d.ts +14 -1
  95. package/dist/builtins/utils.js +13 -3
  96. package/dist/builtins/utils.js.map +1 -1
  97. package/dist/builtins/wildcard.d.ts +31 -0
  98. package/dist/builtins/wildcard.js +112 -50
  99. package/dist/builtins/wildcard.js.map +1 -1
  100. package/dist/command-keys.js +2 -1
  101. package/dist/command-keys.js.map +1 -1
  102. package/dist/core/cancellation.d.ts +28 -0
  103. package/dist/core/cancellation.js +70 -0
  104. package/dist/core/cancellation.js.map +1 -0
  105. package/dist/core/dispatch.d.ts +1 -8
  106. package/dist/core/dispatch.js +82 -82
  107. package/dist/core/dispatch.js.map +1 -1
  108. package/dist/core/elevation.d.ts +35 -0
  109. package/dist/core/elevation.js +77 -0
  110. package/dist/core/elevation.js.map +1 -0
  111. package/dist/core/engine.d.ts +12 -0
  112. package/dist/core/engine.js +35 -8
  113. package/dist/core/engine.js.map +1 -1
  114. package/dist/core/preprocess.d.ts +11 -4
  115. package/dist/core/preprocess.js +43 -10
  116. package/dist/core/preprocess.js.map +1 -1
  117. package/dist/core/progress.d.ts +15 -5
  118. package/dist/core/progress.js +14 -0
  119. package/dist/core/progress.js.map +1 -1
  120. package/dist/core/promptContext.d.ts +3 -4
  121. package/dist/core/promptContext.js +9 -2
  122. package/dist/core/promptContext.js.map +1 -1
  123. package/dist/core/sink.d.ts +9 -0
  124. package/dist/core/sink.js +23 -3
  125. package/dist/core/sink.js.map +1 -1
  126. package/dist/core/surface.d.ts +14 -0
  127. package/dist/core/surface.js +5 -0
  128. package/dist/core/surface.js.map +1 -1
  129. package/dist/core/version.d.ts +34 -0
  130. package/dist/core/version.js +51 -0
  131. package/dist/core/version.js.map +1 -1
  132. package/dist/index.d.ts +1 -0
  133. package/dist/index.js +1 -0
  134. package/dist/index.js.map +1 -1
  135. package/dist/lib/completer/index.js +39 -1
  136. package/dist/lib/completer/index.js.map +1 -1
  137. package/dist/lib/parser.d.ts +75 -2
  138. package/dist/lib/parser.js +158 -15
  139. package/dist/lib/parser.js.map +1 -1
  140. package/dist/lib/vfs/providers/binEntry.d.ts +20 -0
  141. package/dist/lib/vfs/providers/binEntry.js +47 -0
  142. package/dist/lib/vfs/providers/binEntry.js.map +1 -0
  143. package/dist/lib/vfs/providers/static.js +1 -0
  144. package/dist/lib/vfs/providers/static.js.map +1 -1
  145. package/dist/lib/vfs/providers/static_content.js +5 -36
  146. package/dist/lib/vfs/providers/static_content.js.map +1 -1
  147. package/dist/lib/vfs/vfs.d.ts +7 -0
  148. package/dist/lib/vfs/vfs.js +25 -0
  149. package/dist/lib/vfs/vfs.js.map +1 -1
  150. package/dist/session/index.d.ts +18 -0
  151. package/dist/session/index.js +29 -1
  152. package/dist/session/index.js.map +1 -1
  153. package/package.json +10 -5
@@ -3,13 +3,68 @@
3
3
  * Manages the /proc VFS cache (job monitoring).
4
4
  */
5
5
  import chalk from 'chalk';
6
- import { procCache_refresh, procFeed_ensureLoaded, jobs_find } from '@fnndsc/salsa';
7
- import { procCache_get, envelope_ok, envelope_error } from '@fnndsc/cumin';
6
+ import { context_getSingle, procCache_refresh, procFeed_ensureLoaded, procTopology_await, procTopology_retry, procTopology_status, procTopology_warmup, jobs_find } from '@fnndsc/salsa';
7
+ import { path_extractFeedID, path_extractPluginInstanceID, path_isInFeed, procCache_get, envelope_ok, envelope_error } from '@fnndsc/cumin';
8
8
  import { spinner } from '../lib/spinner.js';
9
9
  import { commandArgs_process } from './utils.js';
10
+ import { builtin_cd } from './fs/cd.js';
11
+ import { session } from '../session/index.js';
10
12
  import { list_applySort } from '@fnndsc/chili/utils/sort.js';
11
13
  import { screen, table_render } from '@fnndsc/chili/screen/screen.js';
12
14
  import { ALL_JOB_FIELDS, feedStatus_derive, statusColor, jobFields_select, procEntries_filterBySearch, procCsv_render, feedId_parse, } from './proc.helpers.js';
15
+ /**
16
+ * Refuses a global cache query while topology warm-up is incomplete.
17
+ *
18
+ * @param command - Command the user can repeat with `--force`.
19
+ * @param force - Whether to await the active warm-up instead of refusing.
20
+ * @returns An error envelope when blocked, otherwise null.
21
+ */
22
+ async function procWarmup_guard(command, force) {
23
+ const cache = procCache_get();
24
+ const progress = cache.warmupProgress_get();
25
+ const topology = procTopology_status();
26
+ if (cache.lifecycle_get().checkpointAt && !force)
27
+ return null;
28
+ if (!progress.active && topology.state !== 'running' && topology.state !== 'failed')
29
+ return null;
30
+ if (topology.state === 'failed') {
31
+ process.exitCode = 1;
32
+ const reason = topology.failure ? `: ${topology.failure}` : '';
33
+ return envelope_error('', undefined, `${chalk.red(`proc: the visible-job index failed to warm${reason}.`)}\n` +
34
+ 'Global queries are disabled to avoid incomplete results. Run `proc retry` to continue from the failed page.\n');
35
+ }
36
+ if (force) {
37
+ spinner.start('Waiting for the complete /proc job index...');
38
+ try {
39
+ await procTopology_await();
40
+ const cache = procCache_get();
41
+ const settled = procTopology_status();
42
+ if (settled.state !== 'complete' || cache.warmupProgress_get().active || !cache.warmupComplete) {
43
+ throw new Error('the topology sweep did not complete');
44
+ }
45
+ spinner.stop();
46
+ return null;
47
+ }
48
+ catch (error) {
49
+ spinner.stop();
50
+ const message = error instanceof Error ? error.message : String(error);
51
+ process.exitCode = 1;
52
+ return envelope_error('', undefined, `${chalk.red(`proc warm-up failed: ${message}`)}\n`);
53
+ }
54
+ }
55
+ const percent = progress.total > 0
56
+ ? Math.min(99, Math.floor((progress.loaded / progress.total) * 100))
57
+ : 0;
58
+ const count = progress.total > 0
59
+ ? `${progress.loaded}/${progress.total}, ${percent}%`
60
+ : 'initializing';
61
+ process.exitCode = 1;
62
+ return envelope_error('', undefined, `${chalk.yellow(`proc: the visible-job index is still warming (${count}).`)}\n` +
63
+ 'This query could return incomplete results.\n\n' +
64
+ 'Wait for warm-up to finish, or run:\n' +
65
+ ` ${command} --force\n\n` +
66
+ '--force waits for the complete index and may take some time.\n');
67
+ }
13
68
  // ── proc jobs ─────────────────────────────────────────────────────────────────
14
69
  /**
15
70
  * Builds flat job entries from the proc cache.
@@ -95,6 +150,9 @@ async function jobs_subcmd(args) {
95
150
  }
96
151
  const listArgs = second === 'list' ? args.slice(1) : args;
97
152
  const parsed = commandArgs_process(listArgs);
153
+ const blocked = await procWarmup_guard('proc jobs list', !!parsed['force']);
154
+ if (blocked)
155
+ return blocked;
98
156
  let entries = procEntries_fromCache(procCache_get());
99
157
  entries = procEntries_filterBySearch(entries, String(parsed['search'] ?? ''));
100
158
  if (entries.length === 0) {
@@ -141,6 +199,9 @@ async function procRefresh_handle(args) {
141
199
  spinner.start(`Refreshing /proc cache (${scope})...`);
142
200
  try {
143
201
  await procCache_refresh(feedID);
202
+ if (feedID === undefined) {
203
+ void procTopology_warmup().catch(() => { });
204
+ }
144
205
  spinner.stop();
145
206
  return envelope_ok(`${chalk.green(`/proc cache refreshed (${scope})`)}\n`);
146
207
  }
@@ -151,6 +212,30 @@ async function procRefresh_handle(args) {
151
212
  return envelope_error('', undefined, `${chalk.red(`proc refresh failed: ${msg}`)}\n`);
152
213
  }
153
214
  }
215
+ /**
216
+ * Resumes the session's failed global topology sweep at its failed page.
217
+ *
218
+ * @returns An envelope confirming the retained progress, or a clear error when
219
+ * there is no failed sweep to retry.
220
+ */
221
+ function procRetry_handle() {
222
+ const topology = procTopology_status();
223
+ if (topology.state !== 'failed') {
224
+ process.exitCode = 1;
225
+ return envelope_error('', undefined, `${chalk.yellow('proc retry: no failed topology sweep to retry')}\n`);
226
+ }
227
+ const progress = procCache_get().warmupProgress_get();
228
+ try {
229
+ const resumed = procTopology_retry();
230
+ void resumed.catch(() => { });
231
+ return envelope_ok(`${chalk.green(`/proc topology retry resumed at ${progress.loaded}/${progress.total}`)}\n`);
232
+ }
233
+ catch (error) {
234
+ const message = error instanceof Error ? error.message : String(error);
235
+ process.exitCode = 1;
236
+ return envelope_error('', undefined, `${chalk.red(`proc retry failed: ${message}`)}\n`);
237
+ }
238
+ }
154
239
  /**
155
240
  * Handles `proc find <query>`: locates instances by id/plugin-name and reports
156
241
  * their /proc paths.
@@ -159,11 +244,19 @@ async function procRefresh_handle(args) {
159
244
  * @returns An envelope carrying the matched paths.
160
245
  */
161
246
  async function procFind_handle(args) {
162
- const query = args[1];
247
+ const parsed = commandArgs_process(args.slice(1));
248
+ const query = parsed._[0];
163
249
  if (!query) {
164
250
  process.exitCode = 1;
165
251
  return envelope_error('', undefined, `${chalk.red('Usage: proc find <instance_id | plugin_name_substring>')}\n`);
166
252
  }
253
+ const numeric = parseInt(query, 10);
254
+ const isInstanceID = !isNaN(numeric) && String(numeric) === query;
255
+ if (!isInstanceID) {
256
+ const blocked = await procWarmup_guard(`proc find ${query}`, !!parsed['force']);
257
+ if (blocked)
258
+ return blocked;
259
+ }
167
260
  spinner.start(`Finding "${query}"...`);
168
261
  try {
169
262
  const cache = procCache_get();
@@ -197,6 +290,69 @@ async function procFind_handle(args) {
197
290
  return envelope_error('', undefined, `${chalk.red(`proc find failed: ${msg}`)}\n`);
198
291
  }
199
292
  }
293
+ /**
294
+ * Maps a canonical CFS feed path into its matching `/proc` location.
295
+ *
296
+ * The CFS feed namespace and `/proc` share CUBE's feed and plugin-instance
297
+ * identifiers. A feed root maps directly; a job path maps only after its
298
+ * cached node confirms the same feed. An unknown node is loaded scoped to that
299
+ * one feed rather than by a global scan.
300
+ *
301
+ * @param cwd - Current CFS path to examine.
302
+ * @param cache - Current `/proc` cache.
303
+ * @returns The matching `/proc` path, or null when the CFS path is not canonical.
304
+ */
305
+ async function procHere_canonicalPath_get(cwd, cache) {
306
+ if (!path_isInFeed(cwd))
307
+ return null;
308
+ const feedID = path_extractFeedID(cwd);
309
+ if (feedID === null || !cache.feed_get(feedID))
310
+ return null;
311
+ const instanceID = path_extractPluginInstanceID(cwd);
312
+ if (instanceID === null)
313
+ return `/proc/jobs/feed_${feedID}`;
314
+ let instance = cache.instance_get(instanceID);
315
+ if (!instance || instance.feedID !== feedID) {
316
+ await procFeed_ensureLoaded(feedID);
317
+ instance = cache.instance_get(instanceID);
318
+ }
319
+ if (!instance || instance.feedID !== feedID)
320
+ return null;
321
+ return cache.path_build(instanceID);
322
+ }
323
+ /**
324
+ * Returns from a CFS output directory to its producing `/proc` job node.
325
+ *
326
+ * Canonical `/home/<user>/feeds/feed_<id>` paths map directly using CUBE's
327
+ * stable feed and plugin-instance IDs. Other CFS output locations use the
328
+ * session's CUBE-supplied output-path provenance as a fallback.
329
+ *
330
+ * @param args - Full command args. No operands are accepted.
331
+ * @returns The directory-change envelope, or a clear error when provenance is unknown.
332
+ */
333
+ async function procHere_handle(args) {
334
+ if (args.length > 1) {
335
+ process.exitCode = 1;
336
+ return envelope_error('', undefined, `${chalk.red('Usage: proc here')}\n`);
337
+ }
338
+ const cache = procCache_get();
339
+ const cwd = await session.getCWD();
340
+ const canonicalPath = await procHere_canonicalPath_get(cwd, cache);
341
+ if (canonicalPath)
342
+ return builtin_cd([canonicalPath]);
343
+ const source = cache.outputPath_match(cwd);
344
+ if (!source) {
345
+ process.exitCode = 1;
346
+ return envelope_error('', undefined, `${chalk.yellow('proc here: no matching /proc job is known for this path in the current session.')}\n` +
347
+ 'Use a canonical CFS feed path, follow a job\'s `data` link first, or use `cd -` to return to the previous directory.\n');
348
+ }
349
+ const procPath = cache.path_build(source.id);
350
+ if (!procPath) {
351
+ process.exitCode = 1;
352
+ return envelope_error('', undefined, `${chalk.red('proc here: producing job is no longer available in /proc.')}\n`);
353
+ }
354
+ return builtin_cd([procPath]);
355
+ }
200
356
  /**
201
357
  * Handles `proc feeds <query>`: lists cached feeds whose title matches.
202
358
  *
@@ -204,11 +360,15 @@ async function procFind_handle(args) {
204
360
  * @returns An envelope carrying the matched feeds.
205
361
  */
206
362
  async function procFeeds_handle(args) {
207
- const query = args[1];
363
+ const parsed = commandArgs_process(args.slice(1));
364
+ const query = parsed._[0];
208
365
  if (!query) {
209
366
  process.exitCode = 1;
210
367
  return envelope_error('', undefined, `${chalk.red('Usage: proc feeds <title_substring>')}\n`);
211
368
  }
369
+ const blocked = await procWarmup_guard(`proc feeds ${query}`, !!parsed['force']);
370
+ if (blocked)
371
+ return blocked;
212
372
  const cache = procCache_get();
213
373
  const matches = cache.feeds_find(query);
214
374
  if (matches.length === 0) {
@@ -233,15 +393,32 @@ async function procStat_handle(args) {
233
393
  const feedArg = args[1];
234
394
  if (!feedArg) {
235
395
  const warmup = cache.warmupProgress_get();
236
- const warmupLine = warmup.active
237
- ? chalk.yellow(`in progress (${warmup.loaded} instances loaded)`)
396
+ const topology = procTopology_status();
397
+ const lifecycle = cache.lifecycle_get();
398
+ const context = await context_getSingle();
399
+ const counts = cache.feedScopeCounts_get(context.user ?? '');
400
+ const warmupLine = topology.state === 'failed'
401
+ ? chalk.red(`failed${topology.failure ? `: ${topology.failure}` : ''}`)
402
+ : topology.state === 'running' || warmup.active
403
+ ? chalk.yellow(warmup.active ? 'in progress' : 'initializing')
404
+ : cache.warmupComplete
405
+ ? chalk.green('complete')
406
+ : chalk.dim('not started');
407
+ const jobCount = warmup.total > 0
408
+ ? `${warmup.loaded}/${warmup.total}`
238
409
  : cache.warmupComplete
239
- ? chalk.green('complete')
240
- : chalk.dim('not started');
410
+ ? `${warmup.loaded}/0`
411
+ : `${warmup.loaded}/?`;
241
412
  let rendered = `${chalk.bold('proc cache summary')}\n`;
242
- rendered += ` feeds known : ${chalk.cyan(String(cache.feedIDs_get().length))}\n`;
243
- rendered += ` instances : ${chalk.cyan(String(cache.instances_count()))}\n`;
413
+ rendered += ` visible feeds : ${chalk.cyan(String(counts.total))}\n`;
414
+ rendered += ` user : ${chalk.cyan(String(counts.user))}\n`;
415
+ rendered += ` public : ${chalk.cyan(String(counts.public))}\n`;
416
+ rendered += ` shared : ${chalk.cyan(String(counts.shared))}\n`;
417
+ rendered += ` jobs loaded : ${chalk.cyan(jobCount)}\n`;
244
418
  rendered += ` topology sweep : ${warmupLine}\n`;
419
+ rendered += ` cache state : ${chalk.cyan(lifecycle.state)}\n`;
420
+ if (lifecycle.checkpointAt)
421
+ rendered += ` checkpoint : ${chalk.cyan(lifecycle.checkpointAt)}\n`;
245
422
  return envelope_ok(rendered);
246
423
  }
247
424
  const feedID = feedId_parse(feedArg);
@@ -281,12 +458,18 @@ export async function builtin_proc(args) {
281
458
  if (!subcommand || subcommand === 'refresh') {
282
459
  return procRefresh_handle(args);
283
460
  }
461
+ if (subcommand === 'retry') {
462
+ return procRetry_handle();
463
+ }
284
464
  if (subcommand === 'jobs') {
285
465
  return jobs_subcmd(args.slice(1));
286
466
  }
287
467
  if (subcommand === 'find') {
288
468
  return procFind_handle(args);
289
469
  }
470
+ if (subcommand === 'here') {
471
+ return procHere_handle(args);
472
+ }
290
473
  if (subcommand === 'feeds') {
291
474
  return procFeeds_handle(args);
292
475
  }
@@ -1 +1 @@
1
- {"version":3,"file":"proc.js","sourceRoot":"","sources":["../../src/builtins/proc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proc.js","sourceRoot":"","sources":["../../src/builtins/proc.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  * @module
11
11
  */
12
12
  import chalk from 'chalk';
13
- import { envelope_ok, envelope_error } from '@fnndsc/cumin';
13
+ import { envelope_ok, envelope_error, errorStack } from '@fnndsc/cumin';
14
14
  import { commandArgs_process } from '../utils.js';
15
15
  import { computeResources_fetchList } from '@fnndsc/chili/commands/compute/list.js';
16
16
  import { computeFields_fetch } from '@fnndsc/chili/commands/compute/fields.js';
@@ -27,8 +27,13 @@ export async function builtin_compute(args) {
27
27
  const subcommand = parsed._[0];
28
28
  if (!subcommand || subcommand === 'list') {
29
29
  try {
30
- const { resources } = await computeResources_fetchList();
31
- return envelope_ok(`${computeList_render(resources, { table: !!parsed.table, csv: !!parsed.csv })}\n`);
30
+ const listResult = await computeResources_fetchList();
31
+ if (!listResult.ok) {
32
+ const lastError = errorStack.stack_pop();
33
+ process.exitCode = 1;
34
+ return envelope_error('', undefined, `${chalk.red(lastError ? lastError.message : 'compute list failed')}\n`);
35
+ }
36
+ return envelope_ok(`${computeList_render(listResult.value.resources, { table: !!parsed.table, csv: !!parsed.csv })}\n`);
32
37
  }
33
38
  catch (e) {
34
39
  const msg = e instanceof Error ? e.message : String(e);
@@ -1 +1 @@
1
- {"version":3,"file":"compute.js","sourceRoot":"","sources":["../../../src/builtins/res/compute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAc,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAqB,MAAM,wCAAwC,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAc;IAClD,MAAM,MAAM,GAAe,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,UAAU,GAAuB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,GAAsB,MAAM,0BAA0B,EAAE,CAAC;YAC5E,OAAO,WAAW,CAAC,GAAG,kBAAkB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACzG,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAW,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAoB,MAAM,mBAAmB,EAAE,CAAC;QAC5D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1J,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,cAAc,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,uBAAuB,UAAU,wCAAwC,CAAC,IAAI,CAAC,CAAC;AACrH,CAAC"}
1
+ {"version":3,"file":"compute.js","sourceRoot":"","sources":["../../../src/builtins/res/compute.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@ import { CommandEnvelope } from '@fnndsc/cumin';
3
3
  * Builtin handler for the `group` command.
4
4
  *
5
5
  * @param args - Parsed command arguments for the group command.
6
- * @returns An envelope carrying the group listing or fields.
6
+ * @returns An envelope carrying a group listing, membership result, or usage error.
7
7
  */
8
8
  export declare function builtin_group(args: string[]): Promise<CommandEnvelope>;
@@ -1,21 +1,100 @@
1
1
  /**
2
2
  * @file Builtin group command.
3
3
  *
4
- * Subcommands: list, search, inspect
4
+ * Subcommands: list, search, inspect, members, adduser, removeuser
5
5
  * [admin]: create, delete, adduser, removeuser
6
6
  * Singular/plural aliases: group / groups
7
7
  */
8
8
  import chalk from 'chalk';
9
- import { envelope_ok, envelope_error } from '@fnndsc/cumin';
9
+ import { envelope_ok, envelope_error, } from '@fnndsc/cumin';
10
10
  import { commandArgs_process } from '../utils.js';
11
11
  import { groups_fetchList } from '@fnndsc/chili/commands/groups/list.js';
12
12
  import { groupFields_fetch } from '@fnndsc/chili/commands/groups/fields.js';
13
+ import { groupMembers_fetch, groupReference_resolve, groupUser_add, groupUser_remove, } from '@fnndsc/chili/commands/groups/membership.js';
13
14
  import { table_render } from '@fnndsc/chili/screen/screen.js';
15
+ import { authorizationFailure_is, sudoHint_build } from '../../core/elevation.js';
16
+ /**
17
+ * Renders an error for a failed group membership operation.
18
+ *
19
+ * @param message - User-facing error or usage detail.
20
+ * @returns An error command envelope.
21
+ */
22
+ function group_error(message) {
23
+ process.exitCode = 1;
24
+ return envelope_error('', undefined, `${chalk.red(message)}\n`);
25
+ }
26
+ /**
27
+ * Renders the human-readable name and stable numeric ID of one group.
28
+ *
29
+ * @param group - Resolved CUBE group identity.
30
+ * @returns Operator-facing group label.
31
+ */
32
+ function group_label(group) {
33
+ return `${group.name} (${group.id})`;
34
+ }
35
+ /**
36
+ * Applies one membership operation to every named user and renders its outcome.
37
+ *
38
+ * Current membership is read once so adding an existing member or removing a
39
+ * non-member is an idempotent no-op. CUBE mutations remain individual requests:
40
+ * all requested users are attempted and a partial batch reports every result.
41
+ *
42
+ * @param group - Resolved target group.
43
+ * @param usernames - Usernames in operator-supplied order.
44
+ * @param operation - Whether this batch adds or removes members.
45
+ * @returns Success envelope, or an error envelope after any failed mutation.
46
+ */
47
+ async function groupMembership_batch(group, usernames, operation) {
48
+ const existing = await groupMembers_fetch(group.id);
49
+ if (!existing.ok)
50
+ return group_error(existing.error);
51
+ const members = new Set(existing.value.map((member) => member.username));
52
+ let rendered = '';
53
+ let renderedErr = '';
54
+ let failures = 0;
55
+ let elevationHintShown = false;
56
+ for (const username of usernames) {
57
+ const present = members.has(username);
58
+ if (operation === 'add' && present) {
59
+ rendered += `${chalk.gray(`${username} is already a member of ${group_label(group)}.`)}\n`;
60
+ continue;
61
+ }
62
+ if (operation === 'remove' && !present) {
63
+ rendered += `${chalk.gray(`${username} was not a member of ${group_label(group)}.`)}\n`;
64
+ continue;
65
+ }
66
+ const result = operation === 'add'
67
+ ? await groupUser_add(group.id, username)
68
+ : await groupUser_remove(group.id, username);
69
+ if (!result.ok) {
70
+ failures += 1;
71
+ renderedErr += `${chalk.red(`Could not ${operation} ${username} ${operation === 'add' ? 'to' : 'from'} ${group_label(group)}: ${result.error}`)}\n`;
72
+ if (!elevationHintShown && authorizationFailure_is(result.error)) {
73
+ renderedErr += sudoHint_build(`group ${operation}user`, [group.name, ...usernames]);
74
+ elevationHintShown = true;
75
+ }
76
+ continue;
77
+ }
78
+ if (operation === 'add') {
79
+ members.add(username);
80
+ rendered += `${chalk.green(`Added ${username} to ${group_label(group)}.`)}\n`;
81
+ }
82
+ else {
83
+ members.delete(username);
84
+ rendered += `${chalk.green(`Removed ${username} from ${group_label(group)}.`)}\n`;
85
+ }
86
+ }
87
+ if (failures > 0) {
88
+ process.exitCode = 1;
89
+ return envelope_error(rendered, undefined, renderedErr);
90
+ }
91
+ return envelope_ok(rendered);
92
+ }
14
93
  /**
15
94
  * Builtin handler for the `group` command.
16
95
  *
17
96
  * @param args - Parsed command arguments for the group command.
18
- * @returns An envelope carrying the group listing or fields.
97
+ * @returns An envelope carrying a group listing, membership result, or usage error.
19
98
  */
20
99
  export async function builtin_group(args) {
21
100
  const parsed = commandArgs_process(args);
@@ -35,16 +114,54 @@ export async function builtin_group(args) {
35
114
  }
36
115
  if (subcommand === 'search') {
37
116
  const query = parsed._[1] ?? '';
38
- return builtin_group([...args.filter((a) => a !== subcommand), `--search`, query]);
117
+ const search = query.includes(':') ? query : `name_icontains:${query}`;
118
+ return builtin_group(['--search', search]);
39
119
  }
40
120
  if (subcommand === 'inspect') {
121
+ const reference = parsed._[1];
122
+ if (reference !== undefined) {
123
+ const resolved = await groupReference_resolve(reference);
124
+ if (!resolved.ok)
125
+ return group_error(resolved.error);
126
+ return envelope_ok(table_render([{ id: resolved.value.id, name: resolved.value.name }], ['id', 'name'], { title: { title: `Group ${group_label(resolved.value)}`, justification: 'center' } }));
127
+ }
41
128
  const fields = await groupFields_fetch();
42
129
  if (fields && fields.length > 0) {
43
130
  return envelope_ok(table_render(fields.map((f) => ({ field: f })), ['field'], { title: { title: 'Group fields', justification: 'center' } }));
44
131
  }
45
132
  return envelope_ok(`${chalk.gray('No fields found for groups.')}\n`);
46
133
  }
134
+ if (subcommand === 'members') {
135
+ const reference = parsed._[1];
136
+ if (reference === undefined)
137
+ return group_error('Usage: group members <group>');
138
+ const resolved = await groupReference_resolve(reference);
139
+ if (!resolved.ok)
140
+ return group_error(resolved.error);
141
+ const result = await groupMembers_fetch(resolved.value.id);
142
+ if (!result.ok)
143
+ return group_error(result.error);
144
+ if (result.value.length === 0) {
145
+ return envelope_ok(`${chalk.gray(`Group ${group_label(resolved.value)} has no users.`)}\n`);
146
+ }
147
+ const rows = result.value.map((member) => ({
148
+ id: member.id,
149
+ username: member.username,
150
+ }));
151
+ return envelope_ok(table_render(rows, ['id', 'username'], { title: { title: `Group ${group_label(resolved.value)} users`, justification: 'center' } }));
152
+ }
153
+ if (subcommand === 'adduser' || subcommand === 'removeuser') {
154
+ const reference = parsed._[1];
155
+ const usernames = parsed._.slice(2);
156
+ if (reference === undefined || usernames.length === 0) {
157
+ return group_error(`Usage: group ${subcommand} <group> <username...>`);
158
+ }
159
+ const resolved = await groupReference_resolve(reference);
160
+ if (!resolved.ok)
161
+ return group_error(resolved.error);
162
+ return groupMembership_batch(resolved.value, usernames, subcommand === 'adduser' ? 'add' : 'remove');
163
+ }
47
164
  process.exitCode = 1;
48
- return envelope_error(`${chalk.red(`Unknown subcommand: ${subcommand}. Usage: groups <list|search|inspect>`)}\n`);
165
+ return envelope_error(`${chalk.red(`Unknown subcommand: ${subcommand}. Usage: groups <list|search|inspect|members|adduser|removeuser>`)}\n`);
49
166
  }
50
167
  //# sourceMappingURL=group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../src/builtins/res/group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../src/builtins/res/group.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,16 @@
5
5
  *
6
6
  * @module
7
7
  */
8
+ import type { PipelineInvocationBinding } from '@fnndsc/salsa';
8
9
  /**
9
10
  * Optional overrides parsed from `pipeline run` arguments.
10
11
  */
11
12
  export interface PipelineRunOverrides {
12
13
  computeOverride: string | undefined;
13
14
  previousOverride: number | undefined;
15
+ paramFile: string | undefined;
16
+ bindings: PipelineInvocationBinding[];
17
+ parseError: string | null;
14
18
  }
15
19
  /**
16
20
  * Parses `--compute <resource>` and `--previous <inst_id>` overrides from