pi-maestro-mobile 0.2.13 → 0.3.0

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 (72) hide show
  1. package/dist/cli.js +85 -21
  2. package/dist/cli.js.map +1 -1
  3. package/dist/extension.d.ts.map +1 -1
  4. package/dist/extension.js +126 -96
  5. package/dist/extension.js.map +1 -1
  6. package/dist/host-controller.d.ts +3 -0
  7. package/dist/host-controller.d.ts.map +1 -1
  8. package/dist/host-controller.js +12 -0
  9. package/dist/host-controller.js.map +1 -1
  10. package/dist/jsonl-index.js +2 -2
  11. package/dist/jsonl-index.js.map +1 -1
  12. package/dist/jsonl-pager.d.ts.map +1 -1
  13. package/dist/jsonl-pager.js +68 -6
  14. package/dist/jsonl-pager.js.map +1 -1
  15. package/dist/jsonl-tail-watcher.d.ts +44 -0
  16. package/dist/jsonl-tail-watcher.d.ts.map +1 -0
  17. package/dist/jsonl-tail-watcher.js +275 -0
  18. package/dist/jsonl-tail-watcher.js.map +1 -0
  19. package/dist/live-sessions.d.ts.map +1 -1
  20. package/dist/live-sessions.js +22 -5
  21. package/dist/live-sessions.js.map +1 -1
  22. package/dist/maestro-state.d.ts.map +1 -1
  23. package/dist/maestro-state.js +19 -4
  24. package/dist/maestro-state.js.map +1 -1
  25. package/dist/mobile-ui-context.d.ts +17 -1
  26. package/dist/mobile-ui-context.d.ts.map +1 -1
  27. package/dist/mobile-ui-context.js +35 -7
  28. package/dist/mobile-ui-context.js.map +1 -1
  29. package/dist/pi/pi-sdk-runtime.d.ts.map +1 -1
  30. package/dist/pi/pi-sdk-runtime.js +8 -7
  31. package/dist/pi/pi-sdk-runtime.js.map +1 -1
  32. package/dist/server/helpers.d.ts +0 -11
  33. package/dist/server/helpers.d.ts.map +1 -1
  34. package/dist/server/helpers.js +24 -44
  35. package/dist/server/helpers.js.map +1 -1
  36. package/dist/server/mobile-host-server.d.ts +88 -1
  37. package/dist/server/mobile-host-server.d.ts.map +1 -1
  38. package/dist/server/mobile-host-server.js +434 -54
  39. package/dist/server/mobile-host-server.js.map +1 -1
  40. package/dist/session-runner.d.ts +22 -1
  41. package/dist/session-runner.d.ts.map +1 -1
  42. package/dist/session-runner.js +67 -5
  43. package/dist/session-runner.js.map +1 -1
  44. package/dist/types.d.ts +1 -0
  45. package/dist/types.d.ts.map +1 -1
  46. package/dist/usage-reader.d.ts +6 -2
  47. package/dist/usage-reader.d.ts.map +1 -1
  48. package/dist/usage-reader.js +122 -27
  49. package/dist/usage-reader.js.map +1 -1
  50. package/dist/vendor/shared/protocol.d.ts +13 -0
  51. package/dist/vendor/shared/protocol.d.ts.map +1 -1
  52. package/dist/vendor/shared/protocol.js.map +1 -1
  53. package/dist/vendor/shared/validation.d.ts.map +1 -1
  54. package/dist/vendor/shared/validation.js +10 -0
  55. package/dist/vendor/shared/validation.js.map +1 -1
  56. package/dist/workspace-peer-injector.d.ts +19 -0
  57. package/dist/workspace-peer-injector.d.ts.map +1 -0
  58. package/dist/workspace-peer-injector.js +63 -0
  59. package/dist/workspace-peer-injector.js.map +1 -0
  60. package/dist/workspace-telemetry.d.ts +4 -1
  61. package/dist/workspace-telemetry.d.ts.map +1 -1
  62. package/dist/workspace-telemetry.js +20 -6
  63. package/dist/workspace-telemetry.js.map +1 -1
  64. package/package.json +1 -1
  65. package/dist/jsonl-replay.d.ts +0 -9
  66. package/dist/jsonl-replay.d.ts.map +0 -1
  67. package/dist/jsonl-replay.js +0 -153
  68. package/dist/jsonl-replay.js.map +0 -1
  69. package/dist/server/ws-command-handlers.d.ts +0 -20
  70. package/dist/server/ws-command-handlers.d.ts.map +0 -1
  71. package/dist/server/ws-command-handlers.js +0 -176
  72. package/dist/server/ws-command-handlers.js.map +0 -1
package/dist/cli.js CHANGED
@@ -61,8 +61,75 @@ function parseArgs(argv) {
61
61
  }
62
62
  return { port, host, token, projectRoot, pollMs };
63
63
  }
64
+ /** 仅当 PID 文件指向本进程时删除,避免误删其他实例的 PID */
65
+ /** 日志用:抹掉 argv 中 --token 的值(明文密钥不能落盘到 ~/.pi/maestro-mobile.log) */
66
+ function redactArgv(argv) {
67
+ const SENSITIVE = new Set(["token"]);
68
+ const out = [];
69
+ for (let i = 0; i < argv.length; i++) {
70
+ const arg = argv[i];
71
+ if (arg.startsWith("--")) {
72
+ const key = arg.slice(2);
73
+ const hasValue = argv[i + 1] !== undefined && !argv[i + 1].startsWith("--");
74
+ out.push(arg);
75
+ if (hasValue)
76
+ out.push(SENSITIVE.has(key) ? "[redacted]" : argv[++i]);
77
+ }
78
+ else {
79
+ out.push(arg);
80
+ }
81
+ }
82
+ return out.join(" ");
83
+ }
84
+ async function unlinkIfOwned(path, ownPid) {
85
+ try {
86
+ const saved = Number((await readFile(path, "utf8")).trim());
87
+ if (saved === ownPid)
88
+ await unlink(path);
89
+ }
90
+ catch { /* 文件不存在或不可读:无需清理 */ }
91
+ }
64
92
  async function main() {
65
93
  const cli = parseArgs(process.argv.slice(2));
94
+ // P0-3:进程级 handler 必须在任何 await 之前注册。原先它们挂在 listen() 之后,
95
+ // 启动期(token 读写、listen、版本探测)的异常会绕过统一清理路径,以原生栈崩溃。
96
+ // controller/server 此时尚未构造,用 late 绑定延后注入。
97
+ const late = {};
98
+ let shuttingDown = false;
99
+ async function shutdown(reason, exitCode) {
100
+ if (shuttingDown)
101
+ return;
102
+ shuttingDown = true;
103
+ console.log(`[maestro-mobile] received ${reason}, shutting down...`);
104
+ // 关闭失败不应阻断退出(例如 listen 未成功时 close 会抛 ERR_SERVER_NOT_RUNNING)
105
+ await late.controller?.dispose().catch(() => { });
106
+ await late.server?.close().catch(() => { });
107
+ // 只能删自己写的 PID:崩在 writeFile 之前时,文件属于另一个存活实例,误删会使 /maestro-mobile stop 失效
108
+ await unlinkIfOwned(PID_FILE, process.pid);
109
+ console.log("[maestro-mobile] shutdown complete");
110
+ // exitCode 必须是参数:原先固定 exit(0) 会让 launchd/systemd(KeepAlive.SuccessfulExit=false)
111
+ // 把崩溃当成正常退出而永不拉起,表现为“host 无声消失”
112
+ process.exit(exitCode);
113
+ }
114
+ const fatal = (label, error) => {
115
+ console.error(`[maestro-mobile] ${label}, shutting down:`, error);
116
+ // 附带现场信息:extension 以 stdio:"ignore" 拉起时无终端输出,日志是唯一线索。
117
+ // argv 里的 --token 值必须脱敏:此输出会被 extension 落盘到 ~/.pi/maestro-mobile.log,
118
+ // 不能把明文密钥写进日志文件。
119
+ console.error(`[maestro-mobile] pid=${process.pid} node=${process.version} cwd=${process.cwd()} argv=${redactArgv(process.argv.slice(1))}`);
120
+ void shutdown(label, 1);
121
+ };
122
+ process.on("SIGINT", () => void shutdown("SIGINT", 0));
123
+ process.on("SIGTERM", () => void shutdown("SIGTERM", 0));
124
+ // SIGHUP:Node 默认动作是「静默终止」——实测无输出、无退出码打印、也不会生成 macOS .ips 报告,
125
+ // 表现为 host “无声消失”且无从查起。它可由终端挂断 / 登录会话结束传导过来,
126
+ // 即使 spawn 已 detached 也不能完全依赖。
127
+ // 这里仍保持“终止”语义(不改成忽略,避免留下没人管的孤儿进程),但走优雅关闭:
128
+ // 留日志 + 删自己写的 PID 文件,不再留下 stale PID 让 /maestro-mobile stop 失效。
129
+ process.on("SIGHUP", () => void shutdown("SIGHUP", 0));
130
+ process.on("uncaughtException", (error) => fatal("uncaught exception", error));
131
+ // Node 22+ 默认把未处理 Promise rejection 抛成 uncaughtException,这里显式接管以拿到上下文并走优雅关闭
132
+ process.on("unhandledRejection", (reason) => fatal("unhandled rejection", reason));
66
133
  // 默认行为(无子命令):已启动 → 打印 status 退出;未启动 → 继续正常启动。
67
134
  // 显式传 --port/-host 等参数时跳过该探测(用户明确要起一个实例)。
68
135
  const hasPositional = process.argv.slice(2).some((a) => !a.startsWith("--") && !/^(4739|\d+|0\.0\.0\.0|127\.0\.0\.1|localhost)$/.test(a));
@@ -96,32 +163,29 @@ async function main() {
96
163
  const maestroReader = new MaestroStateReader({ projectRoot: cli.projectRoot });
97
164
  const controller = new HostController(runtimeFactory, maestroReader);
98
165
  const server = new MobileHostServer(controller, { token });
99
- await server.listen(cli.port, cli.host);
166
+ late.controller = controller;
167
+ late.server = server;
168
+ try {
169
+ await server.listen(cli.port, cli.host);
170
+ }
171
+ catch (error) {
172
+ const code = error.code;
173
+ if (code === "EADDRINUSE") {
174
+ console.error(`[maestro-mobile] 端口 ${cli.port} 已被占用 —— 很可能已有实例在运行。`);
175
+ console.error(`[maestro-mobile] 查看状态:/maestro-mobile status;停止:/maestro-mobile stop`);
176
+ console.error(`[maestro-mobile] 需要并行起第二个实例请用 --port <其他端口>`);
177
+ }
178
+ else {
179
+ console.error(`[maestro-mobile] 监听 ${cli.host}:${cli.port} 失败(${code ?? "unknown"}):`, error);
180
+ }
181
+ await controller.dispose().catch(() => { });
182
+ process.exit(1);
183
+ }
100
184
  await controller.startMaestroPoll(cli.pollMs);
101
185
  console.log(`[maestro-mobile] listening on http://${cli.host}:${server.address().port}`);
102
186
  console.log(`[maestro-mobile] token auth enabled (use ?token= or Bearer header)`);
103
187
  // 写 PID 文件:/maestro-mobile stop 能停掉 cli 直接启动的实例(与 extension start 一致)
104
188
  await writeFile(PID_FILE, String(process.pid), "utf8");
105
- // 优雅关闭
106
- let shuttingDown = false;
107
- async function shutdown(signal) {
108
- if (shuttingDown)
109
- return;
110
- shuttingDown = true;
111
- console.log(`[maestro-mobile] received ${signal}, shutting down...`);
112
- await controller.dispose();
113
- await server.close();
114
- await unlink(PID_FILE).catch(() => { });
115
- console.log("[maestro-mobile] shutdown complete");
116
- process.exit(0);
117
- }
118
- process.on("SIGINT", () => void shutdown("SIGINT"));
119
- process.on("SIGTERM", () => void shutdown("SIGTERM"));
120
- process.on("uncaughtException", (error) => {
121
- // P3-6:未捕获异常后进程状态不可信,记录后带清理退出,避免带伤继续服务
122
- console.error("[maestro-mobile] uncaught exception, shutting down:", error);
123
- void shutdown("uncaughtException").finally(() => process.exit(1));
124
- });
125
189
  }
126
190
  main().catch((error) => {
127
191
  console.error("[maestro-mobile] fatal:", error);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AA+HtF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAuLnE"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AAuOtF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAgHnE"}
package/dist/extension.js CHANGED
@@ -13,13 +13,50 @@
13
13
  */
14
14
  import { spawn, execFile } from "node:child_process";
15
15
  import { networkInterfaces } from "node:os";
16
- import { readFile, writeFile, unlink, chmod, readdir } from "node:fs/promises";
16
+ import { readFile, writeFile, unlink, chmod, readdir, appendFile, stat, rename } from "node:fs/promises";
17
+ import { openSync, closeSync, chmodSync } from "node:fs";
17
18
  import { join } from "node:path";
18
19
  import { homedir } from "node:os";
19
20
  import { fileURLToPath } from "node:url";
20
21
  const PID_FILE = join(homedir(), ".pi", "maestro-mobile.pid");
21
22
  const TOKEN_FILE = join(homedir(), ".pi", "maestro-mobile-token");
23
+ /** host 日志:以前 stdio:"ignore" 丢弃了崩溃原因,host “无声消失”无从查起 */
24
+ const LOG_FILE = join(homedir(), ".pi", "maestro-mobile.log");
25
+ const LOG_MAX_BYTES = 5 * 1024 * 1024;
22
26
  const DEFAULT_PORT = 4739;
27
+ /** 追写一行扩展侧诊断(失败不影响主流程) */
28
+ async function appendHostLog(line) {
29
+ try {
30
+ await appendFile(LOG_FILE, `${new Date().toISOString()} [extension] ${line}\n`, { mode: 0o600 });
31
+ }
32
+ catch { /* 日志不可写时忽略 */ }
33
+ }
34
+ /**
35
+ * 以追加模式打开 host 日志,供 spawn 的 stdout/stderr 继承。
36
+ * 权限必须 0600:cli 启动横幅会打印完整 token。
37
+ */
38
+ function openHostLogFd() {
39
+ try {
40
+ const fd = openSync(LOG_FILE, "a", 0o600);
41
+ try {
42
+ chmodSync(LOG_FILE, 0o600);
43
+ }
44
+ catch { /* 已存在时尽力修正 */ }
45
+ return fd;
46
+ }
47
+ catch {
48
+ return undefined;
49
+ }
50
+ }
51
+ /** 超阈值轮转一份 .1,避免日志无限增长 */
52
+ async function rotateHostLog() {
53
+ try {
54
+ const info = await stat(LOG_FILE);
55
+ if (info.size >= LOG_MAX_BYTES)
56
+ await rename(LOG_FILE, `${LOG_FILE}.1`);
57
+ }
58
+ catch { /* 文件不存在则无需轮转 */ }
59
+ }
23
60
  function hostPort() {
24
61
  const raw = process.env.MAESTRO_MOBILE_PORT;
25
62
  const n = raw ? Number(raw) : NaN;
@@ -79,6 +116,71 @@ function hostCliPath() {
79
116
  // dist/extension.js 与 dist/cli.js 同目录
80
117
  return join(fileURLToPath(new URL(".", import.meta.url)), "cli.js");
81
118
  }
119
+ /**
120
+ * 启动 host 子进程(detached)并等待 health 通过。
121
+ * O_EXCL 竞争锁防多 Pi 会话并发 start;stdout/stderr 继承日志 fd 使退出原因可查。
122
+ */
123
+ async function startHostDetached(port, notify) {
124
+ const lockFile = PID_FILE + ".lock";
125
+ try {
126
+ await writeFile(lockFile, String(process.pid), { flag: "wx" });
127
+ }
128
+ catch {
129
+ // 锁已被占 —— 持锁者还活着则跳过,死了则接管
130
+ try {
131
+ const lockPid = Number((await readFile(lockFile, "utf8")).trim());
132
+ process.kill(lockPid, 0);
133
+ notify(`maestro-mobile: 另一会话正在启动(pid=${lockPid}),本次跳过`, "warning");
134
+ return;
135
+ }
136
+ catch {
137
+ await unlink(lockFile).catch(() => { });
138
+ await writeFile(lockFile, String(process.pid), { flag: "wx" });
139
+ }
140
+ }
141
+ try {
142
+ await rotateHostLog();
143
+ const logFd = openHostLogFd();
144
+ const child = spawn(process.execPath, [hostCliPath(), "--port", String(port)], {
145
+ detached: true,
146
+ // 以前固定 "ignore":host 的退出原因(OOM / EADDRINUSE / uncaught / 被信号杀)全进 /dev/null,
147
+ // 只能表现为“无声消失”。日志必须 0600:cli 启动横幅会打印完整 token。
148
+ stdio: logFd === undefined ? "ignore" : ["ignore", logFd, logFd],
149
+ env: { ...process.env, MAESTRO_MOBILE_PORT: String(port) },
150
+ });
151
+ if (logFd !== undefined)
152
+ closeSync(logFd); // 子进程已持有副本
153
+ child.unref();
154
+ if (child.pid === undefined) {
155
+ await appendHostLog(`spawn 失败:无 pid(cli=${hostCliPath()})`);
156
+ notify("maestro-mobile: 启动失败 —— 未能创建子进程", "warning");
157
+ return;
158
+ }
159
+ const spawnedPid = child.pid;
160
+ child.on("error", (error) => {
161
+ void appendHostLog(`spawn error pid=${spawnedPid}: ${error.message}`);
162
+ });
163
+ child.on("exit", (code, signal) => {
164
+ void appendHostLog(`child exit pid=${spawnedPid} code=${code ?? "null"} signal=${signal ?? "none"}`);
165
+ });
166
+ await writeFile(PID_FILE, String(spawnedPid), "utf8");
167
+ // 等待端口就绪(最多 3s)
168
+ for (let i = 0; i < 10; i++) {
169
+ await new Promise((r) => setTimeout(r, 300));
170
+ if (await probeHealth(port)) {
171
+ await appendHostLog(`started pid=${spawnedPid} :${port}`);
172
+ notify(`maestro-mobile: 已启动 :${port} pid=${spawnedPid}(日志 ${LOG_FILE})`, "info");
173
+ void refreshStatus();
174
+ return;
175
+ }
176
+ }
177
+ await appendHostLog(`health 未在 3s 内通过 pid=${spawnedPid} :${port}`);
178
+ notify(`maestro-mobile: 启动后 3s 内未见 health 通过,请查日志 ${LOG_FILE}`, "warning");
179
+ }
180
+ finally {
181
+ await unlink(lockFile).catch(() => { }); // 释放竞争锁
182
+ }
183
+ }
82
184
  async function readPid() {
83
185
  try {
84
186
  const raw = await readFile(PID_FILE, "utf8");
@@ -120,25 +222,30 @@ const STATUS_KEY = "maestro-mobile";
120
222
  let statusCtx = null;
121
223
  /** 刷新 footer status:● maestro-mobile :4739 · N 窗口(未运行时清除) */
122
224
  async function refreshStatus() {
123
- if (!statusCtx)
124
- return;
125
- const port = hostPort();
126
- const alive = await probeHealth(port);
127
- if (!alive) {
128
- statusCtx.ui.setStatus(STATUS_KEY, undefined);
129
- return;
130
- }
131
- let windows = 0;
132
225
  try {
133
- const r = await fetch(`http://127.0.0.1:${port}/api/workspace-telemetry`);
134
- if (r.ok) {
135
- const d = (await r.json());
136
- windows = d.aliveCount ?? 0;
226
+ if (!statusCtx?.ui)
227
+ return;
228
+ const port = hostPort();
229
+ const alive = await probeHealth(port);
230
+ if (!alive) {
231
+ statusCtx?.ui?.setStatus(STATUS_KEY, undefined);
232
+ return;
137
233
  }
234
+ let windows = 0;
235
+ try {
236
+ const r = await fetch(`http://127.0.0.1:${port}/api/workspace-telemetry`);
237
+ if (r.ok) {
238
+ const d = (await r.json());
239
+ windows = d.aliveCount ?? 0;
240
+ }
241
+ }
242
+ catch { /* 探测失败按 0 显示 */ }
243
+ // setStatus 嵌入 footer 状态栏(与 EVOL/relay 同一行),不再占独立行
244
+ statusCtx?.ui?.setStatus(STATUS_KEY, `● maestro-mobile :${port} · ${windows} 窗口`);
245
+ }
246
+ catch {
247
+ // 扩展 status 刷新是后台辅助任务,无论因 ctx 销毁、无 UI 或网络异常,绝不得拉崩宿主进程
138
248
  }
139
- catch { /* 探测失败按 0 显示 */ }
140
- // setStatus 嵌入 footer 状态栏(与 EVOL/relay 同一行),不再占独立行
141
- statusCtx.ui.setStatus(STATUS_KEY, `● maestro-mobile :${port} · ${windows} 窗口`);
142
249
  }
143
250
  export default function maestroHostExtension(pi) {
144
251
  // 会话启动后挂 footer status(与 EVOL 同行);30s 周期刷新(host 状态变化时感知)
@@ -156,43 +263,7 @@ export default function maestroHostExtension(pi) {
156
263
  const alive = await probeHealth(port);
157
264
  // 默认(无子命令):未启动 → 直接 start(与 cli 默认行为一致)
158
265
  if (sub === "default" && !alive) {
159
- const lockFile = PID_FILE + ".lock";
160
- try {
161
- await writeFile(lockFile, String(process.pid), { flag: "wx" });
162
- }
163
- catch {
164
- try {
165
- const lockPid = Number((await readFile(lockFile, "utf8")).trim());
166
- process.kill(lockPid, 0);
167
- ctx.ui.notify(`maestro-mobile: 另一会话正在启动(pid=${lockPid}),本次跳过`, "warning");
168
- return;
169
- }
170
- catch {
171
- await unlink(lockFile).catch(() => { });
172
- await writeFile(lockFile, String(process.pid), { flag: "wx" });
173
- }
174
- }
175
- const child = spawn(process.execPath, [hostCliPath(), "--port", String(port)], {
176
- detached: true,
177
- stdio: "ignore",
178
- env: { ...process.env, MAESTRO_MOBILE_PORT: String(port) },
179
- });
180
- child.unref();
181
- await writeFile(PID_FILE, String(child.pid ?? ""), "utf8");
182
- try {
183
- for (let i = 0; i < 10; i++) {
184
- await new Promise((r) => setTimeout(r, 300));
185
- if (await probeHealth(port)) {
186
- ctx.ui.notify(`maestro-mobile: 已启动 :${port} pid=${child.pid}`, "info");
187
- void refreshStatus();
188
- return;
189
- }
190
- }
191
- ctx.ui.notify("maestro-mobile: 启动后 3s 内未见 health 通过,请查日志", "warning");
192
- }
193
- finally {
194
- await unlink(lockFile).catch(() => { });
195
- }
266
+ await startHostDetached(port, (msg, level) => ctx.ui.notify(msg, level));
196
267
  return;
197
268
  }
198
269
  if (sub === "status" || sub === "default") {
@@ -256,48 +327,7 @@ export default function maestroHostExtension(pi) {
256
327
  return;
257
328
  }
258
329
  // 多 Pi 会话同时 start 的竞争锁:O_EXCL 抢占式创建,抢不到的会话直接退出
259
- const lockFile = PID_FILE + ".lock";
260
- let gotLock = false;
261
- try {
262
- await writeFile(lockFile, String(process.pid), { flag: "wx" });
263
- gotLock = true;
264
- }
265
- catch {
266
- // 锁已被占 —— 检查持锁者是否还活着,死了则接管
267
- try {
268
- const lockPid = Number((await readFile(lockFile, "utf8")).trim());
269
- process.kill(lockPid, 0);
270
- ctx.ui.notify(`maestro-mobile: 另一会话正在启动(pid=${lockPid}),本次跳过`, "warning");
271
- return;
272
- }
273
- catch {
274
- await unlink(lockFile).catch(() => { });
275
- await writeFile(lockFile, String(process.pid), { flag: "wx" });
276
- gotLock = true;
277
- }
278
- }
279
- const child = spawn(process.execPath, [hostCliPath(), "--port", String(port)], {
280
- detached: true,
281
- stdio: "ignore",
282
- env: { ...process.env, MAESTRO_MOBILE_PORT: String(port) },
283
- });
284
- child.unref();
285
- await writeFile(PID_FILE, String(child.pid ?? ""), "utf8");
286
- // 等待端口就绪(最多 3s)
287
- try {
288
- for (let i = 0; i < 10; i++) {
289
- await new Promise((r) => setTimeout(r, 300));
290
- if (await probeHealth(port)) {
291
- ctx.ui.notify(`maestro-mobile: 已启动 :${port} pid=${child.pid}`, "info");
292
- void refreshStatus();
293
- return;
294
- }
295
- }
296
- ctx.ui.notify("maestro-mobile: 启动后 3s 内未见 health 通过,请查日志", "warning");
297
- }
298
- finally {
299
- await unlink(lockFile).catch(() => { }); // 释放竞争锁
300
- }
330
+ await startHostDetached(port, (msg, level) => ctx.ui.notify(msg, level));
301
331
  return;
302
332
  }
303
333
  if (sub === "stop") {
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ExtensionUiResponse } from "./vendor/shared/index.js";
2
2
  import type { RuntimeFactory, SessionRunner, OpenSessionRequest, HostEventListener } from "./types.js";
3
3
  import { MaestroStateReader } from "./maestro-state.js";
4
4
  import { type ComponentVersions } from "./version-detector.js";
5
+ import type { WorkspaceOwner } from "./workspace-telemetry.js";
5
6
  /**
6
7
  * HostController — 集中管理所有会话 + Maestro 状态 + 事件分发
7
8
  *
@@ -34,6 +35,8 @@ export declare class HostController {
34
35
  listLiveSessions(): Promise<import("./live-sessions.js").LiveSessionList>;
35
36
  /** 读取 workspace telemetry(owner 状态,Monitor/Teammate 合同) */
36
37
  readTelemetry(): Promise<import("./vendor/shared/protocol.js").WorkspaceTelemetryState>;
38
+ /** 查询匹配该 cwd 的当前活跃桌面 TUI 窗口(heartbeat 新鲜且 cwd 一致) */
39
+ findActiveOwnerForCwd(cwd: string): Promise<WorkspaceOwner | undefined>;
37
40
  /** 轮询 telemetry,状态变化时推送 monitor_state 事件(single-flight + 稳定键变更检测) */
38
41
  pollTelemetry(): Promise<void>;
39
42
  /** 注册事件监听(WebSocket 层订阅) */
@@ -1 +1 @@
1
- {"version":3,"file":"host-controller.d.ts","sourceRoot":"","sources":["../src/host-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxD,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGhF;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAiBvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAhBjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,gBAAgB,CAA+C;IACvE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,UAAU,CAAc;gBAGb,cAAc,EAAE,cAAc,EAC/C,aAAa,CAAC,EAAE,kBAAkB;IAYpC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAE/B;IAED,iCAAiC;IAC3B,gBAAgB;IAItB,2DAA2D;IACrD,aAAa;IAInB,qEAAqE;IAC/D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBpC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAKhD,aAAa;IACb,SAAS,IAAI;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB;IAY/H,sBAAsB;IAChB,gBAAgB,CAAC,UAAU,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxD,kCAAkC;IAC5B,mBAAmB;IAIzB,eAAe,IAAI,IAAI;IAOvB,gCAAgC;IAC1B,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIpD,WAAW;IACL,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBtE,WAAW;IACX,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIxD,WAAW;IACL,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQvD,+BAA+B;IAC/B,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,GAAG,OAAO;IAMlG,8BAA8B;YAChB,mBAAmB;IAmBjC,oBAAoB;IACd,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ/B"}
1
+ {"version":3,"file":"host-controller.d.ts","sourceRoot":"","sources":["../src/host-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxD,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAiBvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAhBjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,gBAAgB,CAA+C;IACvE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,UAAU,CAAc;gBAGb,cAAc,EAAE,cAAc,EAC/C,aAAa,CAAC,EAAE,kBAAkB;IAYpC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAE/B;IAED,iCAAiC;IAC3B,gBAAgB;IAItB,2DAA2D;IACrD,aAAa;IAInB,qDAAqD;IAC/C,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAU7E,qEAAqE;IAC/D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBpC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAKhD,aAAa;IACb,SAAS,IAAI;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB;IAY/H,sBAAsB;IAChB,gBAAgB,CAAC,UAAU,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxD,kCAAkC;IAC5B,mBAAmB;IAIzB,eAAe,IAAI,IAAI;IAOvB,gCAAgC;IAC1B,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIpD,WAAW;IACL,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBtE,WAAW;IACX,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIxD,WAAW;IACL,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQvD,+BAA+B;IAC/B,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,GAAG,OAAO;IAMlG,8BAA8B;YAChB,mBAAmB;IAmBjC,oBAAoB;IACd,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ/B"}
@@ -5,6 +5,7 @@ import { WorkspaceTelemetryReader } from "./workspace-telemetry.js";
5
5
  import { projectMonitorState, telemetryStableKey, monitorStateEvent } from "./monitor-projection.js";
6
6
  import { VersionDetector } from "./version-detector.js";
7
7
  import { EventLog } from "./event-log.js";
8
+ import { normalize } from "node:path";
8
9
  /**
9
10
  * HostController — 集中管理所有会话 + Maestro 状态 + 事件分发
10
11
  *
@@ -58,6 +59,17 @@ export class HostController {
58
59
  async readTelemetry() {
59
60
  return this.telemetryReader.read();
60
61
  }
62
+ /** 查询匹配该 cwd 的当前活跃桌面 TUI 窗口(heartbeat 新鲜且 cwd 一致) */
63
+ async findActiveOwnerForCwd(cwd) {
64
+ try {
65
+ const t = await this.telemetryReader.read();
66
+ const normCwd = normalize(cwd);
67
+ return t.owners.find((o) => o.alive && normalize(o.normalizedCwd) === normCwd);
68
+ }
69
+ catch {
70
+ return undefined;
71
+ }
72
+ }
61
73
  /** 轮询 telemetry,状态变化时推送 monitor_state 事件(single-flight + 稳定键变更检测) */
62
74
  async pollTelemetry() {
63
75
  if (this.telemetryInFlight)
@@ -1 +1 @@
1
- {"version":3,"file":"host-controller.js","sourceRoot":"","sources":["../src/host-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-controller.js","sourceRoot":"","sources":["../src/host-controller.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ export async function buildMessageIndex(filePath) {
53
53
  let nl;
54
54
  while ((nl = buf.indexOf("\n")) !== -1) {
55
55
  const line = buf.slice(0, nl);
56
- if (line.trim() && line.length <= MAX_LINE_BYTES && line.includes('"type":"message"')) {
56
+ if (line.trim() && line.length <= MAX_LINE_BYTES && (line.includes('"type":"message"') || line.includes('"type":"custom_message"'))) {
57
57
  messageOffsets.push(bufStart);
58
58
  }
59
59
  buf = buf.slice(nl + 1);
@@ -61,7 +61,7 @@ export async function buildMessageIndex(filePath) {
61
61
  }
62
62
  }
63
63
  // 末尾无换行的残行
64
- if (buf.trim() && buf.length <= MAX_LINE_BYTES && buf.includes('"type":"message"')) {
64
+ if (buf.trim() && buf.length <= MAX_LINE_BYTES && (buf.includes('"type":"message"') || buf.includes('"type":"custom_message"'))) {
65
65
  messageOffsets.push(bufStart);
66
66
  }
67
67
  const index = {
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl-index.js","sourceRoot":"","sources":["../src/jsonl-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonl-index.js","sourceRoot":"","sources":["../src/jsonl-index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl-pager.d.ts","sourceRoot":"","sources":["../src/jsonl-pager.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD,2CAA2C;AAC3C,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAE5F;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,SAAM,GACV,OAAO,CAAC,UAAU,CAAC,CAGrB;AA8ED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,YAAY,GAAG,SAAS,CAE1B;AA0ED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,UAAU,SAAK,GACd,OAAO,CAAC;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAiD7F"}
1
+ {"version":3,"file":"jsonl-pager.d.ts","sourceRoot":"","sources":["../src/jsonl-pager.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD,2CAA2C;AAC3C,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAE5F;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,SAAM,GACV,OAAO,CAAC,UAAU,CAAC,CAGrB;AAkGD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,YAAY,GAAG,SAAS,CAE1B;AA0FD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,UAAU,SAAK,GACd,OAAO,CAAC;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAoE7F"}