@fnndsc/brasa 0.1.0 → 0.3.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 (96) hide show
  1. package/dist/builtins/fs/cat.js +3 -63
  2. package/dist/builtins/fs/cat.js.map +1 -1
  3. package/dist/builtins/fs/download.d.ts +3 -1
  4. package/dist/builtins/fs/download.js +10 -7
  5. package/dist/builtins/fs/download.js.map +1 -1
  6. package/dist/builtins/fs/du.d.ts +2 -1
  7. package/dist/builtins/fs/du.js +15 -7
  8. package/dist/builtins/fs/du.js.map +1 -1
  9. package/dist/builtins/fs/edit.d.ts +3 -1
  10. package/dist/builtins/fs/edit.js +17 -23
  11. package/dist/builtins/fs/edit.js.map +1 -1
  12. package/dist/builtins/fs/ls.d.ts +2 -1
  13. package/dist/builtins/fs/ls.js +22 -11
  14. package/dist/builtins/fs/ls.js.map +1 -1
  15. package/dist/builtins/fs/pull.d.ts +2 -1
  16. package/dist/builtins/fs/pull.js +31 -27
  17. package/dist/builtins/fs/pull.js.map +1 -1
  18. package/dist/builtins/fs/tree.d.ts +2 -1
  19. package/dist/builtins/fs/tree.js +10 -13
  20. package/dist/builtins/fs/tree.js.map +1 -1
  21. package/dist/builtins/fs/upload.d.ts +3 -1
  22. package/dist/builtins/fs/upload.js +10 -8
  23. package/dist/builtins/fs/upload.js.map +1 -1
  24. package/dist/builtins/help.d.ts +16 -1
  25. package/dist/builtins/help.js +39 -18
  26. package/dist/builtins/help.js.map +1 -1
  27. package/dist/builtins/net/connect.d.ts +3 -2
  28. package/dist/builtins/net/connect.js +6 -8
  29. package/dist/builtins/net/connect.js.map +1 -1
  30. package/dist/builtins/net/cubepath.d.ts +2 -1
  31. package/dist/builtins/net/cubepath.js +19 -15
  32. package/dist/builtins/net/cubepath.js.map +1 -1
  33. package/dist/builtins/net/logout.d.ts +4 -2
  34. package/dist/builtins/net/logout.js +7 -4
  35. package/dist/builtins/net/logout.js.map +1 -1
  36. package/dist/builtins/net/pacs.d.ts +4 -1
  37. package/dist/builtins/net/pacs.js +38 -39
  38. package/dist/builtins/net/pacs.js.map +1 -1
  39. package/dist/builtins/net/query.d.ts +2 -2
  40. package/dist/builtins/net/query.js +20 -23
  41. package/dist/builtins/net/query.js.map +1 -1
  42. package/dist/builtins/parametersofplugin.d.ts +3 -2
  43. package/dist/builtins/parametersofplugin.js +8 -9
  44. package/dist/builtins/parametersofplugin.js.map +1 -1
  45. package/dist/builtins/proc.d.ts +3 -1
  46. package/dist/builtins/proc.js +74 -64
  47. package/dist/builtins/proc.js.map +1 -1
  48. package/dist/builtins/res/compute.d.ts +3 -1
  49. package/dist/builtins/res/compute.js +9 -12
  50. package/dist/builtins/res/compute.js.map +1 -1
  51. package/dist/builtins/res/feed.d.ts +3 -1
  52. package/dist/builtins/res/feed.js +58 -83
  53. package/dist/builtins/res/feed.js.map +1 -1
  54. package/dist/builtins/res/files.d.ts +7 -3
  55. package/dist/builtins/res/files.js +26 -25
  56. package/dist/builtins/res/files.js.map +1 -1
  57. package/dist/builtins/res/group.d.ts +3 -1
  58. package/dist/builtins/res/group.js +10 -14
  59. package/dist/builtins/res/group.js.map +1 -1
  60. package/dist/builtins/res/pipeline.d.ts +2 -1
  61. package/dist/builtins/res/pipeline.js +53 -53
  62. package/dist/builtins/res/pipeline.js.map +1 -1
  63. package/dist/builtins/res/plugin.d.ts +6 -2
  64. package/dist/builtins/res/plugin.js +47 -50
  65. package/dist/builtins/res/plugin.js.map +1 -1
  66. package/dist/builtins/res/plugininstance.d.ts +2 -1
  67. package/dist/builtins/res/plugininstance.js +9 -14
  68. package/dist/builtins/res/plugininstance.js.map +1 -1
  69. package/dist/builtins/res/pluginmeta.d.ts +2 -1
  70. package/dist/builtins/res/pluginmeta.js +9 -14
  71. package/dist/builtins/res/pluginmeta.js.map +1 -1
  72. package/dist/builtins/res/tag.d.ts +3 -1
  73. package/dist/builtins/res/tag.js +10 -14
  74. package/dist/builtins/res/tag.js.map +1 -1
  75. package/dist/builtins/res/workflow.d.ts +2 -1
  76. package/dist/builtins/res/workflow.js +9 -14
  77. package/dist/builtins/res/workflow.js.map +1 -1
  78. package/dist/builtins/store.d.ts +3 -1
  79. package/dist/builtins/store.js +19 -35
  80. package/dist/builtins/store.js.map +1 -1
  81. package/dist/builtins/sys/context.d.ts +2 -1
  82. package/dist/builtins/sys/context.js +5 -4
  83. package/dist/builtins/sys/context.js.map +1 -1
  84. package/dist/core/chiliDelegate.d.ts +10 -7
  85. package/dist/core/chiliDelegate.js +20 -11
  86. package/dist/core/chiliDelegate.js.map +1 -1
  87. package/dist/core/dispatch.d.ts +6 -0
  88. package/dist/core/dispatch.js +121 -169
  89. package/dist/core/dispatch.js.map +1 -1
  90. package/dist/core/sink.d.ts +57 -18
  91. package/dist/core/sink.js +77 -77
  92. package/dist/core/sink.js.map +1 -1
  93. package/dist/lib/vfs/vfs.d.ts +2 -2
  94. package/dist/lib/vfs/vfs.js +10 -14
  95. package/dist/lib/vfs/vfs.js.map +1 -1
  96. package/package.json +2 -2
package/dist/core/sink.js CHANGED
@@ -23,9 +23,6 @@
23
23
  */
24
24
  import { AsyncLocalStorage } from 'node:async_hooks';
25
25
  import { NullProgressRenderer } from './progress.js';
26
- function sink_streamsEnvelopeOutput(sink) {
27
- return sink.liveEnvelopeOutput === true;
28
- }
29
26
  /**
30
27
  * Sink that writes both channels to the process's standard output.
31
28
  *
@@ -153,6 +150,44 @@ export class CaptureSink {
153
150
  return Buffer.concat(this.errChunks).toString('utf-8');
154
151
  }
155
152
  }
153
+ /**
154
+ * Sink that captures the data channel for a pipe or redirect.
155
+ *
156
+ * Text writes (a command's rendered envelope output) are ANSI-stripped, the
157
+ * documented plain-pipe deviation; binary writes (a raw `cat` of a DICOM file)
158
+ * are kept byte-for-byte. The err channel passes through to stderr live, since
159
+ * a pipe never carries the error stream. Status and progress are ephemeral.
160
+ */
161
+ export class PipeCaptureSink {
162
+ chunks = [];
163
+ /** @inheritdoc */
164
+ data_write(chunk) {
165
+ this.chunks.push(typeof chunk === 'string'
166
+ ? Buffer.from(ansi_strip(chunk), 'utf-8')
167
+ : chunk);
168
+ }
169
+ /** @inheritdoc */
170
+ err_write(chunk) {
171
+ // The err channel is never piped: pass it straight to stderr, exactly as
172
+ // the historical inherit behavior did.
173
+ process.stderr.write(chunk);
174
+ }
175
+ /** @inheritdoc */
176
+ status_write(_text) {
177
+ // Status is ephemeral by contract.
178
+ }
179
+ progress_write(_event) {
180
+ // Progress is ephemeral by contract.
181
+ }
182
+ /**
183
+ * Returns everything captured on the data channel so far.
184
+ *
185
+ * @returns The captured bytes (stripped text and raw binary, in write order).
186
+ */
187
+ buffer_get() {
188
+ return Buffer.concat(this.chunks);
189
+ }
190
+ }
156
191
  /**
157
192
  * The host sink: the process-wide default installed by whoever owns the output
158
193
  * destination (the CLI REPL, the daemon). Defaults to stdout so every entry
@@ -195,6 +230,22 @@ export function sink_set(sink) {
195
230
  hostSink = sink;
196
231
  return previous;
197
232
  }
233
+ /**
234
+ * Runs `fn` with `sink` installed as the active sink for its async context.
235
+ *
236
+ * Command execution inside the callback resolves {@link sink_get} to `sink`,
237
+ * isolated from any other command running concurrently in the same process.
238
+ * This is how the pipe and redirect paths capture a command's output without
239
+ * touching the global console, and how a multi-tenant host would scope a
240
+ * session's sink around one `line_execute`.
241
+ *
242
+ * @param sink - The sink to scope.
243
+ * @param fn - The work to run within the scope.
244
+ * @returns Whatever `fn` resolves to.
245
+ */
246
+ export function sinkScope_run(sink, fn) {
247
+ return sinkScope.run(sink, fn);
248
+ }
198
249
  /**
199
250
  * Delivers a completed envelope to the active sink.
200
251
  *
@@ -214,6 +265,29 @@ export function envelope_deliver(envelope) {
214
265
  sink.err_write(envelope.renderedErr);
215
266
  }
216
267
  }
268
+ /**
269
+ * Writes a line to the active sink's data channel (appending a newline).
270
+ *
271
+ * The `console.log` replacement for streaming builtins — commands that emit
272
+ * incremental output over their lifetime (a blocking pull with per-series
273
+ * progress) rather than a single final envelope. In a pipe or redirect this
274
+ * lands in the capture buffer; on a daemon it streams to the remote surface.
275
+ *
276
+ * @param text - The line to write (a newline is appended).
277
+ */
278
+ export function sink_dataLine(text) {
279
+ sink_get().data_write(`${text}\n`);
280
+ }
281
+ /**
282
+ * Writes a line to the active sink's error channel (appending a newline).
283
+ *
284
+ * The `console.error` replacement for streaming builtins.
285
+ *
286
+ * @param text - The line to write (a newline is appended).
287
+ */
288
+ export function sink_errLine(text) {
289
+ sink_get().err_write(`${text}\n`);
290
+ }
217
291
  /**
218
292
  * Adapts an envelope-returning builtin to the legacy printing handler shape.
219
293
  *
@@ -235,80 +309,6 @@ export function envelopeHandler_wrap(handler) {
235
309
  envelope_deliver(envelope);
236
310
  };
237
311
  }
238
- /**
239
- * Adapts a legacy printing builtin to the envelope-returning shape.
240
- *
241
- * This is the capture bridge for commands whose rendering lives below the
242
- * seam (chili's table display prints internally): the handler runs with the
243
- * data and err channels captured, console printing redirected into the
244
- * capture, and status passed through live so spinners stay visible. The
245
- * result is an envelope carrying the exact bytes each stream would have
246
- * shown, with the status derived from the process exit code the handler set.
247
- *
248
- * Bridged commands gain envelope semantics without typed models; native
249
- * conversion (models, streamed data) remains the end state for commands
250
- * where a structural consumer exists.
251
- *
252
- * @param handler - A legacy printing command handler.
253
- * @returns An envelope-returning handler with identical observable output.
254
- */
255
- export function printingHandler_wrap(handler) {
256
- return async (args) => {
257
- const live = sink_get();
258
- const capture = new CaptureSink(live, {
259
- forwardEnvelopeOutput: sink_streamsEnvelopeOutput(live),
260
- });
261
- // The command's sink is scoped to this async context, so sink_get() (used
262
- // by spinners, progress and directly-writing builtins) resolves to this
263
- // capture without a shared global that concurrent commands would stomp.
264
- // The console/stdout redirect below remains per-invocation: removing it in
265
- // favour of envelope-returning builtins is tracked separately (#98).
266
- const originalLog = console.log;
267
- const originalError = console.error;
268
- const originalStdoutWrite = process.stdout.write.bind(process.stdout);
269
- const exitCodeBefore = typeof process.exitCode === 'number' ? process.exitCode : 0;
270
- console.log = (...logArgs) => {
271
- const text = logArgs
272
- .map((arg) => (typeof arg === 'string' ? arg : JSON.stringify(arg)))
273
- .join(' ');
274
- capture.data_write(`${text}\n`);
275
- };
276
- console.error = (...logArgs) => {
277
- const text = logArgs
278
- .map((arg) => (typeof arg === 'string' ? arg : JSON.stringify(arg)))
279
- .join(' ');
280
- capture.err_write(`${text}\n`);
281
- };
282
- process.stdout.write = ((chunk) => {
283
- if (typeof chunk === 'string' || Buffer.isBuffer(chunk)) {
284
- capture.data_write(chunk);
285
- }
286
- else if (chunk instanceof Uint8Array) {
287
- capture.data_write(Buffer.from(chunk));
288
- }
289
- return true;
290
- });
291
- try {
292
- await sinkScope.run(capture, async () => {
293
- await handler(args);
294
- });
295
- }
296
- finally {
297
- console.log = originalLog;
298
- console.error = originalError;
299
- process.stdout.write = originalStdoutWrite;
300
- }
301
- const exitCodeAfter = typeof process.exitCode === 'number' ? process.exitCode : 0;
302
- const failed = exitCodeAfter !== 0 && exitCodeAfter !== exitCodeBefore;
303
- const rendered = capture.dataText_get();
304
- const renderedErr = capture.errText_get();
305
- const envelope = { status: failed ? 'error' : 'ok', rendered };
306
- if (renderedErr.length > 0) {
307
- envelope.renderedErr = renderedErr;
308
- }
309
- return envelope;
310
- };
311
- }
312
312
  /** Matches ANSI escape sequences (SGR colors, cursor movement, erase). */
313
313
  const ANSI_PATTERN = /\x1b\[[0-9;?]*[a-zA-Z]/g;
314
314
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/core/sink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/core/sink.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ListingItem } from '@fnndsc/chili/models/listing.js';
2
- import { Result } from '@fnndsc/cumin';
2
+ import { Result, type CommandEnvelope } from '@fnndsc/cumin';
3
3
  /**
4
4
  * Virtual File System Router.
5
5
  * Dispatches operations to Virtual or Native providers.
@@ -43,7 +43,7 @@ export declare class VFS {
43
43
  sort?: 'name' | 'size' | 'date' | 'owner';
44
44
  reverse?: boolean;
45
45
  directory?: boolean;
46
- }): Promise<void>;
46
+ }): Promise<CommandEnvelope>;
47
47
  /**
48
48
  * Refreshes cache in the background without blocking or updating display.
49
49
  * Used for optimistic rendering - fetch fresh data after serving stale cache.
@@ -12,7 +12,7 @@ import chalk from 'chalk';
12
12
  import * as path from 'path';
13
13
  import { grid_render, long_render } from '@fnndsc/chili/views/ls.js';
14
14
  import { list_applySort } from '@fnndsc/chili/utils/sort.js';
15
- import { listCache_get, Ok, Err, errorStack } from '@fnndsc/cumin';
15
+ import { listCache_get, Ok, Err, errorStack, envelope_ok, envelope_error } from '@fnndsc/cumin';
16
16
  import { spinner } from '../spinner.js';
17
17
  import { error_stripDebugPrefix } from '../../builtins/utils.js';
18
18
  /**
@@ -145,24 +145,19 @@ export class VFS {
145
145
  }
146
146
  if (!result.ok) {
147
147
  const lastError = errorStack.stack_pop();
148
- if (lastError) {
149
- console.error(chalk.red(error_stripDebugPrefix(lastError.message)));
150
- }
151
- return;
148
+ const renderedErr = lastError ? `${chalk.red(error_stripDebugPrefix(lastError.message))}\n` : '';
149
+ return envelope_error('', undefined, renderedErr);
152
150
  }
153
151
  if (result.value.length === 0) {
154
- return;
152
+ return envelope_ok('');
155
153
  }
156
154
  // Render based on options
157
- if (options.long) {
158
- console.log(long_render(result.value, { human: !!options.human }));
159
- }
160
- else {
161
- console.log(grid_render(result.value, { oneColumn: !!options.oneColumn }));
162
- }
163
- // If we served stale cache, show indicator and refresh in background
155
+ let rendered = options.long
156
+ ? `${long_render(result.value, { human: !!options.human })}\n`
157
+ : `${grid_render(result.value, { oneColumn: !!options.oneColumn })}\n`;
158
+ // If we served stale cache, note it and refresh in background.
164
159
  if (wasStale) {
165
- console.log(chalk.gray('(cached, refreshing...)'));
160
+ rendered += `${chalk.gray('(cached, refreshing...)')}\n`;
166
161
  // Trigger background refresh - don't await. Fenced in its own error-stack
167
162
  // scope so its pushes/pops cannot corrupt a concurrent foreground
168
163
  // command's error-drain window.
@@ -172,6 +167,7 @@ export class VFS {
172
167
  });
173
168
  });
174
169
  }
170
+ return envelope_ok(rendered);
175
171
  }
176
172
  /**
177
173
  * Refreshes cache in the background without blocking or updating display.
@@ -1 +1 @@
1
- {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../../src/lib/vfs/vfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../../src/lib/vfs/vfs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fnndsc/brasa",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "BRASA Runs Abstracted Shell Actions - the hostable ChRIS shell engine (kernel)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -39,7 +39,7 @@
39
39
  "author": "FNNDSC <dev@babyMRI.org>",
40
40
  "license": "MIT",
41
41
  "dependencies": {
42
- "@fnndsc/chili": "^3.3.0",
42
+ "@fnndsc/chili": "^3.5.0",
43
43
  "@fnndsc/cumin": "^3.5.0",
44
44
  "@fnndsc/salsa": "^3.2.6",
45
45
  "chalk": "^4.1.2",