@ai-support-agent/cli 0.1.28-beta.0 → 0.1.28
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.
|
@@ -2,11 +2,26 @@ import WebSocket from 'ws';
|
|
|
2
2
|
import { BaseWebSocketConnection } from '../base-websocket';
|
|
3
3
|
import type { EnvVarsProvider } from '../env-vars-filter';
|
|
4
4
|
import { TerminalSessionManager } from './terminal-session-manager';
|
|
5
|
+
/**
|
|
6
|
+
* Information about a single tmux session.
|
|
7
|
+
*/
|
|
8
|
+
export interface TmuxSessionInfo {
|
|
9
|
+
/** Session name (e.g. "ais-abc123") */
|
|
10
|
+
name: string;
|
|
11
|
+
/** Number of windows in the session */
|
|
12
|
+
windows: number;
|
|
13
|
+
/** Whether the session is currently attached */
|
|
14
|
+
attached: boolean;
|
|
15
|
+
/** Session creation time as Unix timestamp (seconds since epoch) */
|
|
16
|
+
created: number;
|
|
17
|
+
/** Last activity time as Unix timestamp (seconds since epoch) */
|
|
18
|
+
activity: number;
|
|
19
|
+
}
|
|
5
20
|
/**
|
|
6
21
|
* Messages sent from API server to agent
|
|
7
22
|
*/
|
|
8
23
|
export interface TerminalServerMessage {
|
|
9
|
-
type: 'open' | 'stdin' | 'resize' | 'close' | 'auth_success' | 'error';
|
|
24
|
+
type: 'open' | 'stdin' | 'resize' | 'close' | 'auth_success' | 'error' | 'tmux_list_sessions' | 'tmux_kill_session';
|
|
10
25
|
sessionId?: string;
|
|
11
26
|
data?: string;
|
|
12
27
|
cols?: number;
|
|
@@ -34,13 +49,17 @@ export interface TerminalServerMessage {
|
|
|
34
49
|
projectCode: string;
|
|
35
50
|
userId: string;
|
|
36
51
|
};
|
|
52
|
+
/** Request ID for tmux management messages */
|
|
53
|
+
requestId?: string;
|
|
54
|
+
/** Session name for tmux_kill_session */
|
|
55
|
+
name?: string;
|
|
37
56
|
}
|
|
38
57
|
/**
|
|
39
58
|
* Messages sent from agent to API server
|
|
40
59
|
*/
|
|
41
60
|
export interface TerminalAgentMessage {
|
|
42
|
-
type: 'ready' | 'stdout' | 'exit' | 'error' | 'replay' | 'resume_failed';
|
|
43
|
-
sessionId
|
|
61
|
+
type: 'ready' | 'stdout' | 'exit' | 'error' | 'replay' | 'resume_failed' | 'tmux_sessions' | 'tmux_session_killed';
|
|
62
|
+
sessionId?: string;
|
|
44
63
|
data?: string;
|
|
45
64
|
code?: number | null;
|
|
46
65
|
error?: string;
|
|
@@ -49,6 +68,14 @@ export interface TerminalAgentMessage {
|
|
|
49
68
|
rows?: number;
|
|
50
69
|
/** resume_failed reason: 'not_found' | 'meta_mismatch' | 'dead' */
|
|
51
70
|
reason?: string;
|
|
71
|
+
/** Request ID for tmux management responses */
|
|
72
|
+
requestId?: string;
|
|
73
|
+
/** List of tmux sessions (for tmux_sessions response) */
|
|
74
|
+
sessions?: TmuxSessionInfo[];
|
|
75
|
+
/** Session name (for tmux_session_killed response) */
|
|
76
|
+
name?: string;
|
|
77
|
+
/** Whether the kill operation succeeded (for tmux_session_killed response) */
|
|
78
|
+
success?: boolean;
|
|
52
79
|
}
|
|
53
80
|
export type { EnvVarsProvider } from '../env-vars-filter';
|
|
54
81
|
export declare class TerminalWebSocket extends BaseWebSocketConnection<TerminalServerMessage> {
|
|
@@ -110,6 +137,8 @@ export declare class TerminalWebSocket extends BaseWebSocketConnection<TerminalS
|
|
|
110
137
|
private handleStdin;
|
|
111
138
|
private handleResize;
|
|
112
139
|
private handleClose;
|
|
140
|
+
private handleTmuxListSessions;
|
|
141
|
+
private handleTmuxKillSession;
|
|
113
142
|
private send;
|
|
114
143
|
}
|
|
115
144
|
//# sourceMappingURL=terminal-websocket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-websocket.d.ts","sourceRoot":"","sources":["../../src/terminal/terminal-websocket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminal-websocket.d.ts","sourceRoot":"","sources":["../../src/terminal/terminal-websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.TerminalWebSocket = void 0;
|
|
40
40
|
const path = __importStar(require("path"));
|
|
41
|
+
const child_process_1 = require("child_process");
|
|
41
42
|
const ws_1 = __importDefault(require("ws"));
|
|
42
43
|
const base_websocket_1 = require("../base-websocket");
|
|
43
44
|
const constants_1 = require("../constants");
|
|
@@ -113,6 +114,12 @@ class TerminalWebSocket extends base_websocket_1.BaseWebSocketConnection {
|
|
|
113
114
|
logger_1.logger.warn(`[terminal-ws] Server error (session=${msg.sessionId ?? 'none'}): ${errMsg}`);
|
|
114
115
|
break;
|
|
115
116
|
}
|
|
117
|
+
case 'tmux_list_sessions':
|
|
118
|
+
this.handleTmuxListSessions(msg);
|
|
119
|
+
break;
|
|
120
|
+
case 'tmux_kill_session':
|
|
121
|
+
this.handleTmuxKillSession(msg);
|
|
122
|
+
break;
|
|
116
123
|
default:
|
|
117
124
|
logger_1.logger.debug(`[terminal-ws] Unknown message type: ${msg.type}`);
|
|
118
125
|
}
|
|
@@ -324,6 +331,57 @@ class TerminalWebSocket extends base_websocket_1.BaseWebSocketConnection {
|
|
|
324
331
|
this.manager.closeSession(msg.sessionId);
|
|
325
332
|
logger_1.logger.debug(`[terminal-ws] Session closed: ${msg.sessionId}`);
|
|
326
333
|
}
|
|
334
|
+
handleTmuxListSessions(msg) {
|
|
335
|
+
const requestId = msg.requestId ?? '';
|
|
336
|
+
(0, child_process_1.execFile)('tmux', ['list-sessions', '-F', '#{session_name}\t#{session_windows}\t#{session_attached}\t#{session_created}\t#{session_activity}'], (err, stdout, stderr) => {
|
|
337
|
+
if (err) {
|
|
338
|
+
const isEnoent = err.code === 'ENOENT';
|
|
339
|
+
const isNoServer = stderr.includes('no server running') || stderr.includes('no sessions');
|
|
340
|
+
if (!isEnoent && !isNoServer) {
|
|
341
|
+
logger_1.logger.warn(`[terminal-ws] tmux list-sessions unexpected error: ${err.code ?? 'unknown'} - ${err.message}`);
|
|
342
|
+
}
|
|
343
|
+
this.send({ type: 'tmux_sessions', requestId, sessions: [] });
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
const sessions = stdout
|
|
347
|
+
.split('\n')
|
|
348
|
+
.filter((line) => line.trim().length > 0)
|
|
349
|
+
.map((line) => {
|
|
350
|
+
const [name, windows, attached, created, activity] = line.split('\t');
|
|
351
|
+
return {
|
|
352
|
+
name,
|
|
353
|
+
windows: parseInt(windows, 10),
|
|
354
|
+
attached: attached === '1',
|
|
355
|
+
created: parseInt(created, 10),
|
|
356
|
+
activity: parseInt(activity, 10),
|
|
357
|
+
};
|
|
358
|
+
});
|
|
359
|
+
this.send({ type: 'tmux_sessions', requestId, sessions });
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
handleTmuxKillSession(msg) {
|
|
363
|
+
const requestId = msg.requestId ?? '';
|
|
364
|
+
const name = msg.name ?? '';
|
|
365
|
+
if (!name) {
|
|
366
|
+
logger_1.logger.warn('[terminal-ws] tmux_kill_session: missing session name');
|
|
367
|
+
this.send({ type: 'tmux_session_killed', requestId, name: '', success: false, error: 'missing session name' });
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
(0, child_process_1.execFile)('tmux', ['kill-session', '-t', name], (err) => {
|
|
371
|
+
if (err) {
|
|
372
|
+
const isEnoent = err.code === 'ENOENT';
|
|
373
|
+
this.send({
|
|
374
|
+
type: 'tmux_session_killed',
|
|
375
|
+
requestId,
|
|
376
|
+
name,
|
|
377
|
+
success: false,
|
|
378
|
+
error: isEnoent ? 'tmux not found' : err.message,
|
|
379
|
+
});
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
this.send({ type: 'tmux_session_killed', requestId, name, success: true });
|
|
383
|
+
});
|
|
384
|
+
}
|
|
327
385
|
send(msg) {
|
|
328
386
|
this.sendMessage(msg);
|
|
329
387
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-websocket.js","sourceRoot":"","sources":["../../src/terminal/terminal-websocket.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;
|
|
1
|
+
{"version":3,"file":"terminal-websocket.js","sourceRoot":"","sources":["../../src/terminal/terminal-websocket.ts"],"names":[],"mappings":"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"}
|