@ellery/terminal-mcp 0.2.2 → 0.3.1
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 +159 -5
- package/dist/index.js +63 -2
- package/dist/index.js.map +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +8 -0
- package/dist/prompts/index.js.map +1 -1
- package/dist/server.d.ts +2 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +21 -0
- package/dist/server.js.map +1 -1
- package/dist/terminal/index.d.ts +1 -1
- package/dist/terminal/index.d.ts.map +1 -1
- package/dist/terminal/manager.d.ts +66 -63
- package/dist/terminal/manager.d.ts.map +1 -1
- package/dist/terminal/manager.js +255 -101
- package/dist/terminal/manager.js.map +1 -1
- package/dist/terminal/session.d.ts +13 -0
- package/dist/terminal/session.d.ts.map +1 -1
- package/dist/terminal/session.js +116 -0
- package/dist/terminal/session.js.map +1 -1
- package/dist/tools/createSession.d.ts +44 -0
- package/dist/tools/createSession.d.ts.map +1 -0
- package/dist/tools/createSession.js +41 -0
- package/dist/tools/createSession.js.map +1 -0
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +8 -2
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/destroySession.d.ts +31 -0
- package/dist/tools/destroySession.d.ts.map +1 -0
- package/dist/tools/destroySession.js +32 -0
- package/dist/tools/destroySession.js.map +1 -0
- package/dist/tools/getContent.d.ts +7 -0
- package/dist/tools/getContent.d.ts.map +1 -1
- package/dist/tools/getContent.js +8 -3
- package/dist/tools/getContent.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +20 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/listSessions.d.ts +19 -0
- package/dist/tools/listSessions.d.ts.map +1 -0
- package/dist/tools/listSessions.js +23 -0
- package/dist/tools/listSessions.js.map +1 -0
- package/dist/tools/screenshot.d.ts +26 -3
- package/dist/tools/screenshot.d.ts.map +1 -1
- package/dist/tools/screenshot.js +55 -5
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tools/sendKey.d.ts +7 -0
- package/dist/tools/sendKey.d.ts.map +1 -1
- package/dist/tools/sendKey.js +7 -2
- package/dist/tools/sendKey.js.map +1 -1
- package/dist/tools/startRecording.js +1 -1
- package/dist/tools/startRecording.js.map +1 -1
- package/dist/tools/type.d.ts +7 -0
- package/dist/tools/type.d.ts.map +1 -1
- package/dist/tools/type.js +7 -2
- package/dist/tools/type.js.map +1 -1
- package/dist/utils/render.d.ts +21 -0
- package/dist/utils/render.d.ts.map +1 -0
- package/dist/utils/render.js +162 -0
- package/dist/utils/render.js.map +1 -0
- package/package.json +6 -1
- package/sandbox-permissions.png +0 -0
package/README.md
CHANGED
|
@@ -22,13 +22,23 @@ Or via install script:
|
|
|
22
22
|
curl -fsSL https://raw.githubusercontent.com/elleryfamilia/terminal-mcp/main/install.sh | bash
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
+
### Upgrading
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install -g @ellery/terminal-mcp@latest
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Interactive mode will print a banner on next launch when a newer release is available — `terminal-mcp` checks the npm registry once per day and caches the result. Headless and MCP-client modes never check or print anything (so MCP stdio stays clean). To opt out entirely, set `NO_UPDATE_NOTIFIER=1` or pass `--no-update-notifier`.
|
|
32
|
+
|
|
25
33
|
## Features
|
|
26
34
|
|
|
27
35
|
- **Full Terminal Emulation**: Uses xterm.js headless for accurate VT100/ANSI emulation
|
|
28
36
|
- **Cross-Platform PTY**: Native pseudo-terminal support via node-pty (macOS, Linux, Windows)
|
|
29
37
|
- **MCP Protocol**: Implements Model Context Protocol for AI assistant integration
|
|
30
38
|
- **Session Recording**: Record terminal sessions to asciicast format for playback with asciinema
|
|
31
|
-
- **Simple API**:
|
|
39
|
+
- **Simple API**: Nine tools covering input, observation, recording, and session lifecycle
|
|
40
|
+
- **Headless Mode**: Run as a standalone MCP server without a TTY — ideal for CI, containers, and non-interactive environments
|
|
41
|
+
- **Multi-Session**: Run multiple isolated terminal sessions in one process, addressed by `sessionId`
|
|
32
42
|
- **Sandbox Mode**: Optional security restrictions for filesystem and network access
|
|
33
43
|
|
|
34
44
|
## Building from Source
|
|
@@ -76,6 +86,7 @@ Options:
|
|
|
76
86
|
--cols <number> Terminal width in columns (default: 120)
|
|
77
87
|
--rows <number> Terminal height in rows (default: 40)
|
|
78
88
|
--shell <path> Shell to use (default: $SHELL or bash)
|
|
89
|
+
--headless Run in headless mode (embedded PTY + MCP over stdio, no TTY needed)
|
|
79
90
|
--sandbox Enable sandbox mode (restricts filesystem/network)
|
|
80
91
|
--sandbox-config <path> Load sandbox config from JSON file
|
|
81
92
|
--version, -v Show version number
|
|
@@ -89,10 +100,60 @@ Recording Options:
|
|
|
89
100
|
--idle-time-limit <sec> Max idle time between events (default: 2s)
|
|
90
101
|
--max-duration <sec> Max recording duration (default: 3600s)
|
|
91
102
|
--inactivity-timeout <sec> Stop after no output (default: 600s)
|
|
103
|
+
|
|
104
|
+
Multi-Session Options:
|
|
105
|
+
--max-sessions <n> Max concurrent sessions (default: 5)
|
|
106
|
+
--session-idle-timeout <sec> Idle non-default sessions are auto-destroyed
|
|
107
|
+
after this period (default: 600s)
|
|
92
108
|
```
|
|
93
109
|
|
|
110
|
+
## Headless Mode
|
|
111
|
+
|
|
112
|
+
By default, Terminal MCP uses a **dual-process architecture**: you run `terminal-mcp` in an interactive terminal (which creates a Unix socket), then your MCP client spawns a second instance that connects to that socket. This requires a TTY.
|
|
113
|
+
|
|
114
|
+
**Headless mode** (`--headless`) eliminates this requirement by spawning an embedded PTY internally and serving MCP directly over stdio in a single process. No interactive terminal session, no socket — just a self-contained MCP server with a built-in terminal.
|
|
115
|
+
|
|
116
|
+
### When to use headless mode
|
|
117
|
+
|
|
118
|
+
- **CI/CD pipelines** — no TTY available
|
|
119
|
+
- **Docker containers** — no interactive shell to run alongside
|
|
120
|
+
- **Remote/cloud environments** — MCP servers spawned by automation
|
|
121
|
+
- **Simplified setup** — single process, no socket coordination needed
|
|
122
|
+
|
|
123
|
+
### Configuration
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"mcpServers": {
|
|
128
|
+
"terminal": {
|
|
129
|
+
"command": "terminal-mcp",
|
|
130
|
+
"args": ["--headless", "--cols", "120", "--rows", "40"]
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### How it works
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
MCP Client (Claude Code, etc.)
|
|
140
|
+
│ STDIO (JSON-RPC)
|
|
141
|
+
▼
|
|
142
|
+
terminal-mcp --headless
|
|
143
|
+
├── MCP Server (stdio transport)
|
|
144
|
+
├── Terminal Emulator (@xterm/headless)
|
|
145
|
+
└── Embedded PTY (node-pty)
|
|
146
|
+
│
|
|
147
|
+
▼
|
|
148
|
+
Shell Process (bash, zsh, etc.)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
In headless mode, the terminal session is initialized eagerly at startup, so all tools (`type`, `sendKey`, `getContent`, `takeScreenshot`, `startRecording`, `stopRecording`, `createSession`, `listSessions`, `destroySession`) are available immediately.
|
|
152
|
+
|
|
94
153
|
## MCP Tools
|
|
95
154
|
|
|
155
|
+
All input/output tools (`type`, `sendKey`, `getContent`, `takeScreenshot`) accept an optional `sessionId` argument. Omit it to target the default session; pass the ID returned by `createSession` to drive a specific session.
|
|
156
|
+
|
|
96
157
|
### `type`
|
|
97
158
|
Send text input to the terminal.
|
|
98
159
|
|
|
@@ -137,15 +198,25 @@ Get the terminal buffer as plain text.
|
|
|
137
198
|
```
|
|
138
199
|
|
|
139
200
|
### `takeScreenshot`
|
|
140
|
-
Capture the terminal state
|
|
201
|
+
Capture the terminal state. Supports three output formats:
|
|
202
|
+
|
|
203
|
+
| Format | Description |
|
|
204
|
+
|--------|-------------|
|
|
205
|
+
| `text` (default) | JSON with plain text content, cursor position, and dimensions |
|
|
206
|
+
| `ansi` | JSON with ANSI color escape codes preserved in the content field |
|
|
207
|
+
| `png` | Color screenshot as a PNG image (requires `@resvg/resvg-js`) |
|
|
141
208
|
|
|
142
209
|
```json
|
|
143
210
|
{
|
|
144
211
|
"name": "takeScreenshot",
|
|
145
|
-
"arguments": {}
|
|
212
|
+
"arguments": { "format": "text" }
|
|
146
213
|
}
|
|
147
214
|
```
|
|
148
215
|
|
|
216
|
+
The `ansi` format reconstructs SGR escape sequences from the terminal's cell buffer, preserving 16-color, 256-color, and 24-bit truecolor attributes along with bold, dim, italic, and underline styles.
|
|
217
|
+
|
|
218
|
+
The `png` format returns an MCP `image` content block with base64-encoded PNG data, rendered with the One Dark color theme and macOS-style window chrome.
|
|
219
|
+
|
|
149
220
|
### `startRecording`
|
|
150
221
|
Start recording terminal output to an asciicast v2 file.
|
|
151
222
|
|
|
@@ -179,6 +250,62 @@ Stop a recording and finalize the asciicast file.
|
|
|
179
250
|
}
|
|
180
251
|
```
|
|
181
252
|
|
|
253
|
+
### `createSession`
|
|
254
|
+
Create a new terminal session and return its metadata. Use the returned `sessionId` to target this session in subsequent tool calls.
|
|
255
|
+
|
|
256
|
+
```json
|
|
257
|
+
{
|
|
258
|
+
"name": "createSession",
|
|
259
|
+
"arguments": {
|
|
260
|
+
"shell": "/bin/zsh",
|
|
261
|
+
"cols": 100,
|
|
262
|
+
"rows": 30
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
All arguments are optional. Returns:
|
|
268
|
+
|
|
269
|
+
```json
|
|
270
|
+
{
|
|
271
|
+
"sessionId": "3029d",
|
|
272
|
+
"shell": "/bin/zsh",
|
|
273
|
+
"cols": 100,
|
|
274
|
+
"rows": 30,
|
|
275
|
+
"createdAt": "2026-04-25T12:58:01.072Z",
|
|
276
|
+
"lastActivityAt": "2026-04-25T12:58:01.072Z",
|
|
277
|
+
"isDefault": false
|
|
278
|
+
}
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### `listSessions`
|
|
282
|
+
List all active sessions including the default. Reports configured limits.
|
|
283
|
+
|
|
284
|
+
```json
|
|
285
|
+
{ "name": "listSessions", "arguments": {} }
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### `destroySession`
|
|
289
|
+
Destroy a session by ID. The default session cannot be destroyed.
|
|
290
|
+
|
|
291
|
+
```json
|
|
292
|
+
{
|
|
293
|
+
"name": "destroySession",
|
|
294
|
+
"arguments": { "sessionId": "3029d" }
|
|
295
|
+
}
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
## Multi-Session
|
|
299
|
+
|
|
300
|
+
By default, every tool call without a `sessionId` targets a single auto-created **default session** — the same behavior the project has always had. Pass `sessionId` to drive multiple isolated PTYs from one process.
|
|
301
|
+
|
|
302
|
+
- The default session is created on first use and cannot be destroyed.
|
|
303
|
+
- Additional sessions are created by `createSession` and tracked until they're destroyed or idle-evicted (`--session-idle-timeout`, default 600s).
|
|
304
|
+
- Concurrent sessions are capped at `--max-sessions` (default 5).
|
|
305
|
+
- An active recording captures output from all sessions in the process.
|
|
306
|
+
|
|
307
|
+
Typical use case: an AI agent driving a long-running build in one session while running diagnostics in another, without command interleaving.
|
|
308
|
+
|
|
182
309
|
## Sandbox Mode
|
|
183
310
|
|
|
184
311
|
Run the terminal with restricted filesystem and network access:
|
|
@@ -192,6 +319,10 @@ terminal-mcp --sandbox --sandbox-config ~/.terminal-mcp-sandbox.json
|
|
|
192
319
|
```
|
|
193
320
|
|
|
194
321
|
The interactive mode shows a TUI dialog to configure permissions:
|
|
322
|
+
|
|
323
|
+
<p align="center">
|
|
324
|
+
<img src="sandbox-permissions.png" alt="Sandbox Permissions Dialog" width="400">
|
|
325
|
+
</p>
|
|
195
326
|
- **Read/Write**: Full access (current directory, /tmp, caches)
|
|
196
327
|
- **Read-Only**: Can read but not modify (home directory)
|
|
197
328
|
- **Blocked**: No access (SSH keys, cloud credentials, auth tokens)
|
|
@@ -278,19 +409,42 @@ This enables AI-driven workflows like "record this debugging session" or "captur
|
|
|
278
409
|
|
|
279
410
|
## Architecture
|
|
280
411
|
|
|
412
|
+
Terminal MCP has three operating modes:
|
|
413
|
+
|
|
414
|
+
| Mode | Flag | Stdin | Description |
|
|
415
|
+
|------|------|-------|-------------|
|
|
416
|
+
| **Interactive** | *(default)* | TTY | User gets a shell; AI connects via Unix socket |
|
|
417
|
+
| **Client** | *(default)* | non-TTY | Connects to an interactive session's socket, serves MCP over stdio |
|
|
418
|
+
| **Headless** | `--headless` | any | Self-contained: embedded PTY + MCP server over stdio |
|
|
419
|
+
|
|
420
|
+
### Headless mode (recommended for MCP configs)
|
|
421
|
+
|
|
281
422
|
```
|
|
282
423
|
MCP Client (Claude Code, etc.)
|
|
283
424
|
│ STDIO (JSON-RPC)
|
|
284
425
|
▼
|
|
285
|
-
|
|
426
|
+
terminal-mcp --headless
|
|
286
427
|
├── MCP SDK (@modelcontextprotocol/sdk)
|
|
287
428
|
├── Terminal Emulator (@xterm/headless)
|
|
288
|
-
└── PTY
|
|
429
|
+
└── Embedded PTY (node-pty)
|
|
289
430
|
│
|
|
290
431
|
▼
|
|
291
432
|
Shell Process (bash, zsh, etc.)
|
|
292
433
|
```
|
|
293
434
|
|
|
435
|
+
### Interactive + Client mode (two-process)
|
|
436
|
+
|
|
437
|
+
```
|
|
438
|
+
terminal-mcp (interactive, in your terminal)
|
|
439
|
+
├── User shell (stdin/stdout)
|
|
440
|
+
└── Unix socket server (/tmp/terminal-mcp.sock)
|
|
441
|
+
▲
|
|
442
|
+
│ JSON-RPC over socket
|
|
443
|
+
▼
|
|
444
|
+
terminal-mcp (client, spawned by MCP client)
|
|
445
|
+
└── MCP server (stdio transport)
|
|
446
|
+
```
|
|
447
|
+
|
|
294
448
|
## Example Session
|
|
295
449
|
|
|
296
450
|
```bash
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import * as fs from "fs";
|
|
3
3
|
import { createRequire } from "module";
|
|
4
|
+
import updateNotifier from "update-notifier";
|
|
5
|
+
import { startServer } from "./server.js";
|
|
4
6
|
import { startMcpClientMode } from "./client.js";
|
|
5
7
|
import { TerminalManager } from "./terminal/index.js";
|
|
6
8
|
import { createToolProxyServer } from "./transport/index.js";
|
|
@@ -8,7 +10,8 @@ import { getBanner } from "./ui/index.js";
|
|
|
8
10
|
import { getDefaultSocketPath, getDefaultShell } from "./utils/platform.js";
|
|
9
11
|
import { SandboxController, loadConfigFromFile, promptForPermissions, } from "./sandbox/index.js";
|
|
10
12
|
const require = createRequire(import.meta.url);
|
|
11
|
-
const
|
|
13
|
+
const pkg = require("../package.json");
|
|
14
|
+
const { version } = pkg;
|
|
12
15
|
// Default socket path
|
|
13
16
|
const DEFAULT_SOCKET_PATH = getDefaultSocketPath();
|
|
14
17
|
// Parse command line arguments
|
|
@@ -42,6 +45,9 @@ for (let i = 0; i < args.length; i++) {
|
|
|
42
45
|
i++;
|
|
43
46
|
}
|
|
44
47
|
break;
|
|
48
|
+
case "--headless":
|
|
49
|
+
options.headless = true;
|
|
50
|
+
break;
|
|
45
51
|
case "--sandbox":
|
|
46
52
|
options.sandbox = true;
|
|
47
53
|
break;
|
|
@@ -96,6 +102,18 @@ for (let i = 0; i < args.length; i++) {
|
|
|
96
102
|
i++;
|
|
97
103
|
}
|
|
98
104
|
break;
|
|
105
|
+
case "--max-sessions":
|
|
106
|
+
if (next) {
|
|
107
|
+
options.maxSessions = parseInt(next, 10);
|
|
108
|
+
i++;
|
|
109
|
+
}
|
|
110
|
+
break;
|
|
111
|
+
case "--session-idle-timeout":
|
|
112
|
+
if (next) {
|
|
113
|
+
options.sessionIdleTimeout = parseFloat(next);
|
|
114
|
+
i++;
|
|
115
|
+
}
|
|
116
|
+
break;
|
|
99
117
|
case "--version":
|
|
100
118
|
case "-v":
|
|
101
119
|
console.log(`terminal-mcp v${version}`);
|
|
@@ -112,8 +130,11 @@ Options:
|
|
|
112
130
|
--rows <number> Terminal height in rows (default: auto or 40)
|
|
113
131
|
--shell <path> Shell to use (default: $SHELL or bash)
|
|
114
132
|
--socket <path> Unix socket path for MCP (default: ${DEFAULT_SOCKET_PATH})
|
|
133
|
+
--headless Run in headless mode (MCP server with embedded terminal, no TTY needed)
|
|
115
134
|
--sandbox Enable sandbox mode (restricts filesystem/network access)
|
|
116
135
|
--sandbox-config <path> Load sandbox config from JSON file
|
|
136
|
+
--max-sessions <n> Max concurrent terminal sessions (default: 5)
|
|
137
|
+
--session-idle-timeout <sec> Idle non-default sessions auto-destroy after this (default: 600)
|
|
117
138
|
--version, -v Show version number
|
|
118
139
|
--help, -h Show this help message
|
|
119
140
|
|
|
@@ -138,6 +159,7 @@ Environment Variables:
|
|
|
138
159
|
TERMINAL_MCP_RECORD_DIR Default recording output directory
|
|
139
160
|
|
|
140
161
|
Mode Detection:
|
|
162
|
+
- If --headless: Headless mode (embedded PTY + MCP server over stdio)
|
|
141
163
|
- If stdin is a TTY: Interactive mode (gives you a shell, exposes socket)
|
|
142
164
|
- If stdin is not a TTY: MCP client mode (connects to socket, serves MCP)
|
|
143
165
|
|
|
@@ -171,6 +193,23 @@ Sandbox Mode:
|
|
|
171
193
|
}
|
|
172
194
|
}
|
|
173
195
|
|
|
196
|
+
Headless Mode (no TTY required, for CI/containers/MCP servers):
|
|
197
|
+
terminal-mcp --headless
|
|
198
|
+
terminal-mcp --headless --cols 120 --rows 40
|
|
199
|
+
|
|
200
|
+
Spawns a PTY shell internally and serves MCP directly over stdio.
|
|
201
|
+
No separate interactive session or socket needed.
|
|
202
|
+
|
|
203
|
+
MCP client config for headless:
|
|
204
|
+
{
|
|
205
|
+
"mcpServers": {
|
|
206
|
+
"terminal": {
|
|
207
|
+
"command": "terminal-mcp",
|
|
208
|
+
"args": ["--headless", "--cols", "120", "--rows", "40"]
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
174
213
|
MCP Client Mode (add to your MCP client config):
|
|
175
214
|
{
|
|
176
215
|
"mcpServers": {
|
|
@@ -193,7 +232,18 @@ async function main() {
|
|
|
193
232
|
'To use MCP tools, configure your MCP client to connect to this session.');
|
|
194
233
|
process.exit(1);
|
|
195
234
|
}
|
|
196
|
-
if (
|
|
235
|
+
if (options.headless) {
|
|
236
|
+
// Headless mode: Spawn PTY internally, serve MCP directly over stdio
|
|
237
|
+
// No TTY or socket needed
|
|
238
|
+
await startServer({
|
|
239
|
+
cols: options.cols,
|
|
240
|
+
rows: options.rows,
|
|
241
|
+
shell: options.shell,
|
|
242
|
+
maxSessions: options.maxSessions,
|
|
243
|
+
sessionIdleTimeout: options.sessionIdleTimeout,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
else if (isInteractive) {
|
|
197
247
|
// Interactive mode: Shell on stdin/stdout, tool proxy on Unix socket
|
|
198
248
|
await startInteractiveMode(socketPath);
|
|
199
249
|
}
|
|
@@ -203,6 +253,15 @@ async function main() {
|
|
|
203
253
|
}
|
|
204
254
|
}
|
|
205
255
|
async function startInteractiveMode(socketPath) {
|
|
256
|
+
// Throttled update check (once per day). Prints to stderr in the user's
|
|
257
|
+
// terminal, never in headless / MCP-client mode where it would corrupt
|
|
258
|
+
// JSON-RPC over stdio.
|
|
259
|
+
try {
|
|
260
|
+
updateNotifier({ pkg }).notify({ defer: false });
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
// Never let an update check break startup.
|
|
264
|
+
}
|
|
206
265
|
// Get terminal size from environment or use defaults
|
|
207
266
|
const cols = options.cols ?? (process.stdout.columns || 120);
|
|
208
267
|
const rows = options.rows ?? (process.stdout.rows || 40);
|
|
@@ -298,6 +357,8 @@ async function startInteractiveMode(socketPath) {
|
|
|
298
357
|
idleTimeLimit: options.idleTimeLimit,
|
|
299
358
|
maxDuration: options.maxDuration,
|
|
300
359
|
inactivityTimeout: options.inactivityTimeout,
|
|
360
|
+
maxSessions: options.maxSessions,
|
|
361
|
+
sessionIdleTimeout: options.sessionIdleTimeout,
|
|
301
362
|
});
|
|
302
363
|
// Get the session and set up interactive I/O
|
|
303
364
|
const session = await manager.initSession();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AACjG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GAGrB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/C,sBAAsB;AACtB,MAAM,mBAAmB,GAAG,oBAAoB,EAAE,CAAC;AAKnD,+BAA+B;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAaT,EAAE,CAAC;AAEP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,QAAQ;YACX,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClC,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM;QACR,KAAK,QAAQ;YACX,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClC,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM;QACR,KAAK,UAAU;YACb,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;gBACtB,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM;QACR,KAAK,WAAW;YACd,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,MAAM;QACR,KAAK,kBAAkB;YACrB,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC7B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,4BAA4B;gBACpD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM;QACR,KAAK,UAAU;YACb,+CAA+C;YAC/C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC5B,CAAC;iBAAM,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAC,MAAM,GAAG,IAAqB,CAAC;gBACvC,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC5B,CAAC;YACD,MAAM;QACR,KAAK,cAAc;YACjB,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzB,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM;QACR,KAAK,iBAAiB;YACpB,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,YAAY,GAAG,IAAY,CAAC;gBACpC,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM;QACR,KAAK,mBAAmB;YACtB,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzC,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM;QACR,KAAK,sBAAsB;YACzB,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM;QACR,KAAK,WAAW,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC;gBACF,OAAO;;;;;;;;8DAQuC,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEhF,CAAC,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC;IACzD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IAE1C,+BAA+B;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CACX,yDAAyD;YACzD,oDAAoD;YACpD,yEAAyE,CAC1E,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,qEAAqE;QACrE,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,2DAA2D;QAC3D,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IACpD,qDAAqD;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;IAEjD,gCAAgC;IAChC,IAAI,iBAAgD,CAAC;IACrD,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAE5C,mEAAmE;QACnE,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;YACjD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,oEAAoE,QAAQ,IAAI,CAAC,CAAC;YAClG,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,oCAAoC;QACpC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC3E,OAAO,CAAC,KAAK,CAAC,2BAA2B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,wBAAwB;QACxB,IAAI,WAA+B,CAAC;QACpC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,6CAA6C,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;YACpF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,iDAAiD,KAAK,EAAE,CAAC,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,oBAAoB,EAAE,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5D,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC/D,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;QAEhC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,oEAAoE;YACpE,OAAO,CAAC,KAAK,CAAC,uDAAuD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACtF,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,aAAa,GAAG,SAAS,CAAC;QAC9B,UAAU;QACV,IAAI;QACJ,IAAI;QACJ,KAAK;QACL,cAAc;KACf,CAAC,CAAC;IAEH,uEAAuE;IACvE,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,IAAI;QACJ,IAAI;QACJ,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,aAAa;QACb,iBAAiB;QACjB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC7C,CAAC,CAAC;IAEH,6CAA6C;IAC7C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IAE5C,uEAAuE;IACvE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAE/C,4BAA4B;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3B,qDAAqD;QACrD,IAAI,SAAS,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,WAAW,GAAG,IAAI,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC;YAClD,mCAAmC;YACnC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oDAAoD;IACpD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC5B,sCAAsC;QACtC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE1D,OAAO,CAAC,GAAG,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAC;QAE/D,wCAAwC;QACxC,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAEvB,6BAA6B;IAC7B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAChC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,YAAY,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEhE,mDAAmD;IACnD,SAAS,OAAO;QACd,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,KAAK,UAAU,YAAY;QACzB,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;QAC7B,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,8CAA8C;QAC9C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAuEnE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAwBpD"}
|
package/dist/prompts/index.js
CHANGED
|
@@ -4,6 +4,14 @@ const TOOL_USAGE_PROMPT = `# Terminal MCP Tool Usage Guide
|
|
|
4
4
|
## Overview
|
|
5
5
|
This MCP server provides tools to interact with a terminal emulator. Use these tools to execute commands and read output.
|
|
6
6
|
|
|
7
|
+
## When to prefer this server
|
|
8
|
+
Prefer terminal-mcp over plain non-interactive shell tools whenever the command:
|
|
9
|
+
- needs sudo or otherwise prompts for a password (the human can type it interactively into this PTY)
|
|
10
|
+
- prompts the user for input during execution (ssh login, git push over HTTPS, npm login, etc.)
|
|
11
|
+
- runs a TUI (vim, nano, less, more, htop, top, man, kubectl edit, gh pr create)
|
|
12
|
+
- needs line-buffered TTY behavior (colors, progress bars, fzf, watch)
|
|
13
|
+
- must be observed while still running (long-running build, server, REPL)
|
|
14
|
+
|
|
7
15
|
## Tools
|
|
8
16
|
|
|
9
17
|
### type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,iBAAiB,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDzB,CAAC;AAEF,MAAM,OAAO,GAAG;IACd;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,uDAAuD;KACrE;CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO;KACR,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACjE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEhC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAe;wBACrB,OAAO,EAAE;4BACP,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,iBAAiB;yBACxB;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -5,10 +5,9 @@ export interface ServerOptions {
|
|
|
5
5
|
cols?: number;
|
|
6
6
|
rows?: number;
|
|
7
7
|
shell?: string;
|
|
8
|
+
maxSessions?: number;
|
|
9
|
+
sessionIdleTimeout?: number;
|
|
8
10
|
}
|
|
9
|
-
/**
|
|
10
|
-
* Create and configure the MCP server with an existing terminal manager
|
|
11
|
-
*/
|
|
12
11
|
export declare function createServerWithManager(manager: TerminalManager): Server;
|
|
13
12
|
/**
|
|
14
13
|
* Create and configure the MCP server with a new terminal manager
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAsBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAmBxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,eAAe,CAAC;CAC1B,CAYA;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB5E"}
|
package/dist/server.js
CHANGED
|
@@ -7,6 +7,22 @@ import { registerPrompts } from "./prompts/index.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* Create and configure the MCP server with an existing terminal manager
|
|
9
9
|
*/
|
|
10
|
+
const SERVER_INSTRUCTIONS = `Terminal MCP exposes a real PTY-backed shell to AI assistants.
|
|
11
|
+
|
|
12
|
+
Prefer this server over plain non-interactive shell tools whenever the command:
|
|
13
|
+
- needs sudo or otherwise prompts for a password (the human user can type it interactively)
|
|
14
|
+
- prompts the user for input mid-execution (ssh login, git push over HTTPS, npm login, etc.)
|
|
15
|
+
- runs a TUI program (vim, nano, less, more, htop, top, man, kubectl edit, gh pr create)
|
|
16
|
+
- requires line-buffered TTY behavior (color output, progress bars, fzf, watch)
|
|
17
|
+
- needs to be observed while still running (long-running build, server, REPL)
|
|
18
|
+
|
|
19
|
+
Workflow: type(<command>), sendKey('Enter'), then getContent() to read the result.
|
|
20
|
+
For long-running interactive programs, sendKey for navigation and takeScreenshot to
|
|
21
|
+
inspect cursor position and TUI state.
|
|
22
|
+
|
|
23
|
+
Multi-session: omit sessionId to drive the default session, or call createSession to
|
|
24
|
+
get a new isolated PTY for parallel work (e.g. a build in one session, diagnostics in
|
|
25
|
+
another). The default session cannot be destroyed.`;
|
|
10
26
|
export function createServerWithManager(manager) {
|
|
11
27
|
const server = new Server({
|
|
12
28
|
name: "terminal-mcp",
|
|
@@ -16,6 +32,7 @@ export function createServerWithManager(manager) {
|
|
|
16
32
|
tools: {},
|
|
17
33
|
prompts: {},
|
|
18
34
|
},
|
|
35
|
+
instructions: SERVER_INSTRUCTIONS,
|
|
19
36
|
});
|
|
20
37
|
registerTools(server, manager);
|
|
21
38
|
registerPrompts(server);
|
|
@@ -29,6 +46,8 @@ export function createServer(options = {}) {
|
|
|
29
46
|
cols: options.cols,
|
|
30
47
|
rows: options.rows,
|
|
31
48
|
shell: options.shell,
|
|
49
|
+
maxSessions: options.maxSessions,
|
|
50
|
+
sessionIdleTimeout: options.sessionIdleTimeout,
|
|
32
51
|
});
|
|
33
52
|
const server = createServerWithManager(manager);
|
|
34
53
|
return { server, manager };
|
|
@@ -44,6 +63,8 @@ export async function connectServer(server, transport) {
|
|
|
44
63
|
*/
|
|
45
64
|
export async function startServer(options = {}) {
|
|
46
65
|
const { server, manager } = createServer(options);
|
|
66
|
+
// Eagerly initialize the terminal session so tools can use it immediately
|
|
67
|
+
await manager.initSession();
|
|
47
68
|
const transport = new StdioServerTransport();
|
|
48
69
|
// Handle graceful shutdown
|
|
49
70
|
process.on("SIGINT", () => {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAUrD;;GAEG;AACH,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;mDAeuB,CAAC;AAEpD,MAAM,UAAU,uBAAuB,CAAC,OAAwB;IAC9D,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;SACZ;QACD,YAAY,EAAE,mBAAmB;KAClC,CACF,CAAC;IAEF,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,UAAyB,EAAE;IAItD,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;KAC/C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,SAAoB;IACtE,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAyB,EAAE;IAC3D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAElD,0EAA0E;IAC1E,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IAE5B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/terminal/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { TerminalSession } from "./session.js";
|
|
2
2
|
export type { TerminalSessionOptions, ScreenshotResult } from "./session.js";
|
|
3
3
|
export { TerminalManager } from "./manager.js";
|
|
4
|
-
export type { TerminalManagerOptions } from "./manager.js";
|
|
4
|
+
export type { TerminalManagerOptions, CreateSessionOptions, SessionMetadata, } from "./manager.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/terminal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/terminal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,GAChB,MAAM,cAAc,CAAC"}
|