botmux 2.24.1 → 2.24.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.
@@ -10,6 +10,41 @@ export interface AdoptableSession {
10
10
  paneCols: number;
11
11
  paneRows: number;
12
12
  }
13
+ /**
14
+ * 读取进程的 comm 名(不含路径)。Linux 走 /proc/<pid>/comm 快路径;
15
+ * macOS / 其它 Unix 走 `ps -o comm=` 兜底。
16
+ *
17
+ * 注意 macOS 的 `ps -o comm=` 返回完整可执行路径(如 `/usr/local/bin/claude`),
18
+ * 所以这里统一做一次 basename,让上层匹配 CLI_COMM_MAP 的逻辑保持不变。
19
+ *
20
+ * 返回 undefined 表示进程不存在或读不到。
21
+ */
22
+ declare function readComm(pid: number): string | undefined;
23
+ /**
24
+ * 读取进程的工作目录。Linux 走 /proc/<pid>/cwd 软链;
25
+ * macOS / 其它 Unix 走 `lsof -a -d cwd -p <pid> -Fn` 兜底。
26
+ *
27
+ * lsof -Fn 的输出格式:
28
+ * p<pid>
29
+ * fcwd
30
+ * n<path>
31
+ * 这里只解析以 n 开头的那一行。
32
+ *
33
+ * 返回 undefined 表示读不到。
34
+ */
35
+ declare function readCwd(pid: number): string | undefined;
36
+ /**
37
+ * 获取一个进程的直接子进程 PID。
38
+ *
39
+ * 既不能用 GNU `ps --ppid`(BSD ps 不支持长选项),也不能用 `pgrep -P`
40
+ * (macOS BSD pgrep 把 `-P` 当过滤器,要求**必须**搭配一个 pattern 位置参数,
41
+ * 不传 pattern 返回空)。
42
+ *
43
+ * 改成一次 `ps -A -o pid= -o ppid=` 把全表拿回来 JS 端过滤 —— 两个平台
44
+ * 的 ps 都接受这个写法。fork-exec 一次代价可接受,因为 discovery 本身是
45
+ * 低频操作(只在用户 /adopt 时跑一遍)。
46
+ */
47
+ declare function getChildPids(pid: number): number[];
13
48
  /**
14
49
  * Scan all tmux panes for running CLI processes that can be adopted by Botmux.
15
50
  *
@@ -25,4 +60,8 @@ export declare function discoverAdoptableSessions(filterCliId?: CliId): Adoptabl
25
60
  * Used to validate an adopt target right before the actual adoption.
26
61
  */
27
62
  export declare function validateAdoptTarget(tmuxTarget: string, expectedPid: number): boolean;
63
+ export declare const __testOnly_readComm: typeof readComm;
64
+ export declare const __testOnly_readCwd: typeof readCwd;
65
+ export declare const __testOnly_getChildPids: typeof getChildPids;
66
+ export {};
28
67
  //# sourceMappingURL=session-discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-discovery.d.ts","sourceRoot":"","sources":["../../src/core/session-discovery.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAOtD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgID;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,CAAC,EAAE,KAAK,GAAG,gBAAgB,EAAE,CAoFjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAiBpF"}
1
+ {"version":3,"file":"session-discovery.d.ts","sourceRoot":"","sources":["../../src/core/session-discovery.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAUtD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAoBD;;;;;;;;GAQG;AACH,iBAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBjD;AAED;;;;;;;;;;;GAWG;AACH,iBAAS,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBhD;AAED;;;;;;;;;;GAUG;AACH,iBAAS,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB3C;AAuED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,CAAC,EAAE,KAAK,GAAG,gBAAgB,EAAE,CAoFjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAiBpF;AAID,eAAO,MAAM,mBAAmB,iBAAW,CAAC;AAC5C,eAAO,MAAM,kBAAkB,gBAAU,CAAC;AAC1C,eAAO,MAAM,uBAAuB,qBAAe,CAAC"}
@@ -6,11 +6,13 @@
6
6
  */
7
7
  import { execSync } from 'node:child_process';
8
8
  import { readFileSync, readlinkSync } from 'node:fs';
9
- import { homedir } from 'node:os';
10
- import { join } from 'node:path';
9
+ import { homedir, platform } from 'node:os';
10
+ import { basename, join } from 'node:path';
11
11
  import { findCodexRolloutByPid } from '../services/codex-transcript.js';
12
12
  import { findCocoSessionByPid } from '../services/coco-transcript.js';
13
13
  import { tmuxEnv } from '../setup/ensure-tmux.js';
14
+ // macOS 没有 /proc,所以走 ps/lsof/pgrep 兜底。Linux 仍优先走 /proc 快路径。
15
+ const IS_LINUX = platform() === 'linux';
14
16
  // ─── CLI process name → CliId mapping ────────────────────────────────────────
15
17
  const CLI_COMM_MAP = {
16
18
  claude: 'claude-code',
@@ -26,39 +28,104 @@ function shellescape(s) {
26
28
  return `'${s.replace(/'/g, "'\\''")}'`;
27
29
  }
28
30
  /**
29
- * Read the comm name for a PID from /proc.
30
- * Returns undefined if the process no longer exists.
31
+ * 读取进程的 comm 名(不含路径)。Linux /proc/<pid>/comm 快路径;
32
+ * macOS / 其它 Unix `ps -o comm=` 兜底。
33
+ *
34
+ * 注意 macOS 的 `ps -o comm=` 返回完整可执行路径(如 `/usr/local/bin/claude`),
35
+ * 所以这里统一做一次 basename,让上层匹配 CLI_COMM_MAP 的逻辑保持不变。
36
+ *
37
+ * 返回 undefined 表示进程不存在或读不到。
31
38
  */
32
39
  function readComm(pid) {
40
+ if (IS_LINUX) {
41
+ try {
42
+ return readFileSync(`/proc/${pid}/comm`, 'utf-8').trim();
43
+ }
44
+ catch {
45
+ // 落到下面的 ps 兜底
46
+ }
47
+ }
33
48
  try {
34
- return readFileSync(`/proc/${pid}/comm`, 'utf-8').trim();
49
+ const out = execSync(`ps -o comm= -p ${pid}`, {
50
+ encoding: 'utf-8',
51
+ stdio: ['pipe', 'pipe', 'pipe'],
52
+ }).trim();
53
+ if (!out)
54
+ return undefined;
55
+ return out.includes('/') ? basename(out) : out;
35
56
  }
36
57
  catch {
37
58
  return undefined;
38
59
  }
39
60
  }
40
61
  /**
41
- * Read the cwd for a PID via /proc/<pid>/cwd symlink.
42
- * Returns undefined if unavailable.
62
+ * 读取进程的工作目录。Linux /proc/<pid>/cwd 软链;
63
+ * macOS / 其它 Unix 走 `lsof -a -d cwd -p <pid> -Fn` 兜底。
64
+ *
65
+ * lsof -Fn 的输出格式:
66
+ * p<pid>
67
+ * fcwd
68
+ * n<path>
69
+ * 这里只解析以 n 开头的那一行。
70
+ *
71
+ * 返回 undefined 表示读不到。
43
72
  */
44
73
  function readCwd(pid) {
74
+ if (IS_LINUX) {
75
+ try {
76
+ return readlinkSync(`/proc/${pid}/cwd`);
77
+ }
78
+ catch {
79
+ // 落到下面的 lsof 兜底
80
+ }
81
+ }
45
82
  try {
46
- return readlinkSync(`/proc/${pid}/cwd`);
83
+ const out = execSync(`lsof -a -d cwd -p ${pid} -Fn`, {
84
+ encoding: 'utf-8',
85
+ stdio: ['pipe', 'pipe', 'pipe'],
86
+ });
87
+ for (const line of out.split('\n')) {
88
+ if (line.startsWith('n'))
89
+ return line.slice(1);
90
+ }
91
+ return undefined;
47
92
  }
48
93
  catch {
49
94
  return undefined;
50
95
  }
51
96
  }
52
- /** Get direct child PIDs of a process via `ps --ppid`. */
97
+ /**
98
+ * 获取一个进程的直接子进程 PID。
99
+ *
100
+ * 既不能用 GNU `ps --ppid`(BSD ps 不支持长选项),也不能用 `pgrep -P`
101
+ * (macOS BSD pgrep 把 `-P` 当过滤器,要求**必须**搭配一个 pattern 位置参数,
102
+ * 不传 pattern 返回空)。
103
+ *
104
+ * 改成一次 `ps -A -o pid= -o ppid=` 把全表拿回来 JS 端过滤 —— 两个平台
105
+ * 的 ps 都接受这个写法。fork-exec 一次代价可接受,因为 discovery 本身是
106
+ * 低频操作(只在用户 /adopt 时跑一遍)。
107
+ */
53
108
  function getChildPids(pid) {
54
109
  try {
55
- const out = execSync(`ps --ppid ${pid} -o pid=`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
56
- return out
57
- .split('\n')
58
- .map(s => s.trim())
59
- .filter(Boolean)
60
- .map(Number)
61
- .filter(n => !isNaN(n));
110
+ const out = execSync('ps -A -o pid= -o ppid=', {
111
+ encoding: 'utf-8',
112
+ stdio: ['pipe', 'pipe', 'pipe'],
113
+ });
114
+ const children = [];
115
+ for (const line of out.split('\n')) {
116
+ const trimmed = line.trim();
117
+ if (!trimmed)
118
+ continue;
119
+ const parts = trimmed.split(/\s+/);
120
+ if (parts.length < 2)
121
+ continue;
122
+ const childPid = Number(parts[0]);
123
+ const parentPid = Number(parts[1]);
124
+ if (!isNaN(childPid) && !isNaN(parentPid) && parentPid === pid) {
125
+ children.push(childPid);
126
+ }
127
+ }
128
+ return children;
62
129
  }
63
130
  catch {
64
131
  return [];
@@ -163,7 +230,7 @@ export function discoverAdoptableSessions(filterCliId) {
163
230
  // 3b. Filter by CLI type if requested
164
231
  if (filterCliId && match.cliId !== filterCliId)
165
232
  continue;
166
- // 4. Read CLI working directory from /proc
233
+ // 4. Read CLI working directory (Linux: /proc; macOS: lsof)
167
234
  const cwd = readCwd(match.pid);
168
235
  if (!cwd)
169
236
  continue;
@@ -233,4 +300,9 @@ export function validateAdoptTarget(tmuxTarget, expectedPid) {
233
300
  const match = findCliProcess(panePid, 3);
234
301
  return match !== undefined && match.pid === expectedPid;
235
302
  }
303
+ // 仅供单测使用 —— 暴露内部 helper,方便覆盖跨平台 (Linux /proc vs macOS ps/lsof/pgrep)
304
+ // 的回归路径。生产代码不要直接消费这些导出。
305
+ export const __testOnly_readComm = readComm;
306
+ export const __testOnly_readCwd = readCwd;
307
+ export const __testOnly_getChildPids = getChildPids;
236
308
  //# sourceMappingURL=session-discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-discovery.js","sourceRoot":"","sources":["../../src/core/session-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-discovery.js","sourceRoot":"","sources":["../../src/core/session-discovery.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botmux",
3
- "version": "2.24.1",
3
+ "version": "2.24.2",
4
4
  "description": "Bridge between IM platforms and AI coding CLIs — one topic, one CLI session with live streaming",
5
5
  "type": "module",
6
6
  "main": "dist/index-daemon.js",