persistent-terminal-mcp 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/CHANGELOG.md +278 -0
  2. package/LICENSE +21 -0
  3. package/README.en.md +259 -0
  4. package/README.md +608 -0
  5. package/dist/examples/basic-usage.d.ts +3 -0
  6. package/dist/examples/basic-usage.d.ts.map +1 -0
  7. package/dist/examples/basic-usage.js +116 -0
  8. package/dist/examples/basic-usage.js.map +1 -0
  9. package/dist/examples/codex-bug-fix-demo.d.ts +3 -0
  10. package/dist/examples/codex-bug-fix-demo.d.ts.map +1 -0
  11. package/dist/examples/codex-bug-fix-demo.js +134 -0
  12. package/dist/examples/codex-bug-fix-demo.js.map +1 -0
  13. package/dist/examples/interactive-demo.d.ts +3 -0
  14. package/dist/examples/interactive-demo.d.ts.map +1 -0
  15. package/dist/examples/interactive-demo.js +235 -0
  16. package/dist/examples/interactive-demo.js.map +1 -0
  17. package/dist/examples/rest-api-demo.d.ts +7 -0
  18. package/dist/examples/rest-api-demo.d.ts.map +1 -0
  19. package/dist/examples/rest-api-demo.js +160 -0
  20. package/dist/examples/rest-api-demo.js.map +1 -0
  21. package/dist/examples/smart-reading-demo.d.ts +3 -0
  22. package/dist/examples/smart-reading-demo.d.ts.map +1 -0
  23. package/dist/examples/smart-reading-demo.js +153 -0
  24. package/dist/examples/smart-reading-demo.js.map +1 -0
  25. package/dist/examples/test-all-9-tools.d.ts +8 -0
  26. package/dist/examples/test-all-9-tools.d.ts.map +1 -0
  27. package/dist/examples/test-all-9-tools.js +162 -0
  28. package/dist/examples/test-all-9-tools.js.map +1 -0
  29. package/dist/examples/test-all-tools.d.ts +3 -0
  30. package/dist/examples/test-all-tools.d.ts.map +1 -0
  31. package/dist/examples/test-all-tools.js +150 -0
  32. package/dist/examples/test-all-tools.js.map +1 -0
  33. package/dist/examples/test-fixes.d.ts +9 -0
  34. package/dist/examples/test-fixes.d.ts.map +1 -0
  35. package/dist/examples/test-fixes.js +168 -0
  36. package/dist/examples/test-fixes.js.map +1 -0
  37. package/dist/examples/test-spinner-compaction.d.ts +8 -0
  38. package/dist/examples/test-spinner-compaction.d.ts.map +1 -0
  39. package/dist/examples/test-spinner-compaction.js +155 -0
  40. package/dist/examples/test-spinner-compaction.js.map +1 -0
  41. package/dist/examples/test-web-ui.d.ts +12 -0
  42. package/dist/examples/test-web-ui.d.ts.map +1 -0
  43. package/dist/examples/test-web-ui.js +90 -0
  44. package/dist/examples/test-web-ui.js.map +1 -0
  45. package/dist/index.d.ts +8 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +81 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/mcp-server.d.ts +49 -0
  50. package/dist/mcp-server.d.ts.map +1 -0
  51. package/dist/mcp-server.js +1056 -0
  52. package/dist/mcp-server.js.map +1 -0
  53. package/dist/output-buffer.d.ts +134 -0
  54. package/dist/output-buffer.d.ts.map +1 -0
  55. package/dist/output-buffer.js +553 -0
  56. package/dist/output-buffer.js.map +1 -0
  57. package/dist/rest-api.d.ts +33 -0
  58. package/dist/rest-api.d.ts.map +1 -0
  59. package/dist/rest-api.js +325 -0
  60. package/dist/rest-api.js.map +1 -0
  61. package/dist/rest-server.d.ts +3 -0
  62. package/dist/rest-server.d.ts.map +1 -0
  63. package/dist/rest-server.js +72 -0
  64. package/dist/rest-server.js.map +1 -0
  65. package/dist/terminal-manager.d.ts +93 -0
  66. package/dist/terminal-manager.d.ts.map +1 -0
  67. package/dist/terminal-manager.js +702 -0
  68. package/dist/terminal-manager.js.map +1 -0
  69. package/dist/types.d.ts +201 -0
  70. package/dist/types.d.ts.map +1 -0
  71. package/dist/types.js +5 -0
  72. package/dist/types.js.map +1 -0
  73. package/dist/web-ui-manager.d.ts +38 -0
  74. package/dist/web-ui-manager.d.ts.map +1 -0
  75. package/dist/web-ui-manager.js +130 -0
  76. package/dist/web-ui-manager.js.map +1 -0
  77. package/dist/web-ui-server.d.ts +42 -0
  78. package/dist/web-ui-server.d.ts.map +1 -0
  79. package/dist/web-ui-server.js +324 -0
  80. package/dist/web-ui-server.js.map +1 -0
  81. package/package.json +129 -0
  82. package/public/app.js +265 -0
  83. package/public/index.html +63 -0
  84. package/public/styles.css +383 -0
  85. package/public/terminal.html +56 -0
  86. package/public/terminal.js +244 -0
  87. package/public/test.html +97 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-manager.js","sourceRoot":"","sources":["../src/terminal-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * 终端会话相关的类型定义
3
+ */
4
+ export interface TerminalSession {
5
+ id: string;
6
+ pid: number;
7
+ shell: string;
8
+ cwd: string;
9
+ env: Record<string, string>;
10
+ created: Date;
11
+ lastActivity: Date;
12
+ status: 'active' | 'inactive' | 'terminated';
13
+ pendingCommand?: CommandRuntimeInfo | null;
14
+ lastCommand?: CommandRuntimeInfo | null;
15
+ lastPromptLine?: string | null;
16
+ lastPromptAt?: Date | null;
17
+ hasPrompt?: boolean;
18
+ }
19
+ export interface CommandRuntimeInfo {
20
+ command: string;
21
+ startedAt: Date;
22
+ completedAt?: Date | null;
23
+ }
24
+ export interface TerminalCreateOptions {
25
+ shell?: string | undefined;
26
+ cwd?: string | undefined;
27
+ env?: Record<string, string> | undefined;
28
+ cols?: number | undefined;
29
+ rows?: number | undefined;
30
+ }
31
+ export interface TerminalWriteOptions {
32
+ terminalId: string;
33
+ input: string;
34
+ appendNewline?: boolean;
35
+ }
36
+ export interface TerminalReadOptions {
37
+ terminalId: string;
38
+ since?: number | undefined;
39
+ maxLines?: number | undefined;
40
+ mode?: 'full' | 'head-tail' | 'head' | 'tail' | undefined;
41
+ headLines?: number | undefined;
42
+ tailLines?: number | undefined;
43
+ stripSpinner?: boolean | undefined;
44
+ }
45
+ export interface TerminalReadResult {
46
+ output: string;
47
+ totalLines: number;
48
+ hasMore: boolean;
49
+ since: number;
50
+ cursor?: number;
51
+ truncated?: boolean;
52
+ stats?: {
53
+ totalBytes: number;
54
+ estimatedTokens: number;
55
+ linesShown: number;
56
+ linesOmitted: number;
57
+ };
58
+ status?: TerminalReadStatus;
59
+ }
60
+ export interface TerminalReadStatus {
61
+ isRunning: boolean;
62
+ hasPrompt: boolean;
63
+ pendingCommand: CommandSummary | null;
64
+ lastCommand: CommandSummary | null;
65
+ promptLine: string | null;
66
+ lastActivity: string;
67
+ }
68
+ export interface CommandSummary {
69
+ command: string;
70
+ startedAt: string;
71
+ completedAt?: string | null;
72
+ }
73
+ export interface TerminalListResult {
74
+ terminals: Array<{
75
+ id: string;
76
+ pid: number;
77
+ shell: string;
78
+ cwd: string;
79
+ created: string;
80
+ lastActivity: string;
81
+ status: string;
82
+ }>;
83
+ }
84
+ export interface OutputBufferEntry {
85
+ timestamp: Date;
86
+ content: string;
87
+ lineNumber: number;
88
+ sequence: number;
89
+ }
90
+ export interface BufferReadOptions {
91
+ since?: number | undefined;
92
+ maxLines?: number | undefined;
93
+ }
94
+ export interface BufferReadResult {
95
+ entries: OutputBufferEntry[];
96
+ totalLines: number;
97
+ hasMore: boolean;
98
+ nextCursor: number;
99
+ }
100
+ export interface TerminalManagerConfig {
101
+ maxBufferSize?: number;
102
+ sessionTimeout?: number;
103
+ defaultShell?: string;
104
+ defaultCols?: number;
105
+ defaultRows?: number;
106
+ compactAnimations?: boolean;
107
+ animationThrottleMs?: number;
108
+ }
109
+ export interface TerminalError extends Error {
110
+ code: string;
111
+ terminalId?: string;
112
+ }
113
+ export interface CreateTerminalInput {
114
+ shell?: string | undefined;
115
+ cwd?: string | undefined;
116
+ env?: Record<string, string> | undefined;
117
+ }
118
+ export interface CreateTerminalResult {
119
+ terminalId: string;
120
+ status: string;
121
+ pid: number;
122
+ shell: string;
123
+ cwd: string;
124
+ }
125
+ export interface WriteTerminalInput {
126
+ terminalId: string;
127
+ input: string;
128
+ appendNewline?: boolean;
129
+ }
130
+ export interface WriteTerminalResult {
131
+ success: boolean;
132
+ message?: string;
133
+ }
134
+ export interface ReadTerminalInput {
135
+ terminalId: string;
136
+ since?: number;
137
+ maxLines?: number;
138
+ mode?: 'full' | 'head-tail' | 'head' | 'tail';
139
+ headLines?: number;
140
+ tailLines?: number;
141
+ stripSpinner?: boolean;
142
+ }
143
+ export interface TerminalStatsInput {
144
+ terminalId: string;
145
+ }
146
+ export interface TerminalStatsResult {
147
+ terminalId: string;
148
+ totalLines: number;
149
+ totalBytes: number;
150
+ estimatedTokens: number;
151
+ bufferSize: number;
152
+ oldestLine: number;
153
+ newestLine: number;
154
+ isActive: boolean;
155
+ }
156
+ export interface ListTerminalsResult {
157
+ terminals: Array<{
158
+ id: string;
159
+ pid: number;
160
+ shell: string;
161
+ cwd: string;
162
+ created: string;
163
+ lastActivity: string;
164
+ status: string;
165
+ }>;
166
+ }
167
+ export interface KillTerminalInput {
168
+ terminalId: string;
169
+ signal?: string;
170
+ }
171
+ export interface KillTerminalResult {
172
+ success: boolean;
173
+ message?: string;
174
+ }
175
+ export interface WebUIStartOptions {
176
+ port?: number;
177
+ autoOpen?: boolean;
178
+ terminalManager: any;
179
+ }
180
+ export interface WebUIStartResult {
181
+ url: string;
182
+ port: number;
183
+ mode: 'new' | 'existing';
184
+ autoOpened: boolean;
185
+ }
186
+ export interface FixBugWithCodexInput {
187
+ description: string;
188
+ cwd?: string;
189
+ timeout?: number;
190
+ }
191
+ export interface FixBugWithCodexResult {
192
+ terminalId: string;
193
+ reportPath: string | null;
194
+ reportExists: boolean;
195
+ workingDir: string;
196
+ executionTime: number;
197
+ timedOut: boolean;
198
+ output: string;
199
+ reportPreview: string | null;
200
+ }
201
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 终端会话相关的类型定义
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,38 @@
1
+ import { WebUIStartOptions, WebUIStartResult } from './types.js';
2
+ /**
3
+ * Web UI 管理器
4
+ * 负责管理 Web 服务器的生命周期、端口分配和浏览器打开
5
+ */
6
+ export declare class WebUIManager {
7
+ private server;
8
+ private currentPort;
9
+ /**
10
+ * 启动 Web UI
11
+ */
12
+ start(options: WebUIStartOptions): Promise<WebUIStartResult>;
13
+ /**
14
+ * 停止 Web UI
15
+ */
16
+ stop(): Promise<void>;
17
+ /**
18
+ * 查找可用端口
19
+ */
20
+ private findAvailablePort;
21
+ /**
22
+ * 检查端口是否可用
23
+ */
24
+ private isPortAvailable;
25
+ /**
26
+ * 打开浏览器
27
+ */
28
+ private openBrowser;
29
+ /**
30
+ * 获取当前状态
31
+ */
32
+ getStatus(): {
33
+ running: boolean;
34
+ port: number | null;
35
+ url: string | null;
36
+ };
37
+ }
38
+ //# sourceMappingURL=web-ui-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-ui-manager.d.ts","sourceRoot":"","sources":["../src/web-ui-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAIjE;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,WAAW,CAAuB;IAE1C;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2ClE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;YACW,iBAAiB;IAU/B;;OAEG;YACW,eAAe;IAqB7B;;OAEG;YACW,WAAW;IAwBzB;;OAEG;IACH,SAAS,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;CAO3E"}
@@ -0,0 +1,130 @@
1
+ import { WebUIServer } from './web-ui-server.js';
2
+ import { exec } from 'child_process';
3
+ import { createServer } from 'net';
4
+ /**
5
+ * Web UI 管理器
6
+ * 负责管理 Web 服务器的生命周期、端口分配和浏览器打开
7
+ */
8
+ export class WebUIManager {
9
+ server = null;
10
+ currentPort = null;
11
+ /**
12
+ * 启动 Web UI
13
+ */
14
+ async start(options) {
15
+ // 如果已经启动,返回现有信息
16
+ if (this.server && this.currentPort) {
17
+ return {
18
+ url: `http://localhost:${this.currentPort}`,
19
+ port: this.currentPort,
20
+ mode: 'existing',
21
+ autoOpened: false
22
+ };
23
+ }
24
+ // 查找可用端口
25
+ const port = await this.findAvailablePort(options.port || 3002);
26
+ // 启动 Web 服务器
27
+ this.server = new WebUIServer(options.terminalManager);
28
+ await this.server.start(port);
29
+ this.currentPort = port;
30
+ const url = `http://localhost:${port}`;
31
+ // 自动打开浏览器
32
+ let autoOpened = false;
33
+ if (options.autoOpen !== false) {
34
+ try {
35
+ await this.openBrowser(url);
36
+ autoOpened = true;
37
+ }
38
+ catch (error) {
39
+ // 打开失败不影响功能,只记录日志
40
+ if (process.env.MCP_DEBUG === 'true') {
41
+ process.stderr.write(`[MCP-DEBUG] Failed to open browser: ${error}\n`);
42
+ }
43
+ }
44
+ }
45
+ return {
46
+ url,
47
+ port,
48
+ mode: 'new',
49
+ autoOpened
50
+ };
51
+ }
52
+ /**
53
+ * 停止 Web UI
54
+ */
55
+ async stop() {
56
+ if (this.server) {
57
+ await this.server.stop();
58
+ this.server = null;
59
+ this.currentPort = null;
60
+ }
61
+ }
62
+ /**
63
+ * 查找可用端口
64
+ */
65
+ async findAvailablePort(startPort) {
66
+ for (let port = startPort; port < startPort + 100; port++) {
67
+ const available = await this.isPortAvailable(port);
68
+ if (available) {
69
+ return port;
70
+ }
71
+ }
72
+ throw new Error(`No available ports found in range ${startPort}-${startPort + 99}`);
73
+ }
74
+ /**
75
+ * 检查端口是否可用
76
+ */
77
+ async isPortAvailable(port) {
78
+ return new Promise((resolve) => {
79
+ const server = createServer();
80
+ server.once('error', (err) => {
81
+ if (err.code === 'EADDRINUSE') {
82
+ resolve(false);
83
+ }
84
+ else {
85
+ resolve(false);
86
+ }
87
+ });
88
+ server.once('listening', () => {
89
+ server.close();
90
+ resolve(true);
91
+ });
92
+ server.listen(port, '127.0.0.1');
93
+ });
94
+ }
95
+ /**
96
+ * 打开浏览器
97
+ */
98
+ async openBrowser(url) {
99
+ const commands = {
100
+ darwin: `open "${url}"`,
101
+ win32: `start "" "${url}"`,
102
+ linux: `xdg-open "${url}"`
103
+ };
104
+ const command = commands[process.platform];
105
+ if (!command) {
106
+ throw new Error(`Unsupported platform: ${process.platform}`);
107
+ }
108
+ return new Promise((resolve, reject) => {
109
+ exec(command, (error) => {
110
+ if (error) {
111
+ reject(error);
112
+ }
113
+ else {
114
+ resolve();
115
+ }
116
+ });
117
+ });
118
+ }
119
+ /**
120
+ * 获取当前状态
121
+ */
122
+ getStatus() {
123
+ return {
124
+ running: this.server !== null,
125
+ port: this.currentPort,
126
+ url: this.currentPort ? `http://localhost:${this.currentPort}` : null
127
+ };
128
+ }
129
+ }
130
+ //# sourceMappingURL=web-ui-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-ui-manager.js","sourceRoot":"","sources":["../src/web-ui-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { TerminalManager } from './terminal-manager.js';
2
+ /**
3
+ * Web UI 服务器
4
+ * 提供静态文件服务、REST API 和 WebSocket 实时推送
5
+ */
6
+ export declare class WebUIServer {
7
+ private app;
8
+ private httpServer;
9
+ private wss;
10
+ private terminalManager;
11
+ private clients;
12
+ constructor(terminalManager: TerminalManager);
13
+ /**
14
+ * 设置中间件
15
+ */
16
+ private setupMiddleware;
17
+ /**
18
+ * 设置路由
19
+ */
20
+ private setupRoutes;
21
+ /**
22
+ * 设置 API 路由
23
+ */
24
+ private setupApiRoutes;
25
+ /**
26
+ * 设置 WebSocket
27
+ */
28
+ private setupWebSocket;
29
+ /**
30
+ * 广播消息给所有客户端
31
+ */
32
+ private broadcast;
33
+ /**
34
+ * 启动服务器
35
+ */
36
+ start(port: number): Promise<void>;
37
+ /**
38
+ * 停止服务器
39
+ */
40
+ stop(): Promise<void>;
41
+ }
42
+ //# sourceMappingURL=web-ui-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-ui-server.d.ts","sourceRoot":"","sources":["../src/web-ui-server.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAA6B;gBAEhC,eAAe,EAAE,eAAe;IAO5C;;OAEG;IACH,OAAO,CAAC,eAAe;IAkBvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgLtB;;OAEG;IACH,OAAO,CAAC,cAAc;IA2CtB;;OAEG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA4B5B"}