@fnndsc/brasa 0.2.0 → 0.4.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 (44) 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/edit.d.ts +3 -1
  7. package/dist/builtins/fs/edit.js +17 -23
  8. package/dist/builtins/fs/edit.js.map +1 -1
  9. package/dist/builtins/fs/pull.d.ts +2 -1
  10. package/dist/builtins/fs/pull.js +31 -27
  11. package/dist/builtins/fs/pull.js.map +1 -1
  12. package/dist/builtins/fs/upload.d.ts +3 -1
  13. package/dist/builtins/fs/upload.js +10 -8
  14. package/dist/builtins/fs/upload.js.map +1 -1
  15. package/dist/builtins/help.d.ts +3 -12
  16. package/dist/builtins/help.js +3 -21
  17. package/dist/builtins/help.js.map +1 -1
  18. package/dist/builtins/net/connect.d.ts +3 -2
  19. package/dist/builtins/net/connect.js +6 -8
  20. package/dist/builtins/net/connect.js.map +1 -1
  21. package/dist/builtins/net/pacs.d.ts +4 -1
  22. package/dist/builtins/net/pacs.js +38 -39
  23. package/dist/builtins/net/pacs.js.map +1 -1
  24. package/dist/builtins/res/pipeline.d.ts +2 -1
  25. package/dist/builtins/res/pipeline.js +53 -53
  26. package/dist/builtins/res/pipeline.js.map +1 -1
  27. package/dist/builtins/store.d.ts +3 -1
  28. package/dist/builtins/store.js +19 -35
  29. package/dist/builtins/store.js.map +1 -1
  30. package/dist/builtins/sys/version.d.ts +6 -4
  31. package/dist/builtins/sys/version.js +6 -4
  32. package/dist/builtins/sys/version.js.map +1 -1
  33. package/dist/core/chiliDelegate.d.ts +28 -7
  34. package/dist/core/chiliDelegate.js +47 -11
  35. package/dist/core/chiliDelegate.js.map +1 -1
  36. package/dist/core/dispatch.js +85 -107
  37. package/dist/core/dispatch.js.map +1 -1
  38. package/dist/core/sink.d.ts +57 -0
  39. package/dist/core/sink.js +77 -0
  40. package/dist/core/sink.js.map +1 -1
  41. package/dist/core/version.d.ts +34 -5
  42. package/dist/core/version.js +109 -40
  43. package/dist/core/version.js.map +1 -1
  44. package/package.json +2 -2
@@ -1,32 +1,68 @@
1
1
  /**
2
2
  * @file Delegation to the chili command layer.
3
3
  *
4
- * Unknown commands and several resource builtins hand off to chili. This lives
5
- * in its own leaf module so both the dispatcher and those builtins can call it
4
+ * Unknown commands and the pacs passthroughs hand off to chili. This lives in
5
+ * its own leaf module so both the dispatcher and any builtins can call it
6
6
  * without importing each other — dispatch imports the builtins, so routing the
7
7
  * delegation through dispatch would close a cycle.
8
8
  *
9
9
  * @module
10
10
  */
11
11
  import chalk from 'chalk';
12
- import { run as chiliRun } from '@fnndsc/chili/run.js';
12
+ import { run_capture, commandNames_get } from '@fnndsc/chili/run.js';
13
+ import { envelope_ok, envelope_error } from '@fnndsc/cumin';
14
+ /** chili's top-level command names, resolved once and memoized (see {@link chiliCommand_exists}). */
15
+ let chiliCommandNames = null;
13
16
  /**
14
- * Runs a chili command in-process.
17
+ * Whether chili has a top-level command by this name. Used to decide whether an
18
+ * unknown chell command is worth delegating: a name chili does not know (a typo,
19
+ * a shell program like `fortune`) is reported as not-found rather than paying the
20
+ * cost of a chili run that can only fail. The command set is resolved once — a
21
+ * cheap, network-free registration pass — and cached.
22
+ *
23
+ * @param command - The command name to test.
24
+ * @returns True if chili exposes a top-level command with this name.
25
+ */
26
+ export async function chiliCommand_exists(command) {
27
+ if (!chiliCommandNames) {
28
+ chiliCommandNames = await commandNames_get();
29
+ }
30
+ return chiliCommandNames.has(command);
31
+ }
32
+ /**
33
+ * The notice shown when an unknown chell command is handed off to chili.
34
+ *
35
+ * @param command - The command being delegated.
36
+ * @returns The formatted notice line.
37
+ */
38
+ export function chiliDelegationNotice_build(command) {
39
+ return `${chalk.yellow(`Unknown chell command '${command}' -- delegating to chili`)}\n`;
40
+ }
41
+ /**
42
+ * Runs a chili command in-process and returns its output as an envelope.
15
43
  *
16
44
  * chili shares this process's cumin connection and context, so there is no node
17
- * subprocess to spawn and no per-command startup cost.
45
+ * subprocess to spawn and no per-command startup cost. Its output is captured
46
+ * through chili's own output seam ({@link run_capture}) rather than a console
47
+ * monkeypatch, so the rendered text and error stream travel in the envelope.
18
48
  *
19
- * @param command - The command to run (e.g., "feeds").
49
+ * @param command - The command to run (e.g., "pacsservers").
20
50
  * @param args - The arguments to pass to the command.
21
- * @returns A promise resolving when the command completes.
51
+ * @returns An envelope carrying chili's captured output.
22
52
  */
23
53
  export async function chiliCommand_run(command, args) {
24
54
  try {
25
- await chiliRun([command, ...args]);
55
+ const { out, err } = await run_capture([command, ...args]);
56
+ const envelope = envelope_ok(out);
57
+ if (err.length > 0) {
58
+ envelope.renderedErr = err;
59
+ }
60
+ return envelope;
26
61
  }
27
- catch (err) {
28
- const message = err instanceof Error ? err.message : String(err);
29
- console.error(chalk.red(`chili command '${command}' failed: ${message}`));
62
+ catch (e) {
63
+ const message = e instanceof Error ? e.message : String(e);
64
+ process.exitCode = 1;
65
+ return envelope_error('', undefined, `${chalk.red(`chili command '${command}' failed: ${message}`)}\n`);
30
66
  }
31
67
  }
32
68
  //# sourceMappingURL=chiliDelegate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chiliDelegate.js","sourceRoot":"","sources":["../../src/core/chiliDelegate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAc;IACpE,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,OAAO,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"chiliDelegate.js","sourceRoot":"","sources":["../../src/core/chiliDelegate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAwB,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAElF,qGAAqG;AACrG,IAAI,iBAAiB,GAAuB,IAAI,CAAC;AAEjD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe;IACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,iBAAiB,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,0BAA0B,OAAO,0BAA0B,CAAC,IAAI,CAAC;AAC1F,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAc;IACpE,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAoB,WAAW,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC;QAC7B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,OAAO,GAAW,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,OAAO,aAAa,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1G,CAAC;AACH,CAAC"}
@@ -19,16 +19,38 @@ import { builtin_cd, builtin_ls, builtin_pwd, builtin_connect, builtin_logout, b
19
19
  import { builtin_executePlugin } from '../builtins/pluginExecute.js';
20
20
  import { builtin_proc } from '../builtins/proc.js';
21
21
  import { wildcards_expandAll } from '../builtins/wildcard.js';
22
- import { help_show, args_checkHasHelpFlag } from '../builtins/help.js';
22
+ import { help_render, args_checkHasHelpFlag } from '../builtins/help.js';
23
23
  import { pluginExecutable_handle } from '../builtins/executable.js';
24
- import { errorStack, Ok, Err } from '@fnndsc/cumin';
25
- import { envelopeHandler_wrap, ansi_strip, envelope_deliver, sink_get } from './sink.js';
24
+ import { errorStack, Ok, Err, envelope_error } from '@fnndsc/cumin';
25
+ import { envelopeHandler_wrap, envelope_deliver, sink_get, PipeCaptureSink, sinkScope_run } from './sink.js';
26
26
  import { vfs } from '../lib/vfs/vfs.js';
27
27
  import { args_tokenize } from '../lib/parser.js';
28
28
  import { surface_get, capability_require } from './surface.js';
29
29
  import { redirectTarget_resolve, wildcards_expandCheck, } from './preprocess.js';
30
- import { chiliCommand_run } from './chiliDelegate.js';
30
+ import { chiliCommand_run, chiliCommand_exists, chiliDelegationNotice_build } from './chiliDelegate.js';
31
31
  export { chiliCommand_run };
32
+ /**
33
+ * Handles a command chell does not recognize. If chili has no such command
34
+ * either, reports `command not found` on the error channel and does not
35
+ * delegate — no chili run, no context init. Otherwise emits the hand-off notice
36
+ * on the live sink *before* running chili, so the notice appears ahead of
37
+ * chili's (possibly slow) output rather than being glued on after it returns.
38
+ *
39
+ * @param command - The unrecognized command name.
40
+ * @param args - The command's arguments.
41
+ * @returns The delivered envelope (chili's result, or a not-found error).
42
+ */
43
+ async function unknownCommand_delegate(command, args) {
44
+ if (!(await chiliCommand_exists(command))) {
45
+ const envelope = envelope_error('', undefined, `${chalk.red(`chell: command not found: ${command}`)}\n`);
46
+ envelope_deliver(envelope);
47
+ return envelope;
48
+ }
49
+ sink_get().data_write(chiliDelegationNotice_build(command));
50
+ const chiliEnvelope = await chiliCommand_run(command, ['-s', ...args]);
51
+ envelope_deliver(chiliEnvelope);
52
+ return chiliEnvelope;
53
+ }
32
54
  /**
33
55
  * Executes a shell command on the host system (shell escape with ! prefix).
34
56
  *
@@ -54,46 +76,6 @@ export async function shellCommand_execute(shellCommand) {
54
76
  });
55
77
  });
56
78
  }
57
- /**
58
- * Captures console output during command execution.
59
- *
60
- * @param fn - The function to execute while capturing output.
61
- * @returns The captured output as a string and buffer.
62
- */
63
- async function output_capture(fn) {
64
- const chunks = [];
65
- const originalLog = console.log;
66
- const originalStdoutWrite = process.stdout.write.bind(process.stdout);
67
- // Override console.log and console.error
68
- console.log = (...args) => {
69
- const text = args.map(arg => typeof arg === 'string' ? arg : JSON.stringify(arg)).join(' ') + '\n';
70
- chunks.push(Buffer.from(text, 'utf-8'));
71
- };
72
- // Override process.stdout.write to capture binary data
73
- process.stdout.write = ((chunk) => {
74
- if (typeof chunk === 'string') {
75
- chunks.push(Buffer.from(chunk, 'utf-8'));
76
- }
77
- else if (Buffer.isBuffer(chunk)) {
78
- chunks.push(chunk);
79
- }
80
- else if (chunk instanceof Uint8Array) {
81
- chunks.push(Buffer.from(chunk));
82
- }
83
- return true;
84
- });
85
- try {
86
- await fn();
87
- }
88
- finally {
89
- // Restore original console methods and stdout.write
90
- console.log = originalLog;
91
- process.stdout.write = originalStdoutWrite;
92
- }
93
- const buffer = Buffer.concat(chunks);
94
- const text = buffer.toString('utf-8');
95
- return { text, buffer };
96
- }
97
79
  /**
98
80
  * Builtins that have been converted to return envelopes, keyed by command
99
81
  * name. Entries here are also present in COMMAND_HANDLERS in wrapped form;
@@ -115,9 +97,6 @@ export const ENVELOPE_HANDLERS = {
115
97
  physicalmode: builtin_physicalmode,
116
98
  debug: builtin_debug,
117
99
  version: builtin_version,
118
- // Bridged (captured) handlers: envelope semantics without typed models.
119
- // plugin is deliberately absent: its add flow prompts for admin
120
- // credentials through readline, which capture would make invisible.
121
100
  ls: builtin_ls,
122
101
  tree: builtin_tree,
123
102
  du: builtin_du,
@@ -153,9 +132,21 @@ export const ENVELOPE_HANDLERS = {
153
132
  parametersofplugin: builtin_parametersofplugin,
154
133
  plugin: builtin_plugin,
155
134
  plugins: builtin_plugin,
135
+ pacsservers: (args) => chiliCommand_run('pacsservers', ['-s', ...args]),
136
+ pacsqueries: (args) => chiliCommand_run('pacsqueries', ['-s', ...args]),
137
+ pacsretrieve: (args) => chiliCommand_run('pacsretrieve', ['-s', ...args]),
138
+ connect: builtin_connect,
139
+ upload: builtin_upload,
140
+ download: builtin_download,
141
+ store: builtin_store,
142
+ edit: builtin_edit,
143
+ pacs: builtin_pacs,
144
+ pull: builtin_pull,
145
+ pipeline: builtin_pipeline,
146
+ pipelines: builtin_pipeline,
156
147
  };
157
148
  export const COMMAND_HANDLERS = {
158
- connect: builtin_connect,
149
+ connect: envelopeHandler_wrap(builtin_connect),
159
150
  logout: envelopeHandler_wrap(builtin_logout),
160
151
  cd: envelopeHandler_wrap(builtin_cd),
161
152
  ls: envelopeHandler_wrap(builtin_ls),
@@ -166,15 +157,15 @@ export const COMMAND_HANDLERS = {
166
157
  mv: envelopeHandler_wrap(builtin_mv),
167
158
  touch: envelopeHandler_wrap(builtin_touch),
168
159
  mkdir: envelopeHandler_wrap(builtin_mkdir),
169
- upload: builtin_upload,
170
- pacs: builtin_pacs,
171
- pipeline: builtin_pipeline,
172
- pipelines: builtin_pipeline,
173
- pull: builtin_pull,
160
+ upload: envelopeHandler_wrap(builtin_upload),
161
+ pacs: envelopeHandler_wrap(builtin_pacs),
162
+ pipeline: envelopeHandler_wrap(builtin_pipeline),
163
+ pipelines: envelopeHandler_wrap(builtin_pipeline),
164
+ pull: envelopeHandler_wrap(builtin_pull),
174
165
  query: envelopeHandler_wrap(builtin_query),
175
166
  cubepath: envelopeHandler_wrap(builtin_cubepath),
176
- download: builtin_download,
177
- edit: builtin_edit,
167
+ download: envelopeHandler_wrap(builtin_download),
168
+ edit: envelopeHandler_wrap(builtin_edit),
178
169
  context: envelopeHandler_wrap(builtin_context),
179
170
  parametersofplugin: envelopeHandler_wrap(builtin_parametersofplugin),
180
171
  physicalmode: envelopeHandler_wrap(builtin_physicalmode),
@@ -186,7 +177,7 @@ export const COMMAND_HANDLERS = {
186
177
  proc: envelopeHandler_wrap(builtin_proc),
187
178
  tree: envelopeHandler_wrap(builtin_tree),
188
179
  du: envelopeHandler_wrap(builtin_du),
189
- store: builtin_store,
180
+ store: envelopeHandler_wrap(builtin_store),
190
181
  plugin: envelopeHandler_wrap(builtin_plugin),
191
182
  plugins: envelopeHandler_wrap(builtin_plugin),
192
183
  feed: envelopeHandler_wrap(builtin_feed),
@@ -212,15 +203,9 @@ export const COMMAND_HANDLERS = {
212
203
  files: envelopeHandler_wrap(builtin_files),
213
204
  links: envelopeHandler_wrap(builtin_links),
214
205
  dirs: envelopeHandler_wrap(builtin_dirs),
215
- pacsservers: async (args) => {
216
- await chiliCommand_run('pacsservers', ['-s', ...args]);
217
- },
218
- pacsqueries: async (args) => {
219
- await chiliCommand_run('pacsqueries', ['-s', ...args]);
220
- },
221
- pacsretrieve: async (args) => {
222
- await chiliCommand_run('pacsretrieve', ['-s', ...args]);
223
- }
206
+ pacsservers: envelopeHandler_wrap((args) => chiliCommand_run('pacsservers', ['-s', ...args])),
207
+ pacsqueries: envelopeHandler_wrap((args) => chiliCommand_run('pacsqueries', ['-s', ...args])),
208
+ pacsretrieve: envelopeHandler_wrap((args) => chiliCommand_run('pacsretrieve', ['-s', ...args])),
224
209
  };
225
210
  export { COMMAND_HANDLERS_KEYS } from '../command-keys.js';
226
211
  /**
@@ -389,14 +374,9 @@ async function commandDispatchEnvelope_run(command, args) {
389
374
  return handler_runDirect((pipelineArgs) => pipelineExecutable_handle(command, pipelineArgs), args);
390
375
  }
391
376
  }
392
- // Unknown commands delegate to chili, which prints for itselfthe same
393
- // print-direct contract as the other unconverted handlers routed through
394
- // handler_runDirect (upload, pacs, download, ...). No per-invocation console
395
- // capture is installed here.
396
- return handler_runDirect(async (fallbackArgs) => {
397
- console.log(chalk.yellow(`Unknown chell command '${command}' -- delegating to chili`));
398
- await chiliCommand_run(command, ['-s', ...fallbackArgs]);
399
- }, args);
377
+ // Unknown commands are guarded, then delegated to chiliits output is
378
+ // captured through its own seam, with no console capture here.
379
+ return unknownCommand_delegate(command, args);
400
380
  }
401
381
  /**
402
382
  * Dispatches a parsed command to its handler.
@@ -436,18 +416,21 @@ export async function redirect_execute(redirectInfo) {
436
416
  return { status: 'ok', rendered: '' };
437
417
  }
438
418
  /**
439
- * Shows help for a command if `--help` or `-h` is present in args.
440
- * Returns Ok(true) if help was displayed, Ok(false) otherwise.
419
+ * Builds a help envelope for a command if `--help` or `-h` is present in its
420
+ * args, delivering it through the sink so the output reaches the active surface
421
+ * (a remote client over the daemon) rather than the daemon's own terminal.
441
422
  *
442
423
  * @param command - The command name (used to look up help text).
443
424
  * @param args - Parsed argument list.
425
+ * @returns The delivered help envelope, or null if no help flag was present.
444
426
  */
445
- function help_showMaybe(command, args) {
446
- if (args_checkHasHelpFlag(args, command)) {
447
- help_show(command);
448
- return Ok(true);
427
+ function helpEnvelope_maybe(command, args) {
428
+ if (!args_checkHasHelpFlag(args, command)) {
429
+ return null;
449
430
  }
450
- return Ok(false);
431
+ const envelope = { status: 'ok', rendered: help_render(command) };
432
+ envelope_deliver(envelope);
433
+ return envelope;
451
434
  }
452
435
  /**
453
436
  * Expands wildcard patterns in args for commands that support it.
@@ -499,28 +482,21 @@ async function chellCommand_executeAndCapture(commandLine) {
499
482
  if (command === 'exit') {
500
483
  process.exit(0);
501
484
  }
502
- // Envelope-speaking commands feed pipes and redirects from their envelope:
503
- // rendered text with ANSI stripped (plain pipes, the documented deviation),
504
- // error-stream text passed live to stderr exactly as the inherit behavior
505
- // always did. Direct stdout writers (binary cat) are still captured; their
506
- // bytes precede the envelope's rendered text if a command mixes both.
507
- const envelopeHandler = ENVELOPE_HANDLERS[command];
508
- if (envelopeHandler) {
509
- let envelope;
510
- const { buffer: directBuffer } = await output_capture(async () => {
511
- envelope = await envelopeHandler(args);
512
- });
513
- if (!envelope) {
514
- return { text: '', buffer: Buffer.alloc(0) };
515
- }
516
- if (envelope.renderedErr !== undefined && envelope.renderedErr.length > 0) {
517
- process.stderr.write(envelope.renderedErr);
485
+ // The command runs with its output captured into a pipe sink scoped to this
486
+ // async context no console monkeypatch. Envelope handlers deliver their
487
+ // rendered text through the sink (ANSI-stripped for the plain-pipe contract);
488
+ // streaming commands and binary cat write to the same sink directly (raw
489
+ // bytes kept byte-for-byte). The err channel passes through to stderr live.
490
+ const pipeSink = new PipeCaptureSink();
491
+ await sinkScope_run(pipeSink, async () => {
492
+ const envelopeHandler = ENVELOPE_HANDLERS[command];
493
+ if (envelopeHandler) {
494
+ const envelope = await envelopeHandler(args);
495
+ if (envelope) {
496
+ envelope_deliver(envelope);
497
+ }
498
+ return;
518
499
  }
519
- const plain = ansi_strip(envelope.rendered);
520
- const buffer = Buffer.concat([directBuffer, Buffer.from(plain, 'utf-8')]);
521
- return { text: buffer.toString('utf-8'), buffer };
522
- }
523
- return output_capture(async () => {
524
500
  if (await pluginExecutable_handle(command, args, { piped: true })) {
525
501
  return;
526
502
  }
@@ -529,9 +505,10 @@ async function chellCommand_executeAndCapture(commandLine) {
529
505
  await handler(args);
530
506
  return;
531
507
  }
532
- console.log(chalk.yellow(`Unknown chell command '${command}' -- delegating to chili`));
533
- await chiliCommand_run(command, ['-s', ...args]);
508
+ await unknownCommand_delegate(command, args);
534
509
  });
510
+ const buffer = pipeSink.buffer_get();
511
+ return { text: buffer.toString('utf-8'), buffer };
535
512
  }
536
513
  /**
537
514
  * Executes a pipe chain by running the first command in chell and piping
@@ -582,10 +559,11 @@ export async function command_executeToEnvelope(trimmedLine, startTime, timingEn
582
559
  if (tokens.length === 0)
583
560
  return null;
584
561
  let [command, ...args] = tokens;
585
- // Check for --help flag before any processing
586
- const helpResult = help_showMaybe(command, args);
587
- if (helpResult.ok && helpResult.value) {
588
- return { status: 'ok', rendered: '' };
562
+ // Check for --help flag before any processing. The help text travels in the
563
+ // envelope and through the sink, so it reaches the surface that asked for it.
564
+ const helpEnvelope = helpEnvelope_maybe(command, args);
565
+ if (helpEnvelope) {
566
+ return helpEnvelope;
589
567
  }
590
568
  // Expand wildcards for commands that support it
591
569
  const expandResult = await wildcards_expand(command, args);
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/core/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/core/dispatch.ts"],"names":[],"mappings":"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"}
@@ -130,6 +130,30 @@ export declare class CaptureSink implements OutputSink {
130
130
  */
131
131
  errText_get(): string;
132
132
  }
133
+ /**
134
+ * Sink that captures the data channel for a pipe or redirect.
135
+ *
136
+ * Text writes (a command's rendered envelope output) are ANSI-stripped, the
137
+ * documented plain-pipe deviation; binary writes (a raw `cat` of a DICOM file)
138
+ * are kept byte-for-byte. The err channel passes through to stderr live, since
139
+ * a pipe never carries the error stream. Status and progress are ephemeral.
140
+ */
141
+ export declare class PipeCaptureSink implements OutputSink {
142
+ private chunks;
143
+ /** @inheritdoc */
144
+ data_write(chunk: string | Buffer): void;
145
+ /** @inheritdoc */
146
+ err_write(chunk: string | Buffer): void;
147
+ /** @inheritdoc */
148
+ status_write(_text: string): void;
149
+ progress_write(_event: ProgressEvent): void;
150
+ /**
151
+ * Returns everything captured on the data channel so far.
152
+ *
153
+ * @returns The captured bytes (stripped text and raw binary, in write order).
154
+ */
155
+ buffer_get(): Buffer;
156
+ }
133
157
  /**
134
158
  * Returns the sink in effect for the current async context.
135
159
  *
@@ -150,6 +174,20 @@ export declare function sink_get(): OutputSink;
150
174
  * @returns The previously installed host sink, so callers can restore it.
151
175
  */
152
176
  export declare function sink_set(sink: OutputSink): OutputSink;
177
+ /**
178
+ * Runs `fn` with `sink` installed as the active sink for its async context.
179
+ *
180
+ * Command execution inside the callback resolves {@link sink_get} to `sink`,
181
+ * isolated from any other command running concurrently in the same process.
182
+ * This is how the pipe and redirect paths capture a command's output without
183
+ * touching the global console, and how a multi-tenant host would scope a
184
+ * session's sink around one `line_execute`.
185
+ *
186
+ * @param sink - The sink to scope.
187
+ * @param fn - The work to run within the scope.
188
+ * @returns Whatever `fn` resolves to.
189
+ */
190
+ export declare function sinkScope_run<T>(sink: OutputSink, fn: () => Promise<T>): Promise<T>;
153
191
  /**
154
192
  * Delivers a completed envelope to the active sink.
155
193
  *
@@ -161,6 +199,25 @@ export declare function sink_set(sink: OutputSink): OutputSink;
161
199
  * @param envelope - The completed command envelope.
162
200
  */
163
201
  export declare function envelope_deliver(envelope: CommandEnvelope): void;
202
+ /**
203
+ * Writes a line to the active sink's data channel (appending a newline).
204
+ *
205
+ * The `console.log` replacement for streaming builtins — commands that emit
206
+ * incremental output over their lifetime (a blocking pull with per-series
207
+ * progress) rather than a single final envelope. In a pipe or redirect this
208
+ * lands in the capture buffer; on a daemon it streams to the remote surface.
209
+ *
210
+ * @param text - The line to write (a newline is appended).
211
+ */
212
+ export declare function sink_dataLine(text: string): void;
213
+ /**
214
+ * Writes a line to the active sink's error channel (appending a newline).
215
+ *
216
+ * The `console.error` replacement for streaming builtins.
217
+ *
218
+ * @param text - The line to write (a newline is appended).
219
+ */
220
+ export declare function sink_errLine(text: string): void;
164
221
  /**
165
222
  * Adapts an envelope-returning builtin to the legacy printing handler shape.
166
223
  *
package/dist/core/sink.js CHANGED
@@ -150,6 +150,44 @@ export class CaptureSink {
150
150
  return Buffer.concat(this.errChunks).toString('utf-8');
151
151
  }
152
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
+ }
153
191
  /**
154
192
  * The host sink: the process-wide default installed by whoever owns the output
155
193
  * destination (the CLI REPL, the daemon). Defaults to stdout so every entry
@@ -192,6 +230,22 @@ export function sink_set(sink) {
192
230
  hostSink = sink;
193
231
  return previous;
194
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
+ }
195
249
  /**
196
250
  * Delivers a completed envelope to the active sink.
197
251
  *
@@ -211,6 +265,29 @@ export function envelope_deliver(envelope) {
211
265
  sink.err_write(envelope.renderedErr);
212
266
  }
213
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
+ }
214
291
  /**
215
292
  * Adapts an envelope-returning builtin to the legacy printing handler shape.
216
293
  *