@ai-support-agent/cli 0.1.24 → 0.1.25-beta.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/dist/mcp/tools/browser/browser-session-manager.d.ts +1 -0
- package/dist/mcp/tools/browser/browser-session-manager.d.ts.map +1 -1
- package/dist/mcp/tools/browser/browser-session-manager.js +8 -3
- package/dist/mcp/tools/browser/browser-session-manager.js.map +1 -1
- package/dist/mcp/tools/browser/browser-session.d.ts +3 -1
- package/dist/mcp/tools/browser/browser-session.d.ts.map +1 -1
- package/dist/mcp/tools/browser/browser-session.js +8 -1
- package/dist/mcp/tools/browser/browser-session.js.map +1 -1
- package/dist/terminal/constants.d.ts +5 -1
- package/dist/terminal/constants.d.ts.map +1 -1
- package/dist/terminal/constants.js +6 -2
- package/dist/terminal/constants.js.map +1 -1
- package/dist/terminal/terminal-session-manager.d.ts.map +1 -1
- package/dist/terminal/terminal-session-manager.js +0 -5
- package/dist/terminal/terminal-session-manager.js.map +1 -1
- package/dist/terminal/terminal-session.d.ts +0 -5
- package/dist/terminal/terminal-session.d.ts.map +1 -1
- package/dist/terminal/terminal-session.js +2 -26
- package/dist/terminal/terminal-session.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-session-manager.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/browser/browser-session-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAE7C;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAQR;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAExB,WAAW,GAAE,MAAqC;IAI9D;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-session-manager.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/browser/browser-session-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAE7C;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAQR;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAExB,WAAW,GAAE,MAAqC;IAI9D;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAiB7D;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD;;OAEG;IACH,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAMvE;;OAEG;IACH,4BAA4B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxE;;OAEG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAKjE;;OAEG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,OAAO,CAAC,aAAa;IASrB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkBrE;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -46,7 +46,10 @@ class BrowserSessionManager {
|
|
|
46
46
|
if (this.sessions.size >= this.maxSessions) {
|
|
47
47
|
throw new Error(`Max browser sessions reached (${this.maxSessions})`);
|
|
48
48
|
}
|
|
49
|
-
const session = new browser_session_1.BrowserSession()
|
|
49
|
+
const session = new browser_session_1.BrowserSession(undefined, () => {
|
|
50
|
+
this.removeSession(sessionId);
|
|
51
|
+
logger_1.logger.debug(`[browser-manager] Session self-closed and removed: ${sessionId}`);
|
|
52
|
+
});
|
|
50
53
|
this.sessions.set(sessionId, session);
|
|
51
54
|
logger_1.logger.debug(`[browser-manager] Session created: ${sessionId}`);
|
|
52
55
|
return session;
|
|
@@ -87,14 +90,16 @@ class BrowserSessionManager {
|
|
|
87
90
|
if (!session)
|
|
88
91
|
return;
|
|
89
92
|
await session.close();
|
|
93
|
+
// onClosed callback handles removal from sessions and conversationMap
|
|
94
|
+
logger_1.logger.debug(`[browser-manager] Session closed: ${sessionId}`);
|
|
95
|
+
}
|
|
96
|
+
removeSession(sessionId) {
|
|
90
97
|
this.sessions.delete(sessionId);
|
|
91
|
-
// Remove conversation mappings pointing to this session
|
|
92
98
|
for (const [convId, sid] of this.conversationMap) {
|
|
93
99
|
if (sid === sessionId) {
|
|
94
100
|
this.conversationMap.delete(convId);
|
|
95
101
|
}
|
|
96
102
|
}
|
|
97
|
-
logger_1.logger.debug(`[browser-manager] Session closed: ${sessionId}`);
|
|
98
103
|
}
|
|
99
104
|
/**
|
|
100
105
|
* Close all sessions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-session-manager.js","sourceRoot":"","sources":["../../../../src/mcp/tools/browser/browser-session-manager.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAkBH,oEAUC;AA1BD,4CAAwC;AACxC,uDAAkD;AAElD;;;;;GAKG;AACU,QAAA,4BAA4B,GAAG,CAAC,CAAA;AAE7C;;;;GAIG;AACH,SAAgB,4BAA4B,CAC1C,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,GAAG,GAAG,GAAG,CAAC,oBAAoB,CAAA;IACpC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,oCAA4B,CAAA;IACxE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,oCAA4B,CAAA;IACrC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAa,qBAAqB;IACxB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAA;IAC5C,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAA,CAAC,6BAA6B;IAChE,WAAW,CAAQ;IAEpC,YAAY,cAAsB,oCAA4B;QAC5D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAE7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACvE,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,gCAAc,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"browser-session-manager.js","sourceRoot":"","sources":["../../../../src/mcp/tools/browser/browser-session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export declare class BrowserSession {
|
|
|
14
14
|
private readonly idleTimeoutMs;
|
|
15
15
|
private liveViewInterval;
|
|
16
16
|
private _currentDeviceId;
|
|
17
|
+
private closed;
|
|
18
|
+
private readonly onClosed?;
|
|
17
19
|
/**
|
|
18
20
|
* Get the currently active device emulation ID, or null if none.
|
|
19
21
|
*/
|
|
@@ -22,7 +24,7 @@ export declare class BrowserSession {
|
|
|
22
24
|
readonly variables: Map<string, string>;
|
|
23
25
|
/** Action log for recording browser operations */
|
|
24
26
|
readonly actionLog: BrowserActionLog;
|
|
25
|
-
constructor(idleTimeoutMs?: number);
|
|
27
|
+
constructor(idleTimeoutMs?: number, onClosed?: () => void);
|
|
26
28
|
/**
|
|
27
29
|
* Get the current page, launching browser if needed.
|
|
28
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-session.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/browser/browser-session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAA2B,IAAI,EAAE,MAAM,YAAY,CAAA;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAkB,MAAM,kBAAkB,CAAA;AAIlE,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,gBAAgB,CAAsB;
|
|
1
|
+
{"version":3,"file":"browser-session.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/browser/browser-session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAA2B,IAAI,EAAE,MAAM,YAAY,CAAA;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAkB,MAAM,kBAAkB,CAAA;AAIlE,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAY;IAEtC;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAEnC;IAED,yCAAyC;IACzC,QAAQ,CAAC,SAAS,sBAA4B;IAE9C,kDAAkD;IAClD,QAAQ,CAAC,SAAS,mBAAyB;gBAE/B,aAAa,GAAE,MAAgC,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI;IAKlF;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB9B;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB5B;;;;OAIG;IACG,kBAAkB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC1E;;;;;OAKG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BlF;;OAEG;IACG,UAAU,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAO3D;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAwB1E;;OAEG;IACH,YAAY,IAAI,IAAI;IAYpB;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAM3B;;OAEG;IACG,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlG;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtE;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBtD;;OAEG;IACG,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5E;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAOhC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B;;OAEG;IACH,aAAa,IAAI,MAAM;IAKvB;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAKrC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;CAMvB"}
|
|
@@ -20,6 +20,8 @@ class BrowserSession {
|
|
|
20
20
|
idleTimeoutMs;
|
|
21
21
|
liveViewInterval = null;
|
|
22
22
|
_currentDeviceId = null;
|
|
23
|
+
closed = false;
|
|
24
|
+
onClosed;
|
|
23
25
|
/**
|
|
24
26
|
* Get the currently active device emulation ID, or null if none.
|
|
25
27
|
*/
|
|
@@ -30,8 +32,9 @@ class BrowserSession {
|
|
|
30
32
|
variables = new Map();
|
|
31
33
|
/** Action log for recording browser operations */
|
|
32
34
|
actionLog = new browser_action_log_1.BrowserActionLog();
|
|
33
|
-
constructor(idleTimeoutMs = browser_types_1.BROWSER_IDLE_TIMEOUT_MS) {
|
|
35
|
+
constructor(idleTimeoutMs = browser_types_1.BROWSER_IDLE_TIMEOUT_MS, onClosed) {
|
|
34
36
|
this.idleTimeoutMs = idleTimeoutMs;
|
|
37
|
+
this.onClosed = onClosed;
|
|
35
38
|
}
|
|
36
39
|
/**
|
|
37
40
|
* Get the current page, launching browser if needed.
|
|
@@ -63,6 +66,9 @@ class BrowserSession {
|
|
|
63
66
|
* Close the browser and clean up resources.
|
|
64
67
|
*/
|
|
65
68
|
async close() {
|
|
69
|
+
if (this.closed)
|
|
70
|
+
return;
|
|
71
|
+
this.closed = true;
|
|
66
72
|
this.stopLiveView();
|
|
67
73
|
this.clearIdleTimer();
|
|
68
74
|
if (this.browser) {
|
|
@@ -77,6 +83,7 @@ class BrowserSession {
|
|
|
77
83
|
this.context = null;
|
|
78
84
|
this.page = null;
|
|
79
85
|
}
|
|
86
|
+
this.onClosed?.();
|
|
80
87
|
}
|
|
81
88
|
/**
|
|
82
89
|
* Set device emulation by recreating the browser context with the new userAgent.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-session.js","sourceRoot":"","sources":["../../../../src/mcp/tools/browser/browser-session.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,4CAAwC;AACxC,6DAAuD;AACvD,mDAAyD;AACzD,qDAAkE;AAClE,iDAAyE;AACzE,2DAAoD;AAEpD,MAAa,cAAc;IACjB,OAAO,GAAmB,IAAI,CAAA;IAC9B,OAAO,GAA0B,IAAI,CAAA;IACrC,IAAI,GAAgB,IAAI,CAAA;IACxB,SAAS,GAAyC,IAAI,CAAA;IAC7C,aAAa,CAAQ;IAC9B,gBAAgB,GAA0C,IAAI,CAAA;IAC9D,gBAAgB,GAAkB,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"browser-session.js","sourceRoot":"","sources":["../../../../src/mcp/tools/browser/browser-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
export declare const SESSION_IDLE_TIMEOUT_MS: number;
|
|
2
1
|
/**
|
|
3
2
|
* Grace window kept after a transient WebSocket disconnect before the PTY is
|
|
4
3
|
* killed. A reconnect with the same sessionId within this window resumes the
|
|
5
4
|
* still-alive PTY instead of spawning a new one. This prevents an API heartbeat
|
|
6
5
|
* false-positive terminate from destroying the user's live shell.
|
|
6
|
+
*
|
|
7
|
+
* The PTY has no idle timeout — it stays alive as long as the WebSocket is
|
|
8
|
+
* connected. Cleanup is handled solely by this grace window on disconnect.
|
|
9
|
+
* MAX_CONCURRENT_SESSIONS caps the number of concurrently open sessions, so
|
|
10
|
+
* the blast radius of a permanently-open WS holding a session is bounded.
|
|
7
11
|
*/
|
|
8
12
|
export declare const SESSION_GRACE_TIMEOUT_MS: number;
|
|
9
13
|
export declare const MAX_CONCURRENT_SESSIONS = 5;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/terminal/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/terminal/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,QAAa,CAAA;AAClD,eAAO,MAAM,uBAAuB,IAAI,CAAA;AACxC,eAAO,MAAM,qBAAqB,KAAK,CAAA;AACvC,eAAO,MAAM,qBAAqB,KAAK,CAAA;AACvC,eAAO,MAAM,mCAAmC,OAAO,CAAA;AACvD,eAAO,MAAM,iCAAiC,QAA2B,CAAA"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TERMINAL_WS_MAX_RECONNECT_RETRIES = exports.TERMINAL_WS_RECONNECT_BASE_DELAY_MS = exports.TERMINAL_DEFAULT_ROWS = exports.TERMINAL_DEFAULT_COLS = exports.MAX_CONCURRENT_SESSIONS = exports.SESSION_GRACE_TIMEOUT_MS =
|
|
4
|
-
exports.SESSION_IDLE_TIMEOUT_MS = 30 * 60 * 1000; // 30 minutes
|
|
3
|
+
exports.TERMINAL_WS_MAX_RECONNECT_RETRIES = exports.TERMINAL_WS_RECONNECT_BASE_DELAY_MS = exports.TERMINAL_DEFAULT_ROWS = exports.TERMINAL_DEFAULT_COLS = exports.MAX_CONCURRENT_SESSIONS = exports.SESSION_GRACE_TIMEOUT_MS = void 0;
|
|
5
4
|
/**
|
|
6
5
|
* Grace window kept after a transient WebSocket disconnect before the PTY is
|
|
7
6
|
* killed. A reconnect with the same sessionId within this window resumes the
|
|
8
7
|
* still-alive PTY instead of spawning a new one. This prevents an API heartbeat
|
|
9
8
|
* false-positive terminate from destroying the user's live shell.
|
|
9
|
+
*
|
|
10
|
+
* The PTY has no idle timeout — it stays alive as long as the WebSocket is
|
|
11
|
+
* connected. Cleanup is handled solely by this grace window on disconnect.
|
|
12
|
+
* MAX_CONCURRENT_SESSIONS caps the number of concurrently open sessions, so
|
|
13
|
+
* the blast radius of a permanently-open WS holding a session is bounded.
|
|
10
14
|
*/
|
|
11
15
|
exports.SESSION_GRACE_TIMEOUT_MS = 300 * 1000; // 5 minutes
|
|
12
16
|
exports.MAX_CONCURRENT_SESSIONS = 5;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/terminal/constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/terminal/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACU,QAAA,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAA,CAAC,YAAY;AAClD,QAAA,uBAAuB,GAAG,CAAC,CAAA;AAC3B,QAAA,qBAAqB,GAAG,EAAE,CAAA;AAC1B,QAAA,qBAAqB,GAAG,EAAE,CAAA;AAC1B,QAAA,mCAAmC,GAAG,IAAI,CAAA;AAC1C,QAAA,iCAAiC,GAAG,MAAM,CAAC,iBAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-session-manager.d.ts","sourceRoot":"","sources":["../../src/terminal/terminal-session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAG5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmD;IAC/E,OAAO,CAAC,cAAc,CAAI;IAE1B,aAAa,CAAC,OAAO,GAAE,sBAA2B,GAAG,eAAe,GAAG,IAAI;IAM3E,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B,GAAG,eAAe,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"terminal-session-manager.d.ts","sourceRoot":"","sources":["../../src/terminal/terminal-session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAG5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmD;IAC/E,OAAO,CAAC,cAAc,CAAI;IAE1B,aAAa,CAAC,OAAO,GAAE,sBAA2B,GAAG,eAAe,GAAG,IAAI;IAM3E,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B,GAAG,eAAe,GAAG,IAAI;IAgCpG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI1D,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IASxC,YAAY,IAAI,mBAAmB,EAAE;IAIrC;;;OAGG;IACH,QAAQ,IAAI,IAAI;IAUhB;;;;;OAKG;IACH,kBAAkB,IAAI,IAAI;IAM1B,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,eAAe;IAQvB,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -40,11 +40,6 @@ class TerminalSessionManager {
|
|
|
40
40
|
this.clearGraceTimer(sessionId);
|
|
41
41
|
this.sessions.delete(sessionId);
|
|
42
42
|
});
|
|
43
|
-
session.setOnIdleTimeout(() => {
|
|
44
|
-
this.clearGraceTimer(sessionId);
|
|
45
|
-
session.kill();
|
|
46
|
-
this.sessions.delete(sessionId);
|
|
47
|
-
});
|
|
48
43
|
this.sessions.set(sessionId, session);
|
|
49
44
|
return session;
|
|
50
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-session-manager.js","sourceRoot":"","sources":["../../src/terminal/terminal-session-manager.ts"],"names":[],"mappings":";;;AAAA,yDAA4E;AAC5E,2CAA+E;AAC/E,sCAAkC;AAGlC,MAAa,sBAAsB;IAChB,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAA;IAC9D;;;OAGG;IACc,WAAW,GAAG,IAAI,GAAG,EAAyC,CAAA;IACvE,cAAc,GAAG,CAAC,CAAA;IAE1B,aAAa,CAAC,UAAkC,EAAE;QAChD,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAA;QAC7D,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;IAED,mBAAmB,CAAC,SAAiB,EAAE,UAAkC,EAAE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,oEAAoE;QACpE,6CAA6C;QAC7C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QAE/B,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,eAAM,CAAC,KAAK,CAAC,oDAAoD,SAAS,EAAE,CAAC,CAAA;YAC7E,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,mCAAuB,EAAE,CAAC;YAClD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,kCAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAEvD,2EAA2E;QAC3E,yDAAyD;QACzD,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE;YAC7B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,
|
|
1
|
+
{"version":3,"file":"terminal-session-manager.js","sourceRoot":"","sources":["../../src/terminal/terminal-session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,8 +56,6 @@ export declare class TerminalSession {
|
|
|
56
56
|
*/
|
|
57
57
|
private internalExitCallback;
|
|
58
58
|
private exited;
|
|
59
|
-
private idleTimer;
|
|
60
|
-
private onIdleTimeout;
|
|
61
59
|
/**
|
|
62
60
|
* 過去の terminal-sandbox-* ディレクトリを一括削除する。
|
|
63
61
|
*
|
|
@@ -80,7 +78,6 @@ export declare class TerminalSession {
|
|
|
80
78
|
* it survives the websocket handler re-registering onExit on open/resume.
|
|
81
79
|
*/
|
|
82
80
|
setOnExitInternal(callback: () => void): void;
|
|
83
|
-
setOnIdleTimeout(callback: () => void): void;
|
|
84
81
|
write(data: string): void;
|
|
85
82
|
resize(cols: number, rows: number): void;
|
|
86
83
|
kill(): void;
|
|
@@ -88,8 +85,6 @@ export declare class TerminalSession {
|
|
|
88
85
|
isAlive(): boolean;
|
|
89
86
|
getInfo(): TerminalSessionInfo;
|
|
90
87
|
private touchActivity;
|
|
91
|
-
private resetIdleTimer;
|
|
92
|
-
private clearIdleTimer;
|
|
93
88
|
}
|
|
94
89
|
export {};
|
|
95
90
|
//# sourceMappingURL=terminal-session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-session.d.ts","sourceRoot":"","sources":["../../src/terminal/terminal-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminal-session.d.ts","sourceRoot":"","sources":["../../src/terminal/terminal-session.ts"],"names":[],"mappings":"AA+DA;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;AAC1C,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,+BAA+B,CAAA;AAEhE,qBAAa,eAAe;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAM;IACjC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,YAAY,CAA4B;IAChD;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB,CAA4B;IACxD,OAAO,CAAC,MAAM,CAAQ;IAEtB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,GAAE,MAA4B,GAAG,MAAM;gBAyBhE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B;IAqHnE,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIpC,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIpC;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI7C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAQxC,IAAI,IAAI,IAAI;IAMZ,OAAO,CAAC,aAAa;IAmBrB,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,mBAAmB;IAc9B,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -93,8 +93,6 @@ class TerminalSession {
|
|
|
93
93
|
*/
|
|
94
94
|
internalExitCallback = null;
|
|
95
95
|
exited = false;
|
|
96
|
-
idleTimer = null;
|
|
97
|
-
onIdleTimeout = null;
|
|
98
96
|
/**
|
|
99
97
|
* 過去の terminal-sandbox-* ディレクトリを一括削除する。
|
|
100
98
|
*
|
|
@@ -228,7 +226,6 @@ class TerminalSession {
|
|
|
228
226
|
});
|
|
229
227
|
this.ptyProcess.onExit(({ exitCode }) => {
|
|
230
228
|
this.exited = true;
|
|
231
|
-
this.clearIdleTimer();
|
|
232
229
|
this.cleanupTmpDir();
|
|
233
230
|
// Manager cleanup runs first and unconditionally, then the public
|
|
234
231
|
// (websocket) listener. The internal slot cannot be overwritten by a
|
|
@@ -240,7 +237,6 @@ class TerminalSession {
|
|
|
240
237
|
this.exitCallback(exitCode);
|
|
241
238
|
}
|
|
242
239
|
});
|
|
243
|
-
this.resetIdleTimer();
|
|
244
240
|
}
|
|
245
241
|
onData(callback) {
|
|
246
242
|
this.dataCallback = callback;
|
|
@@ -255,9 +251,6 @@ class TerminalSession {
|
|
|
255
251
|
setOnExitInternal(callback) {
|
|
256
252
|
this.internalExitCallback = callback;
|
|
257
253
|
}
|
|
258
|
-
setOnIdleTimeout(callback) {
|
|
259
|
-
this.onIdleTimeout = callback;
|
|
260
|
-
}
|
|
261
254
|
write(data) {
|
|
262
255
|
if (this.exited)
|
|
263
256
|
return;
|
|
@@ -275,7 +268,6 @@ class TerminalSession {
|
|
|
275
268
|
kill() {
|
|
276
269
|
if (this.exited)
|
|
277
270
|
return;
|
|
278
|
-
this.clearIdleTimer();
|
|
279
271
|
this.ptyProcess.kill();
|
|
280
272
|
this.cleanupTmpDir();
|
|
281
273
|
}
|
|
@@ -313,26 +305,10 @@ class TerminalSession {
|
|
|
313
305
|
lastActivity: this.lastActivity,
|
|
314
306
|
};
|
|
315
307
|
}
|
|
308
|
+
// Diagnostics only — lastActivity is exposed via getInfo() for monitoring.
|
|
309
|
+
// It does NOT drive any eviction or timer; do not add idle-kill logic here.
|
|
316
310
|
touchActivity() {
|
|
317
311
|
this.lastActivity = Date.now();
|
|
318
|
-
this.resetIdleTimer();
|
|
319
|
-
}
|
|
320
|
-
resetIdleTimer() {
|
|
321
|
-
this.clearIdleTimer();
|
|
322
|
-
this.idleTimer = setTimeout(() => {
|
|
323
|
-
if (this.onIdleTimeout) {
|
|
324
|
-
this.onIdleTimeout();
|
|
325
|
-
}
|
|
326
|
-
else {
|
|
327
|
-
this.kill();
|
|
328
|
-
}
|
|
329
|
-
}, constants_1.SESSION_IDLE_TIMEOUT_MS);
|
|
330
|
-
}
|
|
331
|
-
clearIdleTimer() {
|
|
332
|
-
if (this.idleTimer) {
|
|
333
|
-
clearTimeout(this.idleTimer);
|
|
334
|
-
this.idleTimer = null;
|
|
335
|
-
}
|
|
336
312
|
}
|
|
337
313
|
}
|
|
338
314
|
exports.TerminalSession = TerminalSession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-session.js","sourceRoot":"","sources":["../../src/terminal/terminal-session.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"terminal-session.js","sourceRoot":"","sources":["../../src/terminal/terminal-session.ts"],"names":[],"mappings":"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"}
|