@pentoshi/clai 4.14.3 → 4.14.4
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/README.md +5 -1
- package/dist/agent/compaction-summary.d.ts +1 -1
- package/dist/agent/compaction-summary.js +6 -3
- package/dist/agent/compaction-summary.js.map +1 -1
- package/dist/agent/context/user-credentials.d.ts +11 -0
- package/dist/agent/context/user-credentials.js +34 -1
- package/dist/agent/context/user-credentials.js.map +1 -1
- package/dist/agent/parser/arg-formatting.js +4 -3
- package/dist/agent/parser/arg-formatting.js.map +1 -1
- package/dist/agent/parser/terminal-args.d.ts +3 -0
- package/dist/agent/parser/terminal-args.js +52 -0
- package/dist/agent/parser/terminal-args.js.map +1 -0
- package/dist/agent/turn/subagent-inbox.js +2 -2
- package/dist/agent/turn/subagent-inbox.js.map +1 -1
- package/dist/agent/turn/tool-execution/single-tool.js +1 -0
- package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
- package/dist/classic/blocks/tool-lines.js +3 -3
- package/dist/classic/blocks/tool-lines.js.map +1 -1
- package/dist/interactive-session/cleanup.js +1 -1
- package/dist/interactive-session/cleanup.js.map +1 -1
- package/dist/interactive-session/manager.d.ts +2 -0
- package/dist/interactive-session/manager.js +62 -30
- package/dist/interactive-session/manager.js.map +1 -1
- package/dist/interactive-session/output-store.d.ts +1 -1
- package/dist/interactive-session/output-store.js +4 -1
- package/dist/interactive-session/output-store.js.map +1 -1
- package/dist/interactive-session/output-view.js +23 -1
- package/dist/interactive-session/output-view.js.map +1 -1
- package/dist/interactive-session/streaming-redactor.js +1 -1
- package/dist/interactive-session/streaming-redactor.js.map +1 -1
- package/dist/interactive-session/transport-node-pty.d.ts +2 -1
- package/dist/interactive-session/transport-node-pty.js +24 -20
- package/dist/interactive-session/transport-node-pty.js.map +1 -1
- package/dist/interactive-session/types.d.ts +3 -0
- package/dist/interactive-session/types.js.map +1 -1
- package/dist/prompts/embedded.js +1 -1
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/system.agent.md +5 -4
- package/dist/tools/definitions/terminal.js +43 -37
- package/dist/tools/definitions/terminal.js.map +1 -1
- package/dist/tools/interactive-session-tools.js +79 -33
- package/dist/tools/interactive-session-tools.js.map +1 -1
- package/dist/tools/shell/interactive-probes.d.ts +1 -0
- package/dist/tools/shell/interactive-probes.js +35 -0
- package/dist/tools/shell/interactive-probes.js.map +1 -0
- package/dist/tools/shell.js +11 -2
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/tool-types.d.ts +2 -1
- package/dist/tui-v2/components/transcript/tool-card.js +2 -2
- package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
- package/dist/tui-v2/components/transcript/use-transcript-selection.js +11 -6
- package/dist/tui-v2/components/transcript/use-transcript-selection.js.map +1 -1
- package/dist/ui-core/controllers/selection-controller.js +2 -1
- package/dist/ui-core/controllers/selection-controller.js.map +1 -1
- package/dist/ui-core/rendering/terminal-output.d.ts +6 -0
- package/dist/ui-core/rendering/terminal-output.js +45 -0
- package/dist/ui-core/rendering/terminal-output.js.map +1 -0
- package/dist/ui-core/rendering/tool-presenter.d.ts +1 -1
- package/dist/ui-core/rendering/tool-presenter.js +21 -4
- package/dist/ui-core/rendering/tool-presenter.js.map +1 -1
- package/dist/ui-core/rendering/transcript-export.d.ts +2 -0
- package/dist/ui-core/rendering/transcript-export.js +1 -0
- package/dist/ui-core/rendering/transcript-export.js.map +1 -1
- package/dist/ui-core/rendering/transcript-semantic.js +9 -0
- package/dist/ui-core/rendering/transcript-semantic.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
|
@@ -92,9 +92,10 @@ Default foreground `timeoutMs` is 60000ms (60s). You decide the budget in millis
|
|
|
92
92
|
|
|
93
93
|
- shell.exec: {"command":"<cmd>","cwd":"<optional>","timeoutMs":<optional ms>,"background":"<auto|never|always>","name":"<optional job label>","responder":<optional bool>} — foreground by default for every command; no automatic backgrounding. You choose the foreground millisecond deadline (default 60000); timeoutMs is ignored for background and Responder execution. Choose enough time before launching finite work to receive its output in one call. Persistent servers/watchers/listeners: explicitly choose background:"always" plus a name; launch confirms only that the OS started it, so shell.tail and probe readiness, and check shell.jobs before starting another copy. For normal pollable finite jobs, use background:"always" and shell.wait; for independent finite fire-and-continue work, use responder:true and analyze terminal delivery with job.read instead of polling. background:"never" forces foreground even with responder:true; auto is a compatibility alias for omission. Prefer cwd over `cd`; Unix uses POSIX `/bin/sh`, so use portable syntax (explicit `bash -lc` only when required). Cost or command names never override your execution choice.
|
|
94
94
|
- shell.jobs: {} / shell.tail: {"id":"<job-id>","bytes":<optional>,"offset":<optional byte offset>,"stream":"<stdout|stderr|combined>"} / shell.stop: {"id":"<job-id>"} — tail defaults to stdout; for incremental polling reuse the prior nextOffset as offset on the SAME stream (stdout or stderr). combined is snapshot-only and rejects offset.
|
|
95
|
-
- terminal.start: {"command":"<interactive command>","cwd":"<optional>","terminalMode":"<required|preferred|pipe>","columns":<optional>,"rows":<optional>,"idleTimeoutMs":<optional>,"lifetimeTimeoutMs":<optional>,"deadlineMs":<optional>} — persistent writable REPL/console
|
|
96
|
-
- terminal.send: {"id":"<session id>","kind":"<text|control|eof>","text":"<text when kind=text>","submit":"<enter|none>","control":"<interrupt|eof|suspend|escape|tab|backspace|up|down|left|right>","cursor":<optional>,"quietMs":<optional>,"deadlineMs":<optional>,"view":"<plain|encoded>"} — ordered
|
|
97
|
-
- terminal.read: {"id":"<session id>","cursor":<required>,"waitMs":<optional>,"view":"<plain|encoded>"} / terminal.status: {"id":"<session id>"} / terminal.list: {} / terminal.close: {"id":"<session id>","deadlineMs":<optional>} —
|
|
95
|
+
- terminal.start: {"command":"<interactive command>","cwd":"<optional>","terminalMode":"<required|preferred|pipe>","columns":<optional>,"rows":<optional>,"idleTimeoutMs":<optional>,"lifetimeTimeoutMs":<optional>,"deadlineMs":<optional>} — persistent writable REPL/console for SSH, Python, debuggers, database shells, Metasploit, Meterpreter, and similar prompt-driven programs. preferred uses a PTY or explicitly reports pipe degradation; required refuses fallback (choose this for SSH passwords/readline consoles); pipe is only for stdin-driven programs that do not need a TTY. Dimensions are 2–1000 (defaults 80×24). Startup deadlineMs is 100–120000 (default 10000), NOT session lifetime. idleTimeoutMs is an optional 1000–86400000 inactivity cap; lifetimeTimeoutMs is an optional 1000–604800000 absolute cap; both are unset by default. Do not impose a short idle cap while the user enters a password. Start returns an initial page after waiting up to 1000ms for output; if no prompt is visible, read from nextCursor.
|
|
96
|
+
- terminal.send: {"id":"<session id>","kind":"<text|secret|control|eof>","text":"<text only when kind=text>","secretPrompt":"<optional non-secret local prompt label>","secretSource":"<auto|user|prompt>","submit":"<enter|none>","control":"<interrupt|eof|suspend|escape|tab|backspace|up|down|left|right>","cursor":<optional>,"quietMs":<optional>,"deadlineMs":<optional>,"view":"<plain|encoded>"} — send exactly one ordered action. secretSource defaults to auto: reuse one clearly labeled user-provided password from the current request, earlier user messages or carried credentials; otherwise open masked input. user requires an unambiguous supplied password without prompting; prompt forces masked entry. NEVER put a password in text, command, secretPrompt, an environment variable or a fallback script. submit defaults to enter (adds Enter itself); none types without submitting. quietMs is 25–5000 (default 250); deadlineMs is 100–120000 (default 30000). Quiet means output paused, NOT command finished. After delivery=delivered/unknown or a delivered action's deadline, never resend; continue from page.nextCursor with terminal.read.
|
|
97
|
+
- terminal.read: {"id":"<session id>","cursor":<required>,"waitMs":<optional>,"view":"<plain|encoded>"} / terminal.status: {"id":"<session id>"} / terminal.list: {} / terminal.close: {"id":"<session id>","deadlineMs":<optional>} — cursors address canonical redacted bytes, not lines/characters; reuse nextCursor and drain hasMore pages. waitMs is 0–30000. Read still works after exit/close; on OUTPUT_GAP use earliestAvailableCursor or the artifact. plain is safe linear transcript text (not a full-screen emulator); encoded is per-event base64 for exact redacted bytes. Status shows state, process outcome and cursor range. Close is idempotent; its deadlineMs is 100–120000 (default 10000). Check cleanupVerified, not merely that close was requested.
|
|
98
|
+
- INTERACTIVE WORKFLOW: finite python -c/script.py, ssh -V/-G/-Q and command -v/which probes → shell.exec; Python/msfconsole/database REPLs and password SSH → terminal.start; unattended servers/watchers → shell.exec background:"always" with a name. For SSH, observe the host-key/password prompt first; handle host-key trust explicitly and never suppress a changed-host-key warning. Then terminal.send kind=secret, inspect delivery/output, and verify the logged-in prompt with a harmless command. For REPLs, wait for the expected prompt before sending the next command; send control=interrupt to interrupt and read afterwards. For multiline input use submit=none or program-appropriate blocks/blank lines, not an assumed shell grammar. A session that exits before secret delivery does NOT prove the password was wrong: read its final output/status and diagnose transport/authentication separately. Do not retry an exited session or bypass secret handling with sshpass/inline credentials. Close owned sessions when done.
|
|
98
99
|
- fs.read: {"path":"<file|dir>","offset"|"startLine":<opt>,"limit":<opt>,"endLine":<opt>,"pattern":"<regex|/re/i>","context":<opt>,"maxMatches":<opt>,"maxBytes":<opt>} — READ POLICY: (1) path-only is fine for small files (full body). (2) Large files auto-head (~200 lines) with `# hasMore` + `next={"offset":N,"limit":M}` — that is NOT the whole file; call again with those next args (never re-issue path-only hoping for more). (3) Known range → offset/limit or startLine/endLine (1-indexed; 0→1). (4) Find symbol/string → pattern for one file; shell.exec with rg/grep for multiple files, then read around hits. Prefer partial/pattern over dumping huge files. Body lines are `N: text`. Dir path → listing, including hidden entries; limit caps directory entries.
|
|
99
100
|
- Optional multi-file read: fs.read {"files":[{"path":"src/app.ts","offset":1,"limit":80},{"path":"src/config.ts","pattern":"export","context":2}]} for 1–6 necessary known files. Put each file’s filters directly inside its entry; omit top-level path/options. Single-file reads remain appropriate. Do not add irrelevant files to fill the limit. Results are ordered and labeled; inspect each file’s status and continuation independently. Use shell searches first when paths are unknown.
|
|
100
101
|
- fs.write: {"path":"<file>","content":"<data>"} — new/full rewrite. Existing file → prefer fs.edit/replaceLines; for a full rewrite preserve all required lines and inspect the diff. Parent dirs auto-created; trust bytes/hash, don't re-read solely to verify.
|
|
@@ -160,7 +161,7 @@ Prefer current tools/libs/flags. Environment date is "now". If unsure or facts m
|
|
|
160
161
|
# RESILIENT ERROR HANDLING
|
|
161
162
|
|
|
162
163
|
- command not found: check with command -v/which/where/Get-Command → install via shell.exec for this OS if appropriate → retry. GUI casks on macOS launch with `open -a`, not as CLIs. Binary name may differ from package name.
|
|
163
|
-
- permission denied: use sudo
|
|
164
|
+
- permission denied: use sudo in leading or compound commands; clai's masked modal authenticates the whole line via `sudo -S`. Never pipe passwords or downgrade to dodge elevation (e.g. nmap -sT instead of -sS). SSH/gpg/passwd login needs a real TTY: terminal.start/read → observe prompt → terminal.send kind:"secret"; auto reuses one labeled user password, secretSource:"prompt" forces masked entry. SSH -V/-G/-Q probes use shell.exec; ssh -v is verbose login, not a version probe.
|
|
164
165
|
- connection refused/timeout: re-check target/port, timeoutMs, scope.
|
|
165
166
|
- flag/syntax errors: fix for this OS (BSD vs GNU) and retry.
|
|
166
167
|
- WARN/error from a tool: read it, form a new hypothesis, change approach. Never retry the identical failing command.
|
|
@@ -1,78 +1,84 @@
|
|
|
1
1
|
import { def, emptyObject } from "./define.js";
|
|
2
|
+
import { INTERACTIVE_SESSION_DEFAULTS, INTERACTIVE_SESSION_RANGES } from "../../interactive-session/config.js";
|
|
3
|
+
function milliseconds(field, description) {
|
|
4
|
+
const range = INTERACTIVE_SESSION_RANGES[field];
|
|
5
|
+
const value = INTERACTIVE_SESSION_DEFAULTS[field];
|
|
6
|
+
return {
|
|
7
|
+
type: "integer", minimum: range.min, maximum: range.max, description,
|
|
8
|
+
...(value === undefined ? {} : { default: value }),
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
const outputView = {
|
|
12
|
+
type: "string", enum: ["plain", "encoded"],
|
|
13
|
+
description: "plain: linear text, not screen; encoded: each event as base64.",
|
|
14
|
+
};
|
|
15
|
+
const outputCursor = {
|
|
16
|
+
type: "integer", minimum: 0,
|
|
17
|
+
description: "Redacted byte cursor: nextCursor resumes; ≤latestCursor.",
|
|
18
|
+
};
|
|
2
19
|
export const TOOL_DEFINITIONS_TERMINAL = [
|
|
3
|
-
def("terminal.start", "
|
|
20
|
+
def("terminal.start", "Owned SSH/Python/msfconsole REPL. Read until prompt before input. Output after ≤1000ms. Finite work: shell.exec; unattended services: shell.exec background:\"always\".", {
|
|
4
21
|
type: "object",
|
|
5
22
|
properties: {
|
|
6
23
|
command: { type: "string" },
|
|
7
24
|
cwd: { type: "string" },
|
|
8
25
|
terminalMode: {
|
|
9
|
-
type: "string",
|
|
10
|
-
|
|
11
|
-
description: "preferred uses a PTY when available and otherwise pipes; required refuses fallback; pipe always uses managed pipes",
|
|
26
|
+
type: "string", enum: ["required", "preferred", "pipe"],
|
|
27
|
+
description: "required: PTY or fail (SSH/readline); preferred: PTY/pipes; pipe: stdin only.",
|
|
12
28
|
},
|
|
13
|
-
columns: { type: "integer" },
|
|
14
|
-
rows: { type: "integer" },
|
|
15
|
-
idleTimeoutMs:
|
|
16
|
-
lifetimeTimeoutMs:
|
|
17
|
-
deadlineMs:
|
|
29
|
+
columns: { type: "integer", minimum: 2, maximum: 1000, default: 80 },
|
|
30
|
+
rows: { type: "integer", minimum: 2, maximum: 1000, default: 24 },
|
|
31
|
+
idleTimeoutMs: milliseconds("idleTimeoutMs", "Optional idle cap; I/O resets it. Avoid short caps for passwords."),
|
|
32
|
+
lifetimeTimeoutMs: milliseconds("lifetimeTimeoutMs", "Optional absolute cap; never extended."),
|
|
33
|
+
deadlineMs: milliseconds("startDeadlineMs", "Limits launch only, never session lifetime. Timeouts are ms."),
|
|
18
34
|
},
|
|
19
35
|
required: ["command"],
|
|
20
36
|
additionalProperties: false,
|
|
21
37
|
}, { mutates: true }),
|
|
22
|
-
def("terminal.send", "Send
|
|
38
|
+
def("terminal.send", "Send once; never resend delivered/unknown input. Read nextCursor. Secrets never in args.", {
|
|
23
39
|
type: "object",
|
|
24
40
|
properties: {
|
|
25
41
|
id: { type: "string" },
|
|
26
42
|
kind: { type: "string", enum: ["text", "secret", "control", "eof"] },
|
|
27
|
-
text: { type: "string" },
|
|
28
|
-
secretPrompt: { type: "string" },
|
|
29
|
-
|
|
43
|
+
text: { type: "string", description: "text only; never passwords." },
|
|
44
|
+
secretPrompt: { type: "string", description: "secret only: nonsecret masked-input label." },
|
|
45
|
+
secretSource: { type: "string", enum: ["auto", "user", "prompt"], default: "auto", description: "auto: one user password or masked input; user requires it; prompt: masked input only." },
|
|
46
|
+
submit: { type: "string", enum: ["enter", "none"], default: "enter", description: "text/secret: enter adds Enter (omit trailing newline); none types only." },
|
|
30
47
|
control: {
|
|
31
48
|
type: "string",
|
|
32
|
-
enum: [
|
|
33
|
-
"interrupt",
|
|
34
|
-
"eof",
|
|
35
|
-
"suspend",
|
|
36
|
-
"escape",
|
|
37
|
-
"tab",
|
|
38
|
-
"backspace",
|
|
39
|
-
"up",
|
|
40
|
-
"down",
|
|
41
|
-
"left",
|
|
42
|
-
"right",
|
|
43
|
-
],
|
|
49
|
+
enum: ["interrupt", "eof", "suspend", "escape", "tab", "backspace", "up", "down", "left", "right"],
|
|
44
50
|
},
|
|
45
|
-
cursor:
|
|
46
|
-
quietMs:
|
|
47
|
-
deadlineMs:
|
|
48
|
-
view:
|
|
51
|
+
cursor: outputCursor,
|
|
52
|
+
quietMs: milliseconds("quietIntervalMs", "Output pause in ms, not command completion."),
|
|
53
|
+
deadlineMs: milliseconds("sendDeadlineMs", "I/O deadline in ms."),
|
|
54
|
+
view: outputView,
|
|
49
55
|
},
|
|
50
56
|
required: ["id", "kind"],
|
|
51
57
|
additionalProperties: false,
|
|
52
58
|
}, { mutates: true }),
|
|
53
|
-
def("terminal.read", "Read
|
|
59
|
+
def("terminal.read", "Read after exit/close; drain hasMore via nextCursor. OUTPUT_GAP: earliestAvailableCursor/artifact. Pre-secret exit ≠ bad credentials.", {
|
|
54
60
|
type: "object",
|
|
55
61
|
properties: {
|
|
56
62
|
id: { type: "string" },
|
|
57
|
-
cursor:
|
|
58
|
-
waitMs: { type: "integer" },
|
|
59
|
-
view:
|
|
63
|
+
cursor: outputCursor,
|
|
64
|
+
waitMs: { type: "integer", minimum: 0, maximum: 30000, default: 0, description: "Output wait in ms; exited sessions return immediately." },
|
|
65
|
+
view: outputView,
|
|
60
66
|
},
|
|
61
67
|
required: ["id", "cursor"],
|
|
62
68
|
additionalProperties: false,
|
|
63
69
|
}, { readOnly: true }),
|
|
64
|
-
def("terminal.status", "
|
|
70
|
+
def("terminal.status", "State, byte-cursors, transport and process outcome.", {
|
|
65
71
|
type: "object",
|
|
66
72
|
properties: { id: { type: "string" } },
|
|
67
73
|
required: ["id"],
|
|
68
74
|
additionalProperties: false,
|
|
69
75
|
}, { readOnly: true }),
|
|
70
|
-
def("terminal.list", "List
|
|
71
|
-
def("terminal.close", "
|
|
76
|
+
def("terminal.list", "List owned sessions, live first.", emptyObject, { readOnly: true }),
|
|
77
|
+
def("terminal.close", "Terminate owned process tree; idempotent. Verify cleanupVerified.", {
|
|
72
78
|
type: "object",
|
|
73
79
|
properties: {
|
|
74
80
|
id: { type: "string" },
|
|
75
|
-
deadlineMs:
|
|
81
|
+
deadlineMs: milliseconds("closeDeadlineMs", "Cleanup deadline in ms."),
|
|
76
82
|
},
|
|
77
83
|
required: ["id"],
|
|
78
84
|
additionalProperties: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/tools/definitions/terminal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/tools/definitions/terminal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAA0B,MAAM,qCAAqC,CAAC;AAEvI,SAAS,YAAY,CAAC,KAAwB,EAAE,WAAmB;IACjE,MAAM,KAAK,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO;QACL,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,WAAW;QACpE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;IAC1C,WAAW,EAAE,gEAAgE;CAC9E,CAAC;AACF,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IAC3B,WAAW,EAAE,0DAA0D;CACxE,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD,GAAG,CACD,gBAAgB,EAChB,yKAAyK,EACzK;QACE,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC;gBACvD,WAAW,EAAE,+EAA+E;aAC7F;YACD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;YACpE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;YACjE,aAAa,EAAE,YAAY,CAAC,eAAe,EAAE,mEAAmE,CAAC;YACjH,iBAAiB,EAAE,YAAY,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;YAC9F,UAAU,EAAE,YAAY,CAAC,iBAAiB,EAAE,8DAA8D,CAAC;SAC5G;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,oBAAoB,EAAE,KAAK;KAC5B,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB;IACD,GAAG,CACD,eAAe,EACf,0FAA0F,EAC1F;QACE,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;YACpE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;YACpE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;YAC3F,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,uFAAuF,EAAE;YACzL,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,yEAAyE,EAAE;YAC7J,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;aACnG;YACD,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,YAAY,CAAC,iBAAiB,EAAE,6CAA6C,CAAC;YACvF,UAAU,EAAE,YAAY,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;YACjE,IAAI,EAAE,UAAU;SACjB;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,KAAK;KAC5B,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB;IACD,GAAG,CACD,eAAe,EACf,uIAAuI,EACvI;QACE,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,wDAAwD,EAAE;YAC1I,IAAI,EAAE,UAAU;SACjB;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC1B,oBAAoB,EAAE,KAAK;KAC5B,EACD,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;IACD,GAAG,CACD,iBAAiB,EACjB,qDAAqD,EACrD;QACE,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACtC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,oBAAoB,EAAE,KAAK;KAC5B,EACD,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;IACD,GAAG,CACD,eAAe,EACf,kCAAkC,EAClC,WAAW,EACX,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;IACD,GAAG,CACD,gBAAgB,EAChB,mEAAmE,EACnE;QACE,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,UAAU,EAAE,YAAY,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;SACvE;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,oBAAoB,EAAE,KAAK;KAC5B,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB;CACF,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { loadScopeForSession } from "../store/scope.js";
|
|
2
|
+
import { resolveUserPassword } from "../agent/context/user-credentials.js";
|
|
2
3
|
import { interactiveSessionManager, } from "../interactive-session/manager.js";
|
|
3
4
|
import { isInteractiveSessionsEnabled, resolveInteractiveSessionConfig, } from "../interactive-session/config.js";
|
|
4
|
-
import { asStableError, } from "../interactive-session/types.js";
|
|
5
|
+
import { asStableError, throwSessionError, } from "../interactive-session/types.js";
|
|
5
6
|
import { CONTROL_INPUTS } from "../interactive-session/types.js";
|
|
6
7
|
export const INTERACTIVE_SESSION_TOOL_NAMES = [
|
|
7
8
|
"terminal.start",
|
|
@@ -20,11 +21,19 @@ function requireString(args, key) {
|
|
|
20
21
|
}
|
|
21
22
|
function optionalString(args, key) {
|
|
22
23
|
const value = args[key];
|
|
23
|
-
|
|
24
|
+
if (value === undefined)
|
|
25
|
+
return undefined;
|
|
26
|
+
if (typeof value !== "string")
|
|
27
|
+
throw new Error(`${key} must be a string`);
|
|
28
|
+
return value;
|
|
24
29
|
}
|
|
25
30
|
function optionalNumber(args, key) {
|
|
26
31
|
const value = args[key];
|
|
27
|
-
|
|
32
|
+
if (value === undefined)
|
|
33
|
+
return undefined;
|
|
34
|
+
if (typeof value !== "number" || !Number.isSafeInteger(value))
|
|
35
|
+
throw new Error(`${key} must be a finite integer`);
|
|
36
|
+
return value;
|
|
28
37
|
}
|
|
29
38
|
function optionalView(args) {
|
|
30
39
|
const value = optionalString(args, "view");
|
|
@@ -35,8 +44,44 @@ function optionalView(args) {
|
|
|
35
44
|
}
|
|
36
45
|
return value;
|
|
37
46
|
}
|
|
47
|
+
async function secretValue(args, options) {
|
|
48
|
+
const source = optionalString(args, "secretSource") ?? "auto";
|
|
49
|
+
if (source !== "auto" && source !== "user" && source !== "prompt") {
|
|
50
|
+
throw new Error("secretSource must be auto, user, or prompt");
|
|
51
|
+
}
|
|
52
|
+
const prompt = optionalString(args, "secretPrompt") ?? "Enter secret";
|
|
53
|
+
options?.signal?.throwIfAborted();
|
|
54
|
+
if (source !== "prompt") {
|
|
55
|
+
const supplied = resolveUserPassword(options ?? {});
|
|
56
|
+
if (supplied.status === "available")
|
|
57
|
+
return supplied.value;
|
|
58
|
+
if (source === "user") {
|
|
59
|
+
throwSessionError({ code: "INVALID_REQUEST", operation: "send", message: `User-provided password is ${supplied.status}; use secretSource=prompt for masked input. No input was sent.` });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (!options?.requestSecret) {
|
|
63
|
+
throwSessionError({ code: "UNSUPPORTED_OPERATION", operation: "send", message: "Local secret input is unavailable in this UI; no input was sent." });
|
|
64
|
+
}
|
|
65
|
+
const value = await options.requestSecret({ title: "Terminal secret input", prompt, operation: { name: "terminal.send", args } });
|
|
66
|
+
if (value === undefined) {
|
|
67
|
+
throwSessionError({ code: "CANCELLED", operation: "send", message: "Secret input was cancelled; no input was sent." });
|
|
68
|
+
}
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
async function parseSecretInput(args, options) {
|
|
72
|
+
if (args.text !== undefined || args.control !== undefined) {
|
|
73
|
+
throw new Error("text and control are not allowed when kind is secret");
|
|
74
|
+
}
|
|
75
|
+
const submit = optionalString(args, "submit") ?? "enter";
|
|
76
|
+
if (submit !== "enter" && submit !== "none")
|
|
77
|
+
throw new Error("submit must be enter or none");
|
|
78
|
+
return { kind: "secret", value: await secretValue(args, options), submit };
|
|
79
|
+
}
|
|
38
80
|
async function parseInput(args, options) {
|
|
39
81
|
const kind = requireString(args, "kind");
|
|
82
|
+
if (kind !== "secret" && (args.secretSource !== undefined || args.secretPrompt !== undefined)) {
|
|
83
|
+
throw new Error("secretSource and secretPrompt are only allowed when kind is secret");
|
|
84
|
+
}
|
|
40
85
|
if (kind === "text") {
|
|
41
86
|
const text = args.text;
|
|
42
87
|
if (typeof text !== "string")
|
|
@@ -49,24 +94,8 @@ async function parseInput(args, options) {
|
|
|
49
94
|
}
|
|
50
95
|
return { kind: "text", text, submit };
|
|
51
96
|
}
|
|
52
|
-
if (kind === "secret")
|
|
53
|
-
|
|
54
|
-
throw new Error("text and control are not allowed when kind is secret");
|
|
55
|
-
}
|
|
56
|
-
const submit = optionalString(args, "submit") ?? "enter";
|
|
57
|
-
if (submit !== "enter" && submit !== "none") {
|
|
58
|
-
throw new Error("submit must be enter or none");
|
|
59
|
-
}
|
|
60
|
-
const secretPrompt = optionalString(args, "secretPrompt") ?? "Enter secret";
|
|
61
|
-
const value = await options?.requestSecret?.({
|
|
62
|
-
title: "Terminal secret input",
|
|
63
|
-
prompt: secretPrompt,
|
|
64
|
-
operation: { name: "terminal.send", args },
|
|
65
|
-
});
|
|
66
|
-
if (value === undefined)
|
|
67
|
-
throw new Error("Secret input was cancelled");
|
|
68
|
-
return { kind: "secret", value, submit };
|
|
69
|
-
}
|
|
97
|
+
if (kind === "secret")
|
|
98
|
+
return parseSecretInput(args, options);
|
|
70
99
|
if (kind === "control") {
|
|
71
100
|
const control = requireString(args, "control");
|
|
72
101
|
if (args.text !== undefined)
|
|
@@ -99,12 +128,12 @@ function confirmPort(options) {
|
|
|
99
128
|
function summarizePage(page) {
|
|
100
129
|
if (!page)
|
|
101
130
|
return [];
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
131
|
+
const body = page.events.map((event) => event.content).join(page.view === "encoded" ? "\n" : "");
|
|
132
|
+
return [
|
|
133
|
+
`[terminal.output cursor=${page.requestedCursor} nextCursor=${page.nextCursor} earliestAvailableCursor=${page.earliestAvailableCursor} latestCursor=${page.latestCursor} hasMore=${page.hasMore} view=${page.view}${page.decodingLoss ? " lossy" : ""}${page.omittedBytes ? ` omitted=${page.omittedBytes}B` : ""}]`,
|
|
134
|
+
...(body.length > 0 ? [body.replace(/\n$/, "")] : []),
|
|
135
|
+
"[/terminal.output]",
|
|
136
|
+
];
|
|
108
137
|
}
|
|
109
138
|
function describeError(error) {
|
|
110
139
|
return `[${error.code}] ${error.message} (retryable=${error.retryable})`;
|
|
@@ -118,7 +147,7 @@ function project(result) {
|
|
|
118
147
|
(result.dimensions
|
|
119
148
|
? ` ${result.dimensions.columns}x${result.dimensions.rows}`
|
|
120
149
|
: "") +
|
|
121
|
-
(result.degradedReason ? ` degraded=${result.degradedReason}` : ""), `artifact=${result.artifact.path}`);
|
|
150
|
+
(result.degradedReason ? ` degraded=${result.degradedReason}` : ""), ...summarizePage(result.page), `artifact=${result.artifact.path}`);
|
|
122
151
|
break;
|
|
123
152
|
case "send":
|
|
124
153
|
lines.push(`seq=${result.inputSequence} delivery=${result.delivery} bytes=${result.deliveredBytes} state=${result.state}`, ...summarizePage(result.page));
|
|
@@ -161,6 +190,12 @@ function project(result) {
|
|
|
161
190
|
}
|
|
162
191
|
break;
|
|
163
192
|
}
|
|
193
|
+
lines[0] = `[terminal.${result.operation}] ${lines[0] ?? ""}`;
|
|
194
|
+
const outcome = "processOutcome" in result ? result.processOutcome : undefined;
|
|
195
|
+
if (outcome?.exitCode !== undefined)
|
|
196
|
+
lines[0] += ` processExit=${outcome.exitCode}`;
|
|
197
|
+
if (outcome?.signal)
|
|
198
|
+
lines[0] += ` signal=${outcome.signal}`;
|
|
164
199
|
return { ok, output: lines.filter((line) => line.length > 0).join("\n"), interactiveSession: result };
|
|
165
200
|
}
|
|
166
201
|
function failure(error, operation) {
|
|
@@ -191,7 +226,7 @@ export function createInteractiveSessionHandlers(manager = interactiveSessionMan
|
|
|
191
226
|
"terminal.start": async (args, options) => guarded("start", async () => {
|
|
192
227
|
const ownerId = requireOwner(options, "start");
|
|
193
228
|
const mode = optionalString(args, "terminalMode");
|
|
194
|
-
|
|
229
|
+
const started = await manager.start({
|
|
195
230
|
ownerId,
|
|
196
231
|
command: requireString(args, "command"),
|
|
197
232
|
cwd: optionalString(args, "cwd"),
|
|
@@ -205,18 +240,29 @@ export function createInteractiveSessionHandlers(manager = interactiveSessionMan
|
|
|
205
240
|
confirm: confirmPort(options),
|
|
206
241
|
scope: await activeScope(options),
|
|
207
242
|
});
|
|
243
|
+
const initial = await manager.read({
|
|
244
|
+
ownerId, id: started.sessionId, cursor: 0, waitMs: 1_000, signal: options?.signal,
|
|
245
|
+
});
|
|
246
|
+
return {
|
|
247
|
+
...started, state: initial.state, page: initial.page,
|
|
248
|
+
cursor: initial.page?.nextCursor ?? started.cursor,
|
|
249
|
+
...(initial.processOutcome ? { processOutcome: initial.processOutcome } : {}),
|
|
250
|
+
};
|
|
208
251
|
}),
|
|
209
252
|
"terminal.send": async (args, options) => guarded("send", async () => {
|
|
210
|
-
const
|
|
211
|
-
|
|
212
|
-
ownerId,
|
|
253
|
+
const request = {
|
|
254
|
+
ownerId: requireOwner(options, "send"),
|
|
213
255
|
id: requireString(args, "id"),
|
|
214
|
-
input: await parseInput(args, options),
|
|
215
256
|
cursor: optionalNumber(args, "cursor"),
|
|
216
257
|
quietMs: optionalNumber(args, "quietMs"),
|
|
217
258
|
deadlineMs: optionalNumber(args, "deadlineMs"),
|
|
218
259
|
view: optionalView(args),
|
|
219
260
|
signal: options?.signal,
|
|
261
|
+
};
|
|
262
|
+
manager.validateSend(request);
|
|
263
|
+
return await manager.send({
|
|
264
|
+
...request,
|
|
265
|
+
input: await parseInput(args, options),
|
|
220
266
|
confirm: confirmPort(options),
|
|
221
267
|
scope: await activeScope(options),
|
|
222
268
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-session-tools.js","sourceRoot":"","sources":["../../src/tools/interactive-session-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interactive-session-tools.js","sourceRoot":"","sources":["../../src/tools/interactive-session-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function sshNeedsTerminal(base: string, args: readonly string[]): boolean;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const SSH_VALUE_FLAGS = new Set("BbcDEeFIiJLlmOopQRSWw");
|
|
2
|
+
const SCP_VALUE_FLAGS = new Set("cDFiJl oPSX".replace(/ /g, ""));
|
|
3
|
+
export function sshNeedsTerminal(base, args) {
|
|
4
|
+
if (base === "rsync")
|
|
5
|
+
return !args.some(arg => arg === "--version" || arg === "--help" || arg === "-V");
|
|
6
|
+
const valueFlags = base === "ssh" ? SSH_VALUE_FLAGS : SCP_VALUE_FLAGS;
|
|
7
|
+
let batchMode;
|
|
8
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
9
|
+
const token = args[index];
|
|
10
|
+
if (token === "--help")
|
|
11
|
+
return false;
|
|
12
|
+
if (!token.startsWith("-") || token === "--")
|
|
13
|
+
break;
|
|
14
|
+
for (let position = 1; position < token.length; position += 1) {
|
|
15
|
+
const flag = token[position];
|
|
16
|
+
if (flag === "V" || flag === "h")
|
|
17
|
+
return false;
|
|
18
|
+
if (base === "ssh" && (flag === "G" || flag === "Q"))
|
|
19
|
+
return false;
|
|
20
|
+
if (base === "scp" && flag === "B")
|
|
21
|
+
batchMode ??= true;
|
|
22
|
+
if (!valueFlags.has(flag))
|
|
23
|
+
continue;
|
|
24
|
+
const value = token.slice(position + 1) || args[++index] || "";
|
|
25
|
+
if (flag === "o" && batchMode === undefined) {
|
|
26
|
+
const match = /^BatchMode(?:\s*=\s*|\s+)(yes|no)$/i.exec(value.trim());
|
|
27
|
+
if (match)
|
|
28
|
+
batchMode = match[1].toLowerCase() === "yes";
|
|
29
|
+
}
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return batchMode !== true;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=interactive-probes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive-probes.js","sourceRoot":"","sources":["../../../src/tools/shell/interactive-probes.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACzD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAEjE,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAuB;IACpE,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC;IACxG,MAAM,UAAU,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;IACtE,IAAI,SAA8B,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;QAC3B,IAAI,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM;QACpD,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAE,CAAC;YAC9B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,KAAK,CAAC;YAC/C,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACnE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG;gBAAE,SAAS,KAAK,IAAI,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,IAAI,KAAK,GAAG,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvE,IAAI,KAAK;oBAAE,SAAS,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;YAC3D,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,SAAS,KAAK,IAAI,CAAC;AAC5B,CAAC"}
|
package/dist/tools/shell.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
2
|
import { OutputDecoder, RingBuffer } from "./shell/capture.js";
|
|
3
|
+
import { sshNeedsTerminal } from "./shell/interactive-probes.js";
|
|
3
4
|
import { shellExecAttempt, } from "./shell/exec-attempt.js";
|
|
4
5
|
import { allowInteractiveStdinInherit, assignAllowInteractiveStdinInherit } from "./shell/internals.js";
|
|
5
6
|
export { spawnArgv } from "./shell/spawn-argv.js";
|
|
@@ -210,6 +211,15 @@ function commandHeadIndex(tokens) {
|
|
|
210
211
|
const wrapper = candidate.replace(/^.*[\\\/]/, "").toLowerCase();
|
|
211
212
|
if (!COMMAND_WRAPPERS.has(wrapper))
|
|
212
213
|
break;
|
|
214
|
+
if (wrapper === "command") {
|
|
215
|
+
for (let flagIndex = index + 1; flagIndex < tokens.length; flagIndex += 1) {
|
|
216
|
+
const flag = tokens[flagIndex];
|
|
217
|
+
if (!flag.startsWith("-") || flag === "--")
|
|
218
|
+
break;
|
|
219
|
+
if (/^-[pvV]*[vV][pvV]*$/.test(flag))
|
|
220
|
+
return index;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
213
223
|
index = skipWrapperOptions(tokens, index + 1, wrapper);
|
|
214
224
|
}
|
|
215
225
|
return index;
|
|
@@ -337,7 +347,6 @@ export function interactiveStdinKind(command, options = {}) {
|
|
|
337
347
|
continue;
|
|
338
348
|
const base = head.replace(/^.*[\\\/]/, "").toLowerCase();
|
|
339
349
|
const rest = tokens.slice(i + 1);
|
|
340
|
-
const restJoined = rest.join(" ");
|
|
341
350
|
if (base === "sudo" || base === "doas" || base === "su") {
|
|
342
351
|
const flags = elevationInputFlags(base, rest);
|
|
343
352
|
if (flags.nonInteractive)
|
|
@@ -350,7 +359,7 @@ export function interactiveStdinKind(command, options = {}) {
|
|
|
350
359
|
return "elevate";
|
|
351
360
|
}
|
|
352
361
|
if (base === "ssh" || base === "scp" || base === "rsync") {
|
|
353
|
-
if (
|
|
362
|
+
if (!sshNeedsTerminal(base, rest))
|
|
354
363
|
continue;
|
|
355
364
|
tty = true;
|
|
356
365
|
continue;
|
package/dist/tools/shell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/tools/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAEL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAExG,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AAmBrC,MAAM,UAAU,YAAY;IAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IAC1E,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC3E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC3D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA8B;IAC3D,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;IAClE,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,kCAAkC,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,4BAA4B,CAAC;AACtC,CAAC;AAaD,SAAS,2BAA2B,CAAC,IAAY,EAAE,IAAwB;IACzE,OAAO,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAC3C,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAkC,CAAC;IACvC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,MAAM,IAAI,GAAG,CAAC,YAAqB,EAAQ,EAAE;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAC7D,IAAI,GAAG,EAAE,CAAC;QACV,aAAa,GAAG,YAAY,CAAC;IAC/B,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,IAAI,CAAC;YACb,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzD,IAAI,IAAI,IAAI,CAAC;gBACb,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,IAAI,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YACzB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YACzB,WAAW,IAAI,CAAC,CAAC;YACjB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,IAAI,IAAI,CAAC;YACb,IAAI,IAAI,KAAK,GAAG;gBAAE,WAAW,IAAI,CAAC,CAAC;iBAC9B,IAAI,IAAI,KAAK,GAAG;gBAAE,WAAW,IAAI,CAAC,CAAC;YACxC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,IAAI,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,CAAC;gBACZ,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,CAAC;gBACX,IAAI,IAAI,KAAK,GAAG;oBAAE,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,CAAC;YACZ,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IACE,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,GAAG;YACZ,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YACnB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EACnB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,IAAI,CAAC;IACf,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,CAAC;IACZ,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAkC,CAAC;IACvC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzD,IAAI,IAAI,IAAI,CAAC;gBACb,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,IAAI,CAAC;YACf,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,IAAI,IAAI,CAAC;YACb,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YACzB,WAAW,IAAI,CAAC,CAAC;YACjB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,IAAI,IAAI,CAAC;YACb,IAAI,IAAI,KAAK,GAAG;gBAAE,WAAW,IAAI,CAAC,CAAC;iBAC9B,IAAI,IAAI,KAAK,GAAG;gBAAE,WAAW,IAAI,CAAC,CAAC;YACxC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACpD,IAAI,EAAE,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,IAAI,IAAI,CAAC;IACf,CAAC;IAED,IAAI,EAAE,CAAC;IACP,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxF,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAA8B;IACtE,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACnC,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;CAC1E,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAElD,SAAS,kBAAkB,CACzB,MAAyB,EACzB,IAAY,EACZ,OAAe;IAEf,MAAM,UAAU,GAAG,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;QAC9B,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QACtC,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QAC5D,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAyB;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC;YAC5E,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM;QACnC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,MAAM;QAC1C,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,IAAI,KAAkC,CAAC;IACvC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzD,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5C,WAAW,IAAI,CAAC,CAAC;YACjB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,IAAI,KAAK,GAAG;gBAAE,WAAW,IAAI,CAAC,CAAC;iBAC9B,IAAI,IAAI,KAAK,GAAG;gBAAE,WAAW,IAAI,CAAC,CAAC;YACxC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG;YAAE,SAAS;QAE3B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,OAAO,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC;YAC7D,UAAU,IAAI,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,UAAU,IAAI,UAAU,KAAK,GAAG;YAAE,SAAS;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAC;IAChD,SAAS;IACT,UAAU;IACV,cAAc;IACd,mBAAmB;IACnB,SAAS;IACT,QAAQ;IACR,cAAc;IACd,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;CACT,CAAC,CAAC;AACH,MAAM,kCAAkC,GAAG,IAAI,GAAG,CAAC;IACjD,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAC1B,IAAY,EACZ,IAAuB;IAEvB,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACvE,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM;QAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG;YAAE,MAAM;QACnD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAChE,IAAI,IAAI,KAAK,mBAAmB;gBAAE,cAAc,GAAG,IAAI,CAAC;YACxD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS;gBAAE,UAAU,GAAG,IAAI,CAAC;YAC7D,IAAI,SAAS,GAAG,CAAC,IAAI,iCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,CAAC,IAAI,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YACzB,IAAI,IAAI,KAAK,GAAG;gBAAE,cAAc,GAAG,IAAI,CAAC;YACxC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,GAAG;gBAAE,UAAU,GAAG,IAAI,CAAC;YACvD,IAAI,kCAAkC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,UAAmC,EAAE;IAErC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,GAAG,GAAG,KAAK,CAAC;IAEhB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,cAAc;gBAAE,SAAS;YACnC,MAAM,aAAa,GACjB,OAAO,CAAC,aAAa,KAAK,IAAI;gBAC9B,OAAO,CAAC,aAAa;gBACrB,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,UAAU,IAAI,aAAa;gBAAE,SAAS;YAChD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACzD,IAAI,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC;gBAAE,SAAS;YACrD,GAAG,GAAG,IAAI,CAAC;YACX,SAAS;QACX,CAAC;QAED,IACE,IAAI,KAAK,KAAK;YACd,IAAI,KAAK,QAAQ;YACjB,IAAI,KAAK,OAAO;YAChB,IAAI,KAAK,OAAO,EAChB,CAAC;YACD,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,OAAiC;IAEjC,OAAO,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAmB;IACjD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;IACnC,MAAM,SAAS,GACb,MAAM,EAAE,IAAI,KAAK,QAAQ;QACzB,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;QACxB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;QAC7B,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC;IAClC,IAAI,CAAC,SAAS;QAAE,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,MAAM,CAAC,aAAa;YAC1B,CAAC,CAAC,yEAAyE,MAAM,CAAC,MAAM,EAAE;YAC1F,CAAC,CAAC,sEAAsE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;KACpG,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/tools/shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ProviderId, ToolResult } from "../types.js";
|
|
1
|
+
import type { ChatMessage, ProviderId, ToolResult } from "../types.js";
|
|
2
2
|
import type { SecretPort } from "../app/ports/secret-port.js";
|
|
3
3
|
import type { JobMonitorMetadata } from "./jobs.js";
|
|
4
4
|
export interface ToolRunOptions {
|
|
@@ -9,6 +9,7 @@ export interface ToolRunOptions {
|
|
|
9
9
|
requestSecret?: SecretPort["request"] | undefined;
|
|
10
10
|
confirmed?: boolean | undefined;
|
|
11
11
|
userPrompt?: string | undefined;
|
|
12
|
+
userMessages?: readonly ChatMessage[] | undefined;
|
|
12
13
|
sessionId?: string | undefined;
|
|
13
14
|
taskId?: string | undefined;
|
|
14
15
|
parentTaskId?: string | undefined;
|
|
@@ -162,7 +162,7 @@ export function ToolCard(props) {
|
|
|
162
162
|
}, [formatMdRead, item, tail, expanded, termWidth, theme, colorMode]);
|
|
163
163
|
const presentsRawOutput = !(isFsRead || isBatch || isBatchLive || isFileDiff || isWriteMany || isMutation || formatMdRead);
|
|
164
164
|
const { lines, hiddenAboveCount, truncatedNotice } = useMemo(() => presentsRawOutput
|
|
165
|
-
? presentOutput(tail, spool.state(item.toolCallId), expanded)
|
|
165
|
+
? presentOutput(tail, spool.state(item.toolCallId), expanded, item.name)
|
|
166
166
|
: EMPTY_OUTPUT, [presentsRawOutput, tail, spool, item.toolCallId, item.outputBytes, expanded, item.name]);
|
|
167
167
|
const statusFg = theme[STATUS_COLOR[item.status]];
|
|
168
168
|
const highlight = statusFg;
|
|
@@ -328,7 +328,7 @@ export function ToolCard(props) {
|
|
|
328
328
|
marginBottom: 0,
|
|
329
329
|
paddingTop: 0,
|
|
330
330
|
flexShrink: 0,
|
|
331
|
-
}, children: [_jsxs("text", { selectable: true, style: { fg: theme.muted }, children: [argsLabel, ":", " "] }), _jsx("text", { selectable: true, style: { fg: theme.inputBorder }, children: argsDisplay })] })) : null, pathLine && !isFileDiff ? (_jsx("box", { style: { flexDirection: "row", width: "100%", marginTop: 0 }, children: _jsx(LinkableText, { text: pathLine, theme: theme, fg: theme.muted, selectable: true }) })) : null, detail ? _jsx(LinkableText, { text: detail, theme: theme, fg: theme.mode, selectable: true }) : null, summary ? (_jsx("text", { selectable: true, style: { fg: summaryFg, attributes: TextAttributes.DIM }, children: summary })) : null, isBatch
|
|
331
|
+
}, children: [_jsxs("text", { selectable: true, style: { fg: theme.muted, width: argsLabel.length + 2, flexShrink: 0 }, children: [argsLabel, ":", " "] }), _jsx("text", { selectable: true, style: { fg: theme.inputBorder, flexGrow: 1, flexShrink: 1, minWidth: 0 }, children: argsDisplay })] })) : null, pathLine && !isFileDiff ? (_jsx("box", { style: { flexDirection: "row", width: "100%", marginTop: 0 }, children: _jsx(LinkableText, { text: pathLine, theme: theme, fg: theme.muted, selectable: true }) })) : null, detail ? _jsx(LinkableText, { text: detail, theme: theme, fg: theme.mode, selectable: true }) : null, summary ? (_jsx("text", { selectable: true, style: { fg: summaryFg, attributes: TextAttributes.DIM }, children: summary })) : null, isBatch
|
|
332
332
|
? batchSections.map((section) => (_jsx(BatchSubCard, { section: section, theme: theme, expanded: batchExpanded, parentExpanded: batchExpanded, onOpen: openSection, contentWidth: Math.max(8, diffPaneWidth - 6) }, `${item.id}-sub-${section.index}`)))
|
|
333
333
|
: null, !isBatch && !isBatchLive && isFileDiff && fileChanges && fileChanges[0]?.kind !== "delete" ? (_jsxs("box", { style: {
|
|
334
334
|
flexDirection: "column",
|