cli-remote-agent 1.0.3 → 1.0.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/dist/cli.js +20 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -57,6 +57,8 @@ var CLAUDE_SESSIONS_RESULT = "claude:sessions:result";
|
|
|
57
57
|
var CLAUDE_HOOK = "claude:hook";
|
|
58
58
|
var TMUX_LIST = "tmux:list";
|
|
59
59
|
var TMUX_LIST_RESULT = "tmux:list:result";
|
|
60
|
+
var TMUX_KILL = "tmux:kill";
|
|
61
|
+
var TMUX_KILL_RESULT = "tmux:kill:result";
|
|
60
62
|
|
|
61
63
|
// ../shared/src/constants.ts
|
|
62
64
|
var HEARTBEAT_INTERVAL = 15e3;
|
|
@@ -341,6 +343,16 @@ async function listTmuxSessions() {
|
|
|
341
343
|
return [];
|
|
342
344
|
}
|
|
343
345
|
}
|
|
346
|
+
async function killTmuxSession(name) {
|
|
347
|
+
const { file, args } = tmuxCmd(["kill-session", "-t", `=${name}`]);
|
|
348
|
+
try {
|
|
349
|
+
await execFileAsync2(file, args, { timeout: 6e3 });
|
|
350
|
+
return { ok: true };
|
|
351
|
+
} catch (err) {
|
|
352
|
+
const msg = (err?.stderr || err?.message || "tmux kill failed").toString().trim();
|
|
353
|
+
return { ok: false, error: msg };
|
|
354
|
+
}
|
|
355
|
+
}
|
|
344
356
|
async function enrichWithPanesAndClaude(sessions2) {
|
|
345
357
|
if (IS_WIN || sessions2.length === 0) return;
|
|
346
358
|
try {
|
|
@@ -1512,6 +1524,13 @@ socket.on(TMUX_LIST, async (payload) => {
|
|
|
1512
1524
|
socket.emit(TMUX_LIST_RESULT, { requestId, sessions: [], error: err?.message || "tmux list failed" });
|
|
1513
1525
|
}
|
|
1514
1526
|
});
|
|
1527
|
+
socket.on(TMUX_KILL, async (payload) => {
|
|
1528
|
+
const { requestId, name } = payload;
|
|
1529
|
+
if (!requestId || !name) return;
|
|
1530
|
+
const result = await killTmuxSession(name);
|
|
1531
|
+
logger.info({ name, ok: result.ok, error: result.error }, "tmux kill requested");
|
|
1532
|
+
socket.emit(TMUX_KILL_RESULT, { requestId, name, ok: result.ok, error: result.error });
|
|
1533
|
+
});
|
|
1515
1534
|
socket.on(TERMINAL_INPUT, (payload) => {
|
|
1516
1535
|
writeToSession(payload.sessionId, payload.data);
|
|
1517
1536
|
});
|