@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.
- package/dist/builtins/fs/cat.js +3 -63
- package/dist/builtins/fs/cat.js.map +1 -1
- package/dist/builtins/fs/download.d.ts +3 -1
- package/dist/builtins/fs/download.js +10 -7
- package/dist/builtins/fs/download.js.map +1 -1
- package/dist/builtins/fs/edit.d.ts +3 -1
- package/dist/builtins/fs/edit.js +17 -23
- package/dist/builtins/fs/edit.js.map +1 -1
- package/dist/builtins/fs/pull.d.ts +2 -1
- package/dist/builtins/fs/pull.js +31 -27
- package/dist/builtins/fs/pull.js.map +1 -1
- package/dist/builtins/fs/upload.d.ts +3 -1
- package/dist/builtins/fs/upload.js +10 -8
- package/dist/builtins/fs/upload.js.map +1 -1
- package/dist/builtins/help.d.ts +3 -12
- package/dist/builtins/help.js +3 -21
- package/dist/builtins/help.js.map +1 -1
- package/dist/builtins/net/connect.d.ts +3 -2
- package/dist/builtins/net/connect.js +6 -8
- package/dist/builtins/net/connect.js.map +1 -1
- package/dist/builtins/net/pacs.d.ts +4 -1
- package/dist/builtins/net/pacs.js +38 -39
- package/dist/builtins/net/pacs.js.map +1 -1
- package/dist/builtins/res/pipeline.d.ts +2 -1
- package/dist/builtins/res/pipeline.js +53 -53
- package/dist/builtins/res/pipeline.js.map +1 -1
- package/dist/builtins/store.d.ts +3 -1
- package/dist/builtins/store.js +19 -35
- package/dist/builtins/store.js.map +1 -1
- package/dist/builtins/sys/version.d.ts +6 -4
- package/dist/builtins/sys/version.js +6 -4
- package/dist/builtins/sys/version.js.map +1 -1
- package/dist/core/chiliDelegate.d.ts +28 -7
- package/dist/core/chiliDelegate.js +47 -11
- package/dist/core/chiliDelegate.js.map +1 -1
- package/dist/core/dispatch.js +85 -107
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/sink.d.ts +57 -0
- package/dist/core/sink.js +77 -0
- package/dist/core/sink.js.map +1 -1
- package/dist/core/version.d.ts +34 -5
- package/dist/core/version.js +109 -40
- package/dist/core/version.js.map +1 -1
- 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
|
|
5
|
-
*
|
|
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 {
|
|
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
|
-
*
|
|
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., "
|
|
49
|
+
* @param command - The command to run (e.g., "pacsservers").
|
|
20
50
|
* @param args - The arguments to pass to the command.
|
|
21
|
-
* @returns
|
|
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
|
|
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 (
|
|
28
|
-
const message =
|
|
29
|
-
|
|
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,
|
|
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"}
|
package/dist/core/dispatch.js
CHANGED
|
@@ -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 {
|
|
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,
|
|
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:
|
|
216
|
-
|
|
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
|
|
393
|
-
//
|
|
394
|
-
|
|
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 chili — its 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
|
-
*
|
|
440
|
-
*
|
|
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
|
|
446
|
-
if (args_checkHasHelpFlag(args, command)) {
|
|
447
|
-
|
|
448
|
-
return Ok(true);
|
|
427
|
+
function helpEnvelope_maybe(command, args) {
|
|
428
|
+
if (!args_checkHasHelpFlag(args, command)) {
|
|
429
|
+
return null;
|
|
449
430
|
}
|
|
450
|
-
|
|
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
|
-
//
|
|
503
|
-
//
|
|
504
|
-
//
|
|
505
|
-
//
|
|
506
|
-
// bytes
|
|
507
|
-
const
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
envelope = await envelopeHandler(args);
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
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
|
-
|
|
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
|
-
|
|
587
|
-
|
|
588
|
-
|
|
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":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAU,UAAU,EAAE,EAAE,EAAE,GAAG,EAAgB,cAAc,EAAE,MAAM,eAAe,CAAC;AAE1F,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC7G,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GAEtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAExG,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,KAAK,UAAU,uBAAuB,CAAC,OAAe,EAAE,IAAc;IACpE,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAoB,cAAc,CAC9C,EAAE,EACF,SAAS,EACT,GAAG,KAAK,CAAC,GAAG,CAAC,6BAA6B,OAAO,EAAE,CAAC,IAAI,CACzD,CAAC;QACF,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,QAAQ,EAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAoB,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACxF,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAChC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,YAAoB;IAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAA+B,EAAE,EAAE;QACrD,MAAM,KAAK,GAAiB,KAAK,CAAC,YAAY,EAAE;YAC9C,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;YACxC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAWD;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAoC;IAChE,GAAG,EAAE,WAAW;IAChB,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,GAAG,EAAE,WAAW;IAChB,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,cAAc;IACtB,YAAY,EAAE,oBAAoB;IAClC,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,eAAe;IACxB,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,gBAAgB;IAC1B,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,eAAe;IACxB,QAAQ,EAAE,eAAe;IACzB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,aAAa;IACpB,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,kBAAkB;IAC9B,WAAW,EAAE,kBAAkB;IAC/B,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,kBAAkB;IACzB,cAAc,EAAE,sBAAsB;IACtC,eAAe,EAAE,sBAAsB;IACvC,QAAQ,EAAE,sBAAsB;IAChC,SAAS,EAAE,sBAAsB;IACjC,GAAG,EAAE,sBAAsB;IAC3B,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,gBAAgB;IAC1B,SAAS,EAAE,gBAAgB;IAC3B,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,eAAe;IACxB,kBAAkB,EAAE,0BAA0B;IAC9C,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,CAAC,IAAc,EAA4B,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3G,WAAW,EAAE,CAAC,IAAc,EAA4B,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3G,YAAY,EAAE,CAAC,IAAc,EAA4B,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7G,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,gBAAgB;IAC1B,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,gBAAgB;IAC1B,SAAS,EAAE,gBAAgB;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAmC;IAC9D,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC9C,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IAChD,SAAS,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IACjD,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IAChD,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IAChD,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC9C,kBAAkB,EAAE,oBAAoB,CAAC,0BAA0B,CAAC;IACpE,YAAY,EAAE,oBAAoB,CAAC,oBAAoB,CAAC;IACxD,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IAChD,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,OAAO,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC7C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,KAAK,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACzC,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC9C,QAAQ,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC/C,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACvC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,MAAM,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC3C,UAAU,EAAE,oBAAoB,CAAC,kBAAkB,CAAC;IACpD,WAAW,EAAE,oBAAoB,CAAC,kBAAkB,CAAC;IACrD,IAAI,EAAE,oBAAoB,CAAC,kBAAkB,CAAC;IAC9C,KAAK,EAAE,oBAAoB,CAAC,kBAAkB,CAAC;IAC/C,cAAc,EAAE,oBAAoB,CAAC,sBAAsB,CAAC;IAC5D,eAAe,EAAE,oBAAoB,CAAC,sBAAsB,CAAC;IAC7D,QAAQ,EAAE,oBAAoB,CAAC,sBAAsB,CAAC;IACtD,SAAS,EAAE,oBAAoB,CAAC,sBAAsB,CAAC;IACvD,GAAG,EAAE,oBAAoB,CAAC,sBAAsB,CAAC;IACjD,IAAI,EAAE,oBAAoB,CAAC,sBAAsB,CAAC;IAClD,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IAChD,SAAS,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IACjD,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,WAAW,EAAE,oBAAoB,CAAC,CAAC,IAAc,EAA4B,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACjI,WAAW,EAAE,oBAAoB,CAAC,CAAC,IAAc,EAA4B,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACjI,YAAY,EAAE,oBAAoB,CAAC,CAAC,IAAc,EAA4B,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;CACpI,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAiB,EAAE,OAAgB;IAC1E,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,OAAO,GAAW,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,yBAAyB,CAAC,IAAY,EAAE,IAAc;IACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9D,MAAM,gBAAgB,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,MAAM,gBAAgB,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,MAAM,gBAAgB,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,OAAO,CAClB,8DAA8D,EAC9D,CAAC,KAAa,EAAE,MAA0B,EAAE,IAAwB,EAAE,EAAE;QACtE,MAAM,KAAK,GAAuB,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QACpE,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa;IACpB,OAAO,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAAuB,EAAE,IAAc;IACtE,MAAM,cAAc,GAAW,aAAa,EAAE,CAAC;IAC/C,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,aAAa,GAAW,aAAa,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAY,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,cAAc,CAAC;IAChF,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,wBAAwB,CAAC,UAAkB,EAAE,QAAyB;IAC7E,MAAM,OAAO,GAAmB,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC;QAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,OAAqB,EAAW,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;YAC3G,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAAe,EAAE,IAAc;IAC5E,MAAM,UAAU,GAAW,UAAU,CAAC,eAAe,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAoB,MAAM,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnF,OAAO,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,2BAA2B,CAAC,OAAe,EAAE,IAAc;IACxE,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC,MAAM,eAAe,GAAgC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAChF,IAAI,eAAe,EAAE,CAAC;QACpB,sEAAsE;QACtE,qDAAqD;QACrD,MAAM,QAAQ,GAAgC,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACxC,CAAC;QACD,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAA+B,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,SAAS,GAA0B,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpE,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,UAAU,GAA4B,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC1H,MAAM,YAAY,GAA4B,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAE9H,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,iBAAiB,CAAC,CAAC,UAAoB,EAAiB,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QACtH,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,iBAAiB,CAAC,CAAC,YAAsB,EAAiB,EAAE,CAAC,yBAAyB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9H,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,+DAA+D;IAC/D,OAAO,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAc;IACpE,MAAM,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,YAA0B;IAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,8BAA8B,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAmB,sBAAsB,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACzG,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,MAAM,SAAS,GAA6B,UAAU,CAAC,SAAS,EAAE,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QAClC,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,IAAc;IACzD,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAoB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACnF,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAc;IAC7D,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,YAAY,GAAqB,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,MAAM,SAAS,GAA6B,UAAU,CAAC,SAAS,EAAE,CAAC;QACnE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IACD,OAAO,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,8BAA8B,CAAC,WAAmB;IAC/D,MAAM,WAAW,GAAW,WAAW,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/D,MAAM,MAAM,GAAa,aAAa,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAa,MAAM,CAAC;IAE1C,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,YAAY,GAAqB,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,SAAS,GAA6B,UAAU,CAAC,SAAS,EAAE,CAAC;YACnE,MAAM,QAAQ,GAAW,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YACjG,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACvE,CAAC;QACD,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,8EAA8E;IAC9E,yEAAyE;IACzE,4EAA4E;IAC5E,MAAM,QAAQ,GAAoB,IAAI,eAAe,EAAE,CAAC;IACxD,MAAM,aAAa,CAAC,QAAQ,EAAE,KAAK,IAAmB,EAAE;QACtD,MAAM,eAAe,GAAgC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChF,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAgC,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,QAAQ,EAAE,CAAC;gBACb,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,MAAM,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAClE,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAA+B,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAW,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAkB;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACxC,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,kEAAkE;IAClE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,kBAAkB,CAAC,cAAc,EAAE,2CAA2C,CAAC,CAAC;IAClF,CAAC;IAED,oDAAoD;IACpD,MAAM,YAAY,GAAW,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,8BAA8B,CAAC,YAAY,CAAC,CAAC;IAEtE,4DAA4D;IAC5D,IAAI,YAAY,GAAW,MAAM,CAAC;IAClC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,YAAY,GAAG,MAAM,WAAW,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC5E,CAAC;IAED,sBAAsB;IACtB,QAAQ,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,WAAmB,EACnB,SAAiB,EACjB,aAAsB;IAEtB,MAAM,MAAM,GAAa,aAAa,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAa,MAAM,CAAC;IAE1C,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,YAAY,GAA2B,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/E,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAqB,MAAM,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7E,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;IAE1B,wEAAwE;IACxE,gEAAgE;IAChE,MAAM,UAAU,GAAW,UAAU,CAAC,eAAe,EAAE,CAAC;IACxD,MAAM,cAAc,GAAW,aAAa,EAAE,CAAC;IAC/C,IAAI,MAAM,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QACjD,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACnD,MAAM,aAAa,GAAW,aAAa,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAY,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,cAAc,CAAC;QAChF,OAAO,wBAAwB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,QAAQ,GAAoB,MAAM,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChF,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACnD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/core/sink.d.ts
CHANGED
|
@@ -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
|
*
|