@fnndsc/chell 4.3.2 → 4.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/debug.d.ts +3 -1
- package/dist/builtins/debug.js +14 -22
- package/dist/builtins/debug.js.map +1 -1
- package/dist/builtins/fs/cat.d.ts +8 -8
- package/dist/builtins/fs/cat.js +37 -20
- package/dist/builtins/fs/cat.js.map +1 -1
- package/dist/builtins/fs/cd.d.ts +3 -2
- package/dist/builtins/fs/cd.js +48 -33
- package/dist/builtins/fs/cd.js.map +1 -1
- package/dist/builtins/fs/cp.d.ts +4 -1
- package/dist/builtins/fs/cp.js +23 -10
- package/dist/builtins/fs/cp.js.map +1 -1
- package/dist/builtins/fs/download.js +5 -1
- package/dist/builtins/fs/download.js.map +1 -1
- package/dist/builtins/fs/edit.d.ts +2 -2
- package/dist/builtins/fs/edit.js +37 -19
- package/dist/builtins/fs/edit.js.map +1 -1
- package/dist/builtins/fs/mkdir.d.ts +4 -1
- package/dist/builtins/fs/mkdir.js +20 -6
- package/dist/builtins/fs/mkdir.js.map +1 -1
- package/dist/builtins/fs/mv.d.ts +4 -1
- package/dist/builtins/fs/mv.js +23 -10
- package/dist/builtins/fs/mv.js.map +1 -1
- package/dist/builtins/fs/pull.d.ts +2 -2
- package/dist/builtins/fs/pull.js +57 -29
- package/dist/builtins/fs/pull.js.map +1 -1
- package/dist/builtins/fs/pwd.d.ts +6 -3
- package/dist/builtins/fs/pwd.js +8 -10
- package/dist/builtins/fs/pwd.js.map +1 -1
- package/dist/builtins/fs/rm.d.ts +7 -1
- package/dist/builtins/fs/rm.js +61 -12
- package/dist/builtins/fs/rm.js.map +1 -1
- package/dist/builtins/fs/touch.d.ts +4 -1
- package/dist/builtins/fs/touch.js +24 -12
- package/dist/builtins/fs/touch.js.map +1 -1
- package/dist/builtins/fs/upload.js +4 -1
- package/dist/builtins/fs/upload.js.map +1 -1
- package/dist/builtins/index.d.ts +1 -0
- package/dist/builtins/index.js +1 -0
- package/dist/builtins/index.js.map +1 -1
- package/dist/builtins/sys/physicalmode.d.ts +3 -1
- package/dist/builtins/sys/physicalmode.js +13 -20
- package/dist/builtins/sys/physicalmode.js.map +1 -1
- package/dist/builtins/sys/timing.d.ts +3 -1
- package/dist/builtins/sys/timing.js +13 -20
- package/dist/builtins/sys/timing.js.map +1 -1
- package/dist/builtins/sys/version.d.ts +15 -0
- package/dist/builtins/sys/version.js +23 -0
- package/dist/builtins/sys/version.js.map +1 -0
- package/dist/builtins/sys/whoami.d.ts +9 -4
- package/dist/builtins/sys/whoami.js +20 -13
- package/dist/builtins/sys/whoami.js.map +1 -1
- package/dist/calypso.d.ts +13 -0
- package/dist/calypso.js +44 -0
- package/dist/calypso.js.map +1 -0
- package/dist/chell.d.ts +2 -1
- package/dist/chell.js +2 -1
- package/dist/chell.js.map +1 -1
- package/dist/core/boot.d.ts +3 -1
- package/dist/core/boot.js +50 -100
- package/dist/core/boot.js.map +1 -1
- package/dist/core/cli.d.ts +3 -1
- package/dist/core/cli.js +11 -1
- package/dist/core/cli.js.map +1 -1
- package/dist/core/cliSurface.d.ts +26 -0
- package/dist/core/cliSurface.js +152 -0
- package/dist/core/cliSurface.js.map +1 -0
- package/dist/core/dispatch.d.ts +63 -10
- package/dist/core/dispatch.js +326 -234
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/engine.d.ts +91 -0
- package/dist/core/engine.js +222 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/progress.d.ts +25 -0
- package/dist/core/progress.js +10 -0
- package/dist/core/progress.js.map +1 -0
- package/dist/core/progressRenderer.d.ts +42 -0
- package/dist/core/progressRenderer.js +176 -0
- package/dist/core/progressRenderer.js.map +1 -0
- package/dist/core/prompt/session.d.ts +20 -0
- package/dist/core/prompt/session.js +43 -0
- package/dist/core/prompt/session.js.map +1 -0
- package/dist/core/question.d.ts +11 -18
- package/dist/core/question.js +14 -57
- package/dist/core/question.js.map +1 -1
- package/dist/core/repl.d.ts +25 -5
- package/dist/core/repl.js +56 -45
- package/dist/core/repl.js.map +1 -1
- package/dist/core/sink.d.ts +201 -0
- package/dist/core/sink.js +300 -0
- package/dist/core/sink.js.map +1 -0
- package/dist/core/surface.d.ts +172 -0
- package/dist/core/surface.js +105 -0
- package/dist/core/surface.js.map +1 -0
- package/dist/core/version.d.ts +20 -0
- package/dist/core/version.js +82 -0
- package/dist/core/version.js.map +1 -0
- package/dist/core/warnings.d.ts +14 -0
- package/dist/core/warnings.js +25 -0
- package/dist/core/warnings.js.map +1 -0
- package/dist/daemon/launch.d.ts +9 -0
- package/dist/daemon/launch.js +82 -0
- package/dist/daemon/launch.js.map +1 -0
- package/dist/index.js +2 -12
- package/dist/index.js.map +1 -1
- package/dist/lib/spinner.js +5 -4
- package/dist/lib/spinner.js.map +1 -1
- package/dist/lib/vfs/vfs.js +7 -3
- package/dist/lib/vfs/vfs.js.map +1 -1
- package/dist/remote/client.d.ts +6 -0
- package/dist/remote/client.js +71 -0
- package/dist/remote/client.js.map +1 -0
- package/dist/remote/discovery.d.ts +23 -0
- package/dist/remote/discovery.js +55 -0
- package/dist/remote/discovery.js.map +1 -0
- package/dist/remote/remoteEngine.d.ts +125 -0
- package/dist/remote/remoteEngine.js +283 -0
- package/dist/remote/remoteEngine.js.map +1 -0
- package/package.json +7 -5
package/dist/core/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,OAAO,EAAa,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file The CLI host's surface: interaction backed by readline and the local
|
|
3
|
+
* terminal.
|
|
4
|
+
*
|
|
5
|
+
* This is the concrete {@link Surface} the command-line host installs. It
|
|
6
|
+
* declares the full local capability set (hidden input, local editing, and a
|
|
7
|
+
* tty when stdout is one) and backs prompting with readline. Two flavors of
|
|
8
|
+
* prompt exist so the single-readline discipline is preserved: when the REPL
|
|
9
|
+
* is running it passes its own persistent interface, and hidden input is read
|
|
10
|
+
* by suppressing that interface's echo rather than opening a second one on the
|
|
11
|
+
* same stdin; outside the REPL (execute and script modes) a one-shot interface
|
|
12
|
+
* is created per prompt, matching the shell's historical fallback exactly.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
import * as readline from 'readline';
|
|
17
|
+
import type { Surface } from './surface.js';
|
|
18
|
+
/**
|
|
19
|
+
* Creates the CLI host's surface.
|
|
20
|
+
*
|
|
21
|
+
* @param rl - The REPL's persistent readline interface, when running
|
|
22
|
+
* interactively. Omitted in execute and script modes, where each prompt
|
|
23
|
+
* uses a one-shot interface.
|
|
24
|
+
* @returns A surface backed by the local terminal.
|
|
25
|
+
*/
|
|
26
|
+
export declare function cliSurface_create(rl?: readline.Interface): Surface;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file The CLI host's surface: interaction backed by readline and the local
|
|
3
|
+
* terminal.
|
|
4
|
+
*
|
|
5
|
+
* This is the concrete {@link Surface} the command-line host installs. It
|
|
6
|
+
* declares the full local capability set (hidden input, local editing, and a
|
|
7
|
+
* tty when stdout is one) and backs prompting with readline. Two flavors of
|
|
8
|
+
* prompt exist so the single-readline discipline is preserved: when the REPL
|
|
9
|
+
* is running it passes its own persistent interface, and hidden input is read
|
|
10
|
+
* by suppressing that interface's echo rather than opening a second one on the
|
|
11
|
+
* same stdin; outside the REPL (execute and script modes) a one-shot interface
|
|
12
|
+
* is created per prompt, matching the shell's historical fallback exactly.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
import * as readline from 'readline';
|
|
17
|
+
import { Writable } from 'stream';
|
|
18
|
+
import { spawnSync } from 'child_process';
|
|
19
|
+
import { writeFileSync, readFileSync, unlinkSync, existsSync } from 'fs';
|
|
20
|
+
import { tmpdir } from 'os';
|
|
21
|
+
import { join } from 'path';
|
|
22
|
+
import { segment_pipeThrough } from '../lib/pipe.js';
|
|
23
|
+
/**
|
|
24
|
+
* Prompts on a persistent readline interface (the REPL's), suppressing echo
|
|
25
|
+
* for hidden input by intercepting the interface's own output hook. This
|
|
26
|
+
* keeps a single readline interface on stdin — no raw mode, no second
|
|
27
|
+
* interface, no keystrokes leaking back to the command loop.
|
|
28
|
+
*
|
|
29
|
+
* @param rl - The REPL's readline interface.
|
|
30
|
+
* @param request - The prompt message and whether to hide input.
|
|
31
|
+
* @returns The entered line, trimmed.
|
|
32
|
+
*/
|
|
33
|
+
function persistentPrompt_ask(rl, request) {
|
|
34
|
+
if (!request.hidden) {
|
|
35
|
+
return new Promise((resolve) => {
|
|
36
|
+
rl.question(request.message, (answer) => resolve(answer.trim()));
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
const rlInternal = rl;
|
|
40
|
+
const originalWrite = rlInternal._writeToOutput.bind(rl);
|
|
41
|
+
rlInternal._writeToOutput = (_str) => { };
|
|
42
|
+
process.stdout.write(request.message);
|
|
43
|
+
return new Promise((resolve) => {
|
|
44
|
+
rl.question('', (answer) => {
|
|
45
|
+
rlInternal._writeToOutput = originalWrite;
|
|
46
|
+
process.stdout.write('\n');
|
|
47
|
+
resolve(answer.trim());
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Prompts on a one-shot readline interface created for this call, used
|
|
53
|
+
* outside the REPL (execute and script modes). Hidden input is read through
|
|
54
|
+
* a muted output stream so the entry is not echoed.
|
|
55
|
+
*
|
|
56
|
+
* @param request - The prompt message and whether to hide input.
|
|
57
|
+
* @returns The entered line, trimmed.
|
|
58
|
+
*/
|
|
59
|
+
function oneShotPrompt_ask(request) {
|
|
60
|
+
if (!request.hidden) {
|
|
61
|
+
return new Promise((resolve) => {
|
|
62
|
+
const rl = readline.createInterface({
|
|
63
|
+
input: process.stdin,
|
|
64
|
+
output: process.stdout,
|
|
65
|
+
});
|
|
66
|
+
rl.question(request.message, (answer) => {
|
|
67
|
+
rl.close();
|
|
68
|
+
resolve(answer.trim());
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return new Promise((resolve) => {
|
|
73
|
+
const muted = new Writable({
|
|
74
|
+
write(_chunk, _encoding, callback) {
|
|
75
|
+
callback();
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
const rl = readline.createInterface({
|
|
79
|
+
input: process.stdin,
|
|
80
|
+
output: muted,
|
|
81
|
+
terminal: true,
|
|
82
|
+
});
|
|
83
|
+
process.stdout.write(request.message);
|
|
84
|
+
rl.question('', (answer) => {
|
|
85
|
+
process.stdout.write('\n');
|
|
86
|
+
rl.close();
|
|
87
|
+
resolve(answer.trim());
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Opens content in the local `$EDITOR` and returns the edited result. Writes
|
|
93
|
+
* the content to a temp file, launches the editor against it, reads it back,
|
|
94
|
+
* and removes the temp file — the whole editor lifecycle is the surface's
|
|
95
|
+
* business, so builtins never touch a process or a terminal.
|
|
96
|
+
*
|
|
97
|
+
* @param request - The content to edit and an optional extension.
|
|
98
|
+
* @returns The edited content and whether it changed.
|
|
99
|
+
* @throws {Error} When the editor fails to launch.
|
|
100
|
+
*/
|
|
101
|
+
function localEdit_run(request) {
|
|
102
|
+
const ext = request.extension && request.extension.length > 0 ? request.extension : '.txt';
|
|
103
|
+
const tmpPath = join(tmpdir(), `chell-edit-${Date.now()}${ext}`);
|
|
104
|
+
try {
|
|
105
|
+
writeFileSync(tmpPath, request.content, 'utf8');
|
|
106
|
+
const editor = process.env.EDITOR || process.env.VISUAL || 'vi';
|
|
107
|
+
const spawn = spawnSync(editor, [tmpPath], { stdio: 'inherit' });
|
|
108
|
+
if (spawn.error) {
|
|
109
|
+
throw new Error(`failed to launch '${editor}': ${spawn.error.message}`);
|
|
110
|
+
}
|
|
111
|
+
const edited = readFileSync(tmpPath, 'utf8');
|
|
112
|
+
return Promise.resolve({ content: edited, changed: edited !== request.content });
|
|
113
|
+
}
|
|
114
|
+
finally {
|
|
115
|
+
if (existsSync(tmpPath)) {
|
|
116
|
+
try {
|
|
117
|
+
unlinkSync(tmpPath);
|
|
118
|
+
}
|
|
119
|
+
catch { /* ignore */ }
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Creates the CLI host's surface.
|
|
125
|
+
*
|
|
126
|
+
* @param rl - The REPL's persistent readline interface, when running
|
|
127
|
+
* interactively. Omitted in execute and script modes, where each prompt
|
|
128
|
+
* uses a one-shot interface.
|
|
129
|
+
* @returns A surface backed by the local terminal.
|
|
130
|
+
*/
|
|
131
|
+
export function cliSurface_create(rl) {
|
|
132
|
+
const capabilities = {
|
|
133
|
+
hiddenInput: true,
|
|
134
|
+
localEdit: true,
|
|
135
|
+
tty: !!process.stdout.isTTY,
|
|
136
|
+
pipeSegments: true,
|
|
137
|
+
};
|
|
138
|
+
return {
|
|
139
|
+
capabilities,
|
|
140
|
+
prompt(request) {
|
|
141
|
+
return rl ? persistentPrompt_ask(rl, request) : oneShotPrompt_ask(request);
|
|
142
|
+
},
|
|
143
|
+
pipeSegment(command, input) {
|
|
144
|
+
// The local CLI runs pipe segments in-process, exactly as before.
|
|
145
|
+
return segment_pipeThrough(command, input);
|
|
146
|
+
},
|
|
147
|
+
localEdit(request) {
|
|
148
|
+
return localEdit_run(request);
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=cliSurface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliSurface.js","sourceRoot":"","sources":["../../src/core/cliSurface.ts"],"names":[],"mappings":"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"}
|
package/dist/core/dispatch.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { CommandEnvelope } from '@fnndsc/cumin';
|
|
2
|
+
import { type RedirectInfo } from './preprocess.js';
|
|
1
3
|
/**
|
|
2
4
|
* Spawns the `chili` CLI as a child process.
|
|
3
5
|
*
|
|
@@ -7,15 +9,29 @@
|
|
|
7
9
|
*/
|
|
8
10
|
export declare function chiliCommand_run(command: string, args: string[]): Promise<void>;
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
12
|
+
* Executes a shell command on the host system (shell escape with ! prefix).
|
|
11
13
|
*
|
|
12
|
-
* @param
|
|
13
|
-
* @returns A Promise
|
|
14
|
+
* @param shellCommand - The command to execute on the host shell.
|
|
15
|
+
* @returns A Promise resolving to the command's exit code (1 on spawn failure).
|
|
14
16
|
*/
|
|
15
|
-
export declare function
|
|
17
|
+
export declare function shellCommand_execute(shellCommand: string): Promise<number>;
|
|
16
18
|
type CommandHandler = (args: string[]) => Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Shape of a converted builtin: returns its outcome as an envelope instead
|
|
21
|
+
* of printing. The engine layer will consume these directly; the dispatch
|
|
22
|
+
* table below consumes them through {@link envelopeHandler_wrap}.
|
|
23
|
+
*/
|
|
24
|
+
type EnvelopeHandler = (args: string[]) => Promise<CommandEnvelope>;
|
|
25
|
+
export declare const ENVELOPE_HANDLERS: Record<string, EnvelopeHandler>;
|
|
17
26
|
export declare const COMMAND_HANDLERS: Record<string, CommandHandler>;
|
|
18
27
|
export { COMMAND_HANDLERS_KEYS } from '../command-keys.js';
|
|
28
|
+
/**
|
|
29
|
+
* Prints elapsed time since startTime if timing is enabled.
|
|
30
|
+
*
|
|
31
|
+
* @param startTime - Timestamp from `performance.now()` at command start.
|
|
32
|
+
* @param enabled - Whether timing display is active.
|
|
33
|
+
*/
|
|
34
|
+
export declare function command_timingMaybePrint(startTime: number, enabled: boolean): void;
|
|
19
35
|
/**
|
|
20
36
|
* Expands `$NAME` and `${NAME}` environment references in one token.
|
|
21
37
|
*
|
|
@@ -30,19 +46,56 @@ export { COMMAND_HANDLERS_KEYS } from '../command-keys.js';
|
|
|
30
46
|
* @returns The token with set environment references substituted.
|
|
31
47
|
*/
|
|
32
48
|
export declare function envRefs_expand(token: string): string;
|
|
49
|
+
/**
|
|
50
|
+
* Dispatches a parsed command to its handler and returns its envelope, with
|
|
51
|
+
* any errors the command left on the stack drained into the envelope.
|
|
52
|
+
*
|
|
53
|
+
* @param command - The command name.
|
|
54
|
+
* @param args - Parsed arguments.
|
|
55
|
+
* @returns The envelope of the executed command.
|
|
56
|
+
*/
|
|
57
|
+
export declare function command_dispatchEnvelope(command: string, args: string[]): Promise<CommandEnvelope>;
|
|
33
58
|
/**
|
|
34
59
|
* Dispatches a parsed command to its handler.
|
|
35
|
-
*
|
|
36
|
-
*
|
|
60
|
+
*
|
|
61
|
+
* Compatibility shape over {@link command_dispatchEnvelope} for callers that
|
|
62
|
+
* do not consume envelopes.
|
|
37
63
|
*
|
|
38
64
|
* @param command - The command name.
|
|
39
65
|
* @param args - Parsed arguments.
|
|
66
|
+
* @returns A Promise that resolves once the command has been dispatched.
|
|
40
67
|
*/
|
|
41
68
|
export declare function command_dispatch(command: string, args: string[]): Promise<void>;
|
|
42
69
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
70
|
+
* Executes a redirected command (`>` / `>>`): captures the command's output
|
|
71
|
+
* and writes it to the target file.
|
|
72
|
+
*
|
|
73
|
+
* @param redirectInfo - The parsed redirection (command, operator, target).
|
|
74
|
+
* @returns An envelope recording the outcome; rendered text stays empty
|
|
75
|
+
* because the output went to the file, not the terminal.
|
|
76
|
+
*/
|
|
77
|
+
export declare function redirect_execute(redirectInfo: RedirectInfo): Promise<CommandEnvelope>;
|
|
78
|
+
/**
|
|
79
|
+
* Executes a pipe chain by running the first command in chell and piping
|
|
80
|
+
* through local tools, delivering the final output on the data channel.
|
|
81
|
+
*
|
|
82
|
+
* @param segments - Array of command segments separated by pipes.
|
|
83
|
+
* @returns An envelope whose rendered text is the chain's final output.
|
|
84
|
+
*/
|
|
85
|
+
export declare function pipe_execute(segments: string[]): Promise<CommandEnvelope>;
|
|
86
|
+
/**
|
|
87
|
+
* Executes one plain command line (no shell escape, batch, redirect or pipe)
|
|
88
|
+
* and returns its envelope.
|
|
89
|
+
*
|
|
90
|
+
* Mirrors the historical direct-execution order exactly: help flag
|
|
91
|
+
* short-circuit, wildcard expansion, simulated plugin execution, then table
|
|
92
|
+
* dispatch. Timing is printed at the same points the shell always printed
|
|
93
|
+
* it (after plugin execution or dispatch; never after help or a wildcard
|
|
94
|
+
* failure).
|
|
45
95
|
*
|
|
46
|
-
* @param
|
|
96
|
+
* @param trimmedLine - The trimmed command line.
|
|
97
|
+
* @param startTime - Timing reference from `performance.now()`.
|
|
98
|
+
* @param timingEnabled - Whether to print elapsed time after execution.
|
|
99
|
+
* @returns The command's envelope, or null when the line held no tokens.
|
|
47
100
|
*/
|
|
48
|
-
export declare function
|
|
101
|
+
export declare function command_executeToEnvelope(trimmedLine: string, startTime: number, timingEnabled: boolean): Promise<CommandEnvelope | null>;
|