@fnndsc/brasa 0.9.2 → 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 +41 -5
  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 +144 -36
  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 -70
  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 +106 -4
  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 -5
  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,10 +3,12 @@
3
3
  * Manages the /proc VFS cache (job monitoring).
4
4
  */
5
5
  import chalk from 'chalk';
6
- import { context_getSingle, procCache_refresh, procFeed_ensureLoaded, procTopology_await, procTopology_status, procTopology_warmup, 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';
@@ -18,15 +20,18 @@ import { ALL_JOB_FIELDS, feedStatus_derive, statusColor, jobFields_select, procE
18
20
  * @returns An error envelope when blocked, otherwise null.
19
21
  */
20
22
  async function procWarmup_guard(command, force) {
21
- const progress = procCache_get().warmupProgress_get();
23
+ const cache = procCache_get();
24
+ const progress = cache.warmupProgress_get();
22
25
  const topology = procTopology_status();
26
+ if (cache.lifecycle_get().checkpointAt && !force)
27
+ return null;
23
28
  if (!progress.active && topology.state !== 'running' && topology.state !== 'failed')
24
29
  return null;
25
30
  if (topology.state === 'failed') {
26
31
  process.exitCode = 1;
27
32
  const reason = topology.failure ? `: ${topology.failure}` : '';
28
33
  return envelope_error('', undefined, `${chalk.red(`proc: the visible-job index failed to warm${reason}.`)}\n` +
29
- 'Global queries are disabled to avoid incomplete results. Restart the session daemon to retry.\n');
34
+ 'Global queries are disabled to avoid incomplete results. Run `proc retry` to continue from the failed page.\n');
30
35
  }
31
36
  if (force) {
32
37
  spinner.start('Waiting for the complete /proc job index...');
@@ -207,6 +212,30 @@ async function procRefresh_handle(args) {
207
212
  return envelope_error('', undefined, `${chalk.red(`proc refresh failed: ${msg}`)}\n`);
208
213
  }
209
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
+ }
210
239
  /**
211
240
  * Handles `proc find <query>`: locates instances by id/plugin-name and reports
212
241
  * their /proc paths.
@@ -261,6 +290,69 @@ async function procFind_handle(args) {
261
290
  return envelope_error('', undefined, `${chalk.red(`proc find failed: ${msg}`)}\n`);
262
291
  }
263
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
+ }
264
356
  /**
265
357
  * Handles `proc feeds <query>`: lists cached feeds whose title matches.
266
358
  *
@@ -302,6 +394,7 @@ async function procStat_handle(args) {
302
394
  if (!feedArg) {
303
395
  const warmup = cache.warmupProgress_get();
304
396
  const topology = procTopology_status();
397
+ const lifecycle = cache.lifecycle_get();
305
398
  const context = await context_getSingle();
306
399
  const counts = cache.feedScopeCounts_get(context.user ?? '');
307
400
  const warmupLine = topology.state === 'failed'
@@ -323,6 +416,9 @@ async function procStat_handle(args) {
323
416
  rendered += ` shared : ${chalk.cyan(String(counts.shared))}\n`;
324
417
  rendered += ` jobs loaded : ${chalk.cyan(jobCount)}\n`;
325
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`;
326
422
  return envelope_ok(rendered);
327
423
  }
328
424
  const feedID = feedId_parse(feedArg);
@@ -362,12 +458,18 @@ export async function builtin_proc(args) {
362
458
  if (!subcommand || subcommand === 'refresh') {
363
459
  return procRefresh_handle(args);
364
460
  }
461
+ if (subcommand === 'retry') {
462
+ return procRetry_handle();
463
+ }
365
464
  if (subcommand === 'jobs') {
366
465
  return jobs_subcmd(args.slice(1));
367
466
  }
368
467
  if (subcommand === 'find') {
369
468
  return procFind_handle(args);
370
469
  }
470
+ if (subcommand === 'here') {
471
+ return procHere_handle(args);
472
+ }
371
473
  if (subcommand === 'feeds') {
372
474
  return procFeeds_handle(args);
373
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":"AAAA;;;;;;GAMG;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,gBAAgB,EAAmB,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,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,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAoB,MAAM,gBAAgB,CAAC,MAA+B,CAAC,CAAC;YACxH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YACvF,OAAO,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACpN,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAoB,MAAM,iBAAiB,EAAE,CAAC;QAC1D,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,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QACxJ,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,cAAc,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,uBAAuB,UAAU,uCAAuC,CAAC,IAAI,CAAC,CAAC;AACpH,CAAC"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../src/builtins/res/group.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAc,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAmB,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAEtB,aAAa,EACb,gBAAgB,GAGjB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAElF;;;;;GAKG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,KAAqB;IACxC,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,GAAG,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,qBAAqB,CAClC,KAAqB,EACrB,SAAmB,EACnB,SAA2B;IAE3B,MAAM,QAAQ,GAAyC,MAAM,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1F,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,OAAO,GAAgB,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CACrD,CAAC,MAAmB,EAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,CACjD,CAAC,CAAC;IACH,IAAI,QAAQ,GAAW,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAW,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAAW,CAAC,CAAC;IACzB,IAAI,kBAAkB,GAAY,KAAK,CAAC;IAExC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAY,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,KAAK,IAAI,OAAO,EAAE,CAAC;YACnC,QAAQ,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,2BAA2B,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAC3F,SAAS;QACX,CAAC;QACD,IAAI,SAAS,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,QAAQ,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,wBAAwB,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YACxF,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAiD,SAAS,KAAK,KAAK;YAC9E,CAAC,CAAC,MAAM,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC;YACzC,CAAC,CAAC,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,QAAQ,IAAI,CAAC,CAAC;YACd,WAAW,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,SAAS,IAAI,QAAQ,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC;YACpJ,IAAI,CAAC,kBAAkB,IAAI,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,WAAW,IAAI,cAAc,CAC3B,SAAS,SAAS,MAAM,EACxB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAC3B,CAAC;gBACF,kBAAkB,GAAG,IAAI,CAAC;YAC5B,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,QAAQ,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,QAAQ,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzB,QAAQ,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,QAAQ,SAAS,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QACpF,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,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,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAoB,MAAM,gBAAgB,CAAC,MAA+B,CAAC,CAAC;YACxH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YACvF,OAAO,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACpN,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAW,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,KAAK,EAAE,CAAC;QAC/E,OAAO,aAAa,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAuB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrD,OAAO,WAAW,CAAC,YAAY,CAC7B,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EACtD,CAAC,IAAI,EAAE,MAAM,CAAC,EACd,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CACtF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAoB,MAAM,iBAAiB,EAAE,CAAC;QAC1D,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,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QACxJ,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAuB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC,8BAA8B,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,MAAM,GAAyC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,IAAI,GAA8B,MAAM,CAAC,KAAK,CAAC,GAAG,CACtD,CAAC,MAAmB,EAA2B,EAAE,CAAC,CAAC;YACjD,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CACH,CAAC;QACF,OAAO,WAAW,CAAC,YAAY,CAC7B,IAAI,EACJ,CAAC,IAAI,EAAE,UAAU,CAAC,EAClB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAC5F,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAuB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,SAAS,GAAa,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO,WAAW,CAAC,gBAAgB,UAAU,wBAAwB,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvG,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,cAAc,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,uBAAuB,UAAU,kEAAkE,CAAC,IAAI,CAAC,CAAC;AAC/I,CAAC"}
@@ -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
@@ -1,10 +1,4 @@
1
- /**
2
- * @file Pure argument parsing for the `pipeline run` subcommand.
3
- *
4
- * Dependency-free for easy unit testing.
5
- *
6
- * @module
7
- */
1
+ import { executableArguments_parse } from '../argumentTokens.js';
8
2
  /**
9
3
  * Parses `--compute <resource>` and `--previous <inst_id>` overrides from
10
4
  * `pipeline run <name|id> ...` arguments (scanning from index 2).
@@ -15,14 +9,71 @@
15
9
  export function pipelineRunArgs_parse(args) {
16
10
  let computeOverride;
17
11
  let previousOverride;
12
+ let paramFile;
13
+ const bindings = [];
14
+ let parseError = null;
18
15
  for (let i = 2; i < args.length; i++) {
19
- if (args[i] === '--compute' && i + 1 < args.length) {
20
- computeOverride = args[++i];
16
+ const token = args[i];
17
+ if (token === '--compute') {
18
+ const value = args[i + 1];
19
+ if (value === undefined || value.startsWith('--')) {
20
+ parseError = '--compute requires a resource';
21
+ break;
22
+ }
23
+ computeOverride = value;
24
+ i++;
25
+ }
26
+ else if (token === '--previous') {
27
+ const value = args[i + 1];
28
+ if (value === undefined || !/^\d+$/.test(value)) {
29
+ parseError = '--previous requires a positive plugin instance ID';
30
+ break;
31
+ }
32
+ previousOverride = Number(value);
33
+ i++;
34
+ }
35
+ else if (token === '--paramFile') {
36
+ const value = args[i + 1];
37
+ if (paramFile !== undefined) {
38
+ parseError = '--paramFile may be supplied only once';
39
+ break;
40
+ }
41
+ if (value === undefined || value.startsWith('--')) {
42
+ parseError = '--paramFile requires a CFS path';
43
+ break;
44
+ }
45
+ paramFile = value;
46
+ i++;
47
+ }
48
+ else if (token.startsWith('--')) {
49
+ const option = token.slice(2);
50
+ const equalsIndex = option.indexOf('=');
51
+ const compound = equalsIndex === -1 ? option : option.slice(0, equalsIndex);
52
+ const separator = compound.lastIndexOf('.');
53
+ if (separator <= 0 || separator === compound.length - 1) {
54
+ parseError = `unsupported pipeline option: ${token}`;
55
+ break;
56
+ }
57
+ const node = compound.slice(0, separator);
58
+ const field = compound.slice(separator + 1);
59
+ let value;
60
+ if (equalsIndex >= 0) {
61
+ value = executableArguments_parse([`--${field}=${option.slice(equalsIndex + 1)}`])[field];
62
+ }
63
+ else {
64
+ const next = args[i + 1];
65
+ const consumesNext = next !== undefined && (!next.startsWith('--') || /^-\d/.test(next));
66
+ value = executableArguments_parse(consumesNext ? [`--${field}`, next] : [`--${field}`])[field];
67
+ if (consumesNext)
68
+ i++;
69
+ }
70
+ bindings.push({ node, field, value });
21
71
  }
22
- else if (args[i] === '--previous' && i + 1 < args.length) {
23
- previousOverride = parseInt(args[++i], 10);
72
+ else {
73
+ parseError = `unexpected pipeline argument: ${token}`;
74
+ break;
24
75
  }
25
76
  }
26
- return { computeOverride, previousOverride };
77
+ return { computeOverride, previousOverride, paramFile, bindings, parseError };
27
78
  }
28
79
  //# sourceMappingURL=pipeline.args.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.args.js","sourceRoot":"","sources":["../../../src/builtins/res/pipeline.args.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAc;IAClD,IAAI,eAAmC,CAAC;IACxC,IAAI,gBAAoC,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACnD,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3D,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"pipeline.args.js","sourceRoot":"","sources":["../../../src/builtins/res/pipeline.args.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,14 @@
4
4
  * Manages registered ChRIS pipelines. Subcommands:
5
5
  * - `list` — list all registered pipelines
6
6
  * - `info` — show a pipeline's nodes and default parameters
7
+ * - `manifest` — emit the complete registered invocation YAML
7
8
  * - `run` — instantiate a pipeline as a workflow on the current context node
8
9
  * - `source` — display the pipeline's YAML source file
9
10
  * - `diagram` — render the registered pipeline as a shallow tree or SignalFlow YAML
10
11
  *
11
12
  * Pipelines also appear as executables in `/bin` (colored distinctly from plugins)
12
- * and can be invoked directly by name. `cat /bin/<name>` returns the YAML source.
13
+ * and can be invoked directly by name. `cat /bin/<name>` returns a cache-only
14
+ * executable summary; `pipeline manifest <name>` performs complete inspection.
13
15
  *
14
16
  * @module
15
17
  */