aibroker 0.61.8 → 0.62.3

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 (76) hide show
  1. package/dist/adapters/iterm/core.d.ts +8 -0
  2. package/dist/adapters/iterm/core.d.ts.map +1 -1
  3. package/dist/adapters/iterm/core.js +77 -17
  4. package/dist/adapters/iterm/core.js.map +1 -1
  5. package/dist/adapters/iterm/sessions.d.ts +6 -0
  6. package/dist/adapters/iterm/sessions.d.ts.map +1 -1
  7. package/dist/adapters/iterm/sessions.js +25 -2
  8. package/dist/adapters/iterm/sessions.js.map +1 -1
  9. package/dist/adapters/pailot/gateway.d.ts +9 -0
  10. package/dist/adapters/pailot/gateway.d.ts.map +1 -1
  11. package/dist/adapters/pailot/gateway.js +60 -14
  12. package/dist/adapters/pailot/gateway.js.map +1 -1
  13. package/dist/adapters/pailot/message-queue.d.ts +10 -0
  14. package/dist/adapters/pailot/message-queue.d.ts.map +1 -1
  15. package/dist/adapters/pailot/message-queue.js +112 -12
  16. package/dist/adapters/pailot/message-queue.js.map +1 -1
  17. package/dist/adapters/pailot/mqtt-broker.d.ts +6 -0
  18. package/dist/adapters/pailot/mqtt-broker.d.ts.map +1 -1
  19. package/dist/adapters/pailot/mqtt-broker.js +8 -0
  20. package/dist/adapters/pailot/mqtt-broker.js.map +1 -1
  21. package/dist/core/claude-attach.d.ts +13 -0
  22. package/dist/core/claude-attach.d.ts.map +1 -0
  23. package/dist/core/claude-attach.js +22 -0
  24. package/dist/core/claude-attach.js.map +1 -0
  25. package/dist/core/state.d.ts +38 -5
  26. package/dist/core/state.d.ts.map +1 -1
  27. package/dist/core/state.js +107 -15
  28. package/dist/core/state.js.map +1 -1
  29. package/dist/daemon/agent-env.d.ts +7 -0
  30. package/dist/daemon/agent-env.d.ts.map +1 -0
  31. package/dist/daemon/agent-env.js +9 -0
  32. package/dist/daemon/agent-env.js.map +1 -0
  33. package/dist/daemon/cli.js +2 -0
  34. package/dist/daemon/cli.js.map +1 -1
  35. package/dist/daemon/core-handlers.d.ts +35 -3
  36. package/dist/daemon/core-handlers.d.ts.map +1 -1
  37. package/dist/daemon/core-handlers.js +143 -71
  38. package/dist/daemon/core-handlers.js.map +1 -1
  39. package/dist/daemon/forge-release.d.ts +41 -0
  40. package/dist/daemon/forge-release.d.ts.map +1 -0
  41. package/dist/daemon/forge-release.js +127 -0
  42. package/dist/daemon/forge-release.js.map +1 -0
  43. package/dist/daemon/inbound.d.ts +2 -0
  44. package/dist/daemon/inbound.d.ts.map +1 -1
  45. package/dist/daemon/inbound.js +17 -6
  46. package/dist/daemon/inbound.js.map +1 -1
  47. package/dist/daemon/index.js +2 -2
  48. package/dist/daemon/index.js.map +1 -1
  49. package/dist/daemon/mailbox-watch.js +1 -1
  50. package/dist/daemon/mailbox-watch.js.map +1 -1
  51. package/dist/daemon/manage.d.ts +147 -5
  52. package/dist/daemon/manage.d.ts.map +1 -1
  53. package/dist/daemon/manage.js +618 -72
  54. package/dist/daemon/manage.js.map +1 -1
  55. package/dist/daemon/pointer-guard.d.ts +37 -0
  56. package/dist/daemon/pointer-guard.d.ts.map +1 -0
  57. package/dist/daemon/pointer-guard.js +100 -0
  58. package/dist/daemon/pointer-guard.js.map +1 -0
  59. package/dist/daemon/session-content.d.ts +8 -0
  60. package/dist/daemon/session-content.d.ts.map +1 -1
  61. package/dist/daemon/session-content.js +28 -5
  62. package/dist/daemon/session-content.js.map +1 -1
  63. package/dist/daemon/todoist-webhook.d.ts.map +1 -1
  64. package/dist/daemon/todoist-webhook.js +8 -4
  65. package/dist/daemon/todoist-webhook.js.map +1 -1
  66. package/dist/ipc/client.d.ts.map +1 -1
  67. package/dist/ipc/client.js +37 -0
  68. package/dist/ipc/client.js.map +1 -1
  69. package/dist/mcp/index.js +14 -7
  70. package/dist/mcp/index.js.map +1 -1
  71. package/dist/types/ipc.d.ts +7 -0
  72. package/dist/types/ipc.d.ts.map +1 -1
  73. package/hooks/drain-mailbox.mjs +20 -3
  74. package/hooks/manage-hook.mjs +3 -1
  75. package/hooks/operator-manage-token.mjs +45 -0
  76. package/package.json +1 -1
@@ -29,6 +29,8 @@ export declare function buildItermJxa(pid: number, body: string): string;
29
29
  * must `return` a string. Same failure value as runAppleScript: null.
30
30
  */
31
31
  export declare function runItermJxa(body: string, timeoutMs?: number): string | null;
32
+ /** runItermJxa without blocking the event loop (see runOsascriptAsync). */
33
+ export declare function runItermJxaAsync(body: string, timeoutMs?: number): Promise<string | null>;
32
34
  /**
33
35
  * Plain-object indirection so tests can replace the osascript call without
34
36
  * mocking node:child_process — a builtin's named export is a fixed snapshot
@@ -38,6 +40,7 @@ export declare function runItermJxa(body: string, timeoutMs?: number): string |
38
40
  export declare const _internal: {
39
41
  runAppleScript: typeof runAppleScript;
40
42
  runItermJxa: typeof runItermJxa;
43
+ runItermJxaAsync: typeof runItermJxaAsync;
41
44
  };
42
45
  export declare function stripItermPrefix(id: string | undefined): string | undefined;
43
46
  /**
@@ -97,6 +100,11 @@ export interface SessionSnapshot {
97
100
  * set). Kept in the snapshot for internal lookups; list surfaces drop it.
98
101
  */
99
102
  workerPane?: boolean;
103
+ /**
104
+ * Set when the foreground job is `claude attach <uuid>`: this pane only
105
+ * views a Claude background session, and the uuid (or prefix) names it.
106
+ */
107
+ attachUuid?: string;
100
108
  }
101
109
  export declare function wasLastSnapshotReliable(): boolean;
102
110
  export interface ItermBundleIdImpostor {
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/adapters/iterm/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/adapters/iterm/core.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,10 @@
4
4
  * Foundation of all iTerm2 communication. Wraps `osascript` and `spawnSync`
5
5
  * with zero transport-specific imports.
6
6
  */
7
- import { execFileSync, spawnSync } from "node:child_process";
7
+ import { execFileSync, spawn, spawnSync } from "node:child_process";
8
8
  import { statSync, writeFileSync } from "node:fs";
9
9
  import { log } from "../../core/log.js";
10
+ import { parseAttachUuid } from "../../core/claude-attach.js";
10
11
  import { timeCall } from "../../core/call-timing.js";
11
12
  import { itermInPlay } from "../../transport/policy.js";
12
13
  /**
@@ -42,6 +43,23 @@ export function cleanChildEnv(env = process.env) {
42
43
  const { __CFBundleIdentifier: _drop, ...rest } = env;
43
44
  return rest;
44
45
  }
46
+ // spawnSync defaults to a 1 MiB buffer; a full scrollback read can exceed it.
47
+ const OSASCRIPT_MAX_BUFFER = 64 * 1024 * 1024;
48
+ /** Log (throttled) why an osascript run produced no answer. NEVER fail silently — see below. */
49
+ function reportOsascriptFailure(script, timeoutMs, r) {
50
+ // NEVER fail silently here. Every session feature — send_to_session,
51
+ // session_content, dispatch — is built on this call, and a null turns into
52
+ // an empty session list that is indistinguishable from "nothing is open".
53
+ // A timeout 50ms over budget therefore looked exactly like an empty
54
+ // machine, and took the whole hub down with nothing in the log to show it.
55
+ const first = script.trim().split("\n")[0].slice(0, 60);
56
+ const timedOut = r.error?.code === "ETIMEDOUT" || r.signal === "SIGTERM";
57
+ const stderr = r.stderr.trim().slice(0, 200);
58
+ logThrottled(`${first}|${timedOut}`, timedOut
59
+ ? `osascript TIMED OUT after ${timeoutMs}ms — callers will see an empty result. Script: ${first}…`
60
+ : `osascript failed (status ${r.status}${r.signal ? `, signal ${r.signal}` : ""})` +
61
+ `${stderr ? `: ${stderr}` : ""}. Script: ${first}…`);
62
+ }
45
63
  /** Run osascript with a script on stdin; null (and a throttled log line) on any failure. */
46
64
  function runOsascript(args, script, timeoutMs) {
47
65
  const result = spawnSync("osascript", args, {
@@ -49,25 +67,55 @@ function runOsascript(args, script, timeoutMs) {
49
67
  stdio: ["pipe", "pipe", "pipe"],
50
68
  timeout: timeoutMs,
51
69
  env: cleanChildEnv(),
70
+ maxBuffer: OSASCRIPT_MAX_BUFFER,
52
71
  });
53
72
  if (result.status !== 0 || result.error) {
54
- // NEVER fail silently here. Every session feature — send_to_session,
55
- // session_content, dispatch — is built on this call, and a null turns into
56
- // an empty session list that is indistinguishable from "nothing is open".
57
- // A timeout 50ms over budget therefore looked exactly like an empty
58
- // machine, and took the whole hub down with nothing in the log to show it.
59
- const first = script.trim().split("\n")[0].slice(0, 60);
60
- const timedOut = result.error?.code === "ETIMEDOUT"
61
- || result.signal === "SIGTERM";
62
- const stderr = result.stderr?.toString().trim().slice(0, 200) ?? "";
63
- logThrottled(`${first}|${timedOut}`, timedOut
64
- ? `osascript TIMED OUT after ${timeoutMs}ms — callers will see an empty result. Script: ${first}…`
65
- : `osascript failed (status ${result.status}${result.signal ? `, signal ${result.signal}` : ""})` +
66
- `${stderr ? `: ${stderr}` : ""}. Script: ${first}…`);
73
+ reportOsascriptFailure(script, timeoutMs, {
74
+ status: result.status,
75
+ signal: result.signal,
76
+ error: result.error,
77
+ stderr: result.stderr?.toString() ?? "",
78
+ });
67
79
  return null;
68
80
  }
69
81
  return result.stdout?.toString().trim() ?? null;
70
82
  }
83
+ /**
84
+ * runOsascript without blocking the event loop. A pane read pulls iTerm's whole
85
+ * scrollback through osascript (seconds for a 7000-line pane); done with
86
+ * spawnSync that stalls IPC, the MQTT loopback and adapter health polls for the
87
+ * duration. Same null-on-failure contract and failure log as the sync twin.
88
+ */
89
+ function runOsascriptAsync(args, script, timeoutMs) {
90
+ return new Promise((resolve) => {
91
+ const child = spawn("osascript", args, { stdio: ["pipe", "pipe", "pipe"], env: cleanChildEnv() });
92
+ const out = [];
93
+ const err = [];
94
+ let timedOut = false;
95
+ let settled = false;
96
+ const timer = setTimeout(() => { timedOut = true; child.kill("SIGTERM"); }, timeoutMs);
97
+ const done = (status, signal, error) => {
98
+ if (settled)
99
+ return;
100
+ settled = true;
101
+ clearTimeout(timer);
102
+ if (status !== 0 || error) {
103
+ const e = error ?? (timedOut ? Object.assign(new Error("timeout"), { code: "ETIMEDOUT" }) : undefined);
104
+ reportOsascriptFailure(script, timeoutMs, { status, signal, error: e, stderr: Buffer.concat(err).toString() });
105
+ resolve(null);
106
+ }
107
+ else {
108
+ resolve(Buffer.concat(out).toString().trim());
109
+ }
110
+ };
111
+ child.stdout.on("data", (d) => out.push(d));
112
+ child.stderr.on("data", (d) => err.push(d));
113
+ child.on("error", (e) => done(null, null, e));
114
+ child.on("close", (status, signal) => done(timedOut ? null : status, signal));
115
+ child.stdin.on("error", () => { });
116
+ child.stdin.end(script);
117
+ });
118
+ }
71
119
  // Default budget. Deliberately generous: exceeding it yields null, which every
72
120
  // caller turns into "nothing there" rather than "I could not tell", so a tight
73
121
  // default trades a rare slow call for a silent wrong answer. iTerm AppleScript
@@ -135,13 +183,23 @@ export function runItermJxa(body, timeoutMs = 15_000) {
135
183
  cachedItermPid = null; // maybe iTerm restarted; resolve afresh next time
136
184
  return out;
137
185
  }
186
+ /** runItermJxa without blocking the event loop (see runOsascriptAsync). */
187
+ export async function runItermJxaAsync(body, timeoutMs = 15_000) {
188
+ const pid = itermPid();
189
+ if (pid === null)
190
+ return null;
191
+ const out = await runOsascriptAsync(["-l", "JavaScript"], buildItermJxa(pid, body), timeoutMs);
192
+ if (out === null)
193
+ cachedItermPid = null;
194
+ return out;
195
+ }
138
196
  /**
139
197
  * Plain-object indirection so tests can replace the osascript call without
140
198
  * mocking node:child_process — a builtin's named export is a fixed snapshot
141
199
  * taken once at module load, so reassigning it post-load (the usual mock
142
200
  * technique) silently does nothing.
143
201
  */
144
- export const _internal = { runAppleScript, runItermJxa };
202
+ export const _internal = { runAppleScript, runItermJxa, runItermJxaAsync };
145
203
  export function stripItermPrefix(id) {
146
204
  if (!id)
147
205
  return id;
@@ -323,7 +381,8 @@ export function writeToTty(ttyPath, text) {
323
381
  * tab count.
324
382
  */
325
383
  function ttysRunningClaude() {
326
- const found = new Set();
384
+ // tty -> the session uuid a `claude attach` viewer shows, undefined for a plain Claude
385
+ const found = new Map();
327
386
  try {
328
387
  const out = timeCall("iterm-core:ps-claude-scan", () => execFileSync("ps", ["-ao", "tty=,command="], { encoding: "utf8", timeout: 10_000 }));
329
388
  for (const line of out.split("\n")) {
@@ -334,7 +393,7 @@ function ttysRunningClaude() {
334
393
  // The binary, not a path that merely mentions it: an MCP server living
335
394
  // under a .claude directory is not a session.
336
395
  if (/(^|\/)claude(\s|$)/.test(command))
337
- found.add(tty.startsWith("/dev/") ? tty : `/dev/${tty}`);
396
+ found.set(tty.startsWith("/dev/") ? tty : `/dev/${tty}`, parseAttachUuid(command));
338
397
  }
339
398
  }
340
399
  catch {
@@ -416,6 +475,7 @@ function snapshotAllSessionsUncached() {
416
475
  // paiName is null here — callers merge from getAllPersistentSessionNames()
417
476
  paiName: null,
418
477
  workerPane: Boolean(parts[4]) && parts[4] !== "missing value",
478
+ attachUuid: claudeTtys.get(parts[2]),
419
479
  });
420
480
  }
421
481
  return sessions;
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/adapters/iterm/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/adapters/iterm/core.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ export declare function setItermBadge(itermSessionId: string, text: string): voi
17
17
  */
18
18
  export declare function revealItermSession(itermSessionId: string): boolean;
19
19
  export declare function getItermSessionVar(itermSessionId: string): string | null;
20
+ /**
21
+ * A name stored under a dead pane id follows its Claude session to the
22
+ * `claude attach` pane now serving it (killed and reattached keeps its name),
23
+ * unless that pane already has a name of its own. Returns how many moved.
24
+ */
25
+ export declare function moveStaleNamesToAttachPanes(sessions: SessionSnapshot[]): number;
20
26
  /**
21
27
  * Re-write chosen names onto tabs whose title has materially diverged.
22
28
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/adapters/iterm/sessions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAWL,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AA0BnB,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG7E;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAS1E;AAED,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAkBxE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAYlE;AAED,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOxE;AAQD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,GAAE;IACJ,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC1C,GACL,MAAM,CAmCR;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvE;AAID,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CAiBf;AAID,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAE7D;AAED,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAMxE;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,KAAK,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAwBD;AA6FD,wBAAgB,mBAAmB,CAAC,OAAO,SAAW,GAAG,MAAM,GAAG,IAAI,CAOrE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOjE;AAID,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,SAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9F;AAED,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAExD"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/adapters/iterm/sessions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAWL,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AA4BnB,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG7E;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAS1E;AAED,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAkBxE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAYlE;AAED,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOxE;AAQD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,CAa/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,GAAE;IACJ,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC1C,GACL,MAAM,CAoCR;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvE;AAID,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CAiBf;AAID,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAE7D;AAED,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAMxE;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,KAAK,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAwBD;AA6FD,wBAAgB,mBAAmB,CAAC,OAAO,SAAW,GAAG,MAAM,GAAG,IAAI,CAOrE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOjE;AAID,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,SAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9F;AAED,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAExD"}
@@ -10,8 +10,8 @@ import { setSessionTitle, itermViewerSessionId, snapshotAllSessions as snapshotA
10
10
  import { itermInPlay } from "../../transport/policy.js";
11
11
  import { normaliseLabel } from "../../core/session-match.js";
12
12
  import { log } from "../../core/log.js";
13
- import { managedSessions, updateSessionTtyCache, } from "../../core/state.js";
14
- import { getAllPersistentSessionNames, lookupPersistentName } from "../../core/persistence.js";
13
+ import { managedSessions, updateSessionTtyCache, liveSessionFor, claudeSessionOfId, } from "../../core/state.js";
14
+ import { getAllPersistentSessionNames, lookupPersistentName, setPersistentSessionName, removePersistentSessionName } from "../../core/persistence.js";
15
15
  // ── Session Variable Helpers ──
16
16
  function setItermSessionProperty(itermSessionId, body) {
17
17
  if (!itermInPlay())
@@ -77,6 +77,28 @@ export function getItermSessionVar(itermSessionId) {
77
77
  // re-stamps the tab title on every turn, so a name set once by the rename
78
78
  // handler survives only until that turn — unless the daemon gets the last
79
79
  // word. That is reassertPersistentTitles, run from an interval in the daemon.
80
+ /**
81
+ * A name stored under a dead pane id follows its Claude session to the
82
+ * `claude attach` pane now serving it (killed and reattached keeps its name),
83
+ * unless that pane already has a name of its own. Returns how many moved.
84
+ */
85
+ export function moveStaleNamesToAttachPanes(sessions) {
86
+ const live = new Set(sessions.map((s) => s.id));
87
+ let moved = 0;
88
+ for (const [id, name] of Object.entries(getAllPersistentSessionNames())) {
89
+ if (live.has(id) || !claudeSessionOfId(id))
90
+ continue;
91
+ const target = liveSessionFor(id, sessions);
92
+ if (target === id || lookupPersistentName(getAllPersistentSessionNames(), target))
93
+ continue;
94
+ removePersistentSessionName(id);
95
+ if (!setPersistentSessionName(target, name).ok)
96
+ continue;
97
+ log(`Name authority: moved "${name}" from dead pane ${id.slice(0, 8)} to attach pane ${target.slice(0, 8)}`);
98
+ moved += 1;
99
+ }
100
+ return moved;
101
+ }
80
102
  /**
81
103
  * Re-write chosen names onto tabs whose title has materially diverged.
82
104
  *
@@ -96,6 +118,7 @@ export function reassertPersistentTitles(deps = {}) {
96
118
  const setPaneTitle = deps.setPaneTitle ?? setSessionTitle;
97
119
  const viewerFor = deps.viewerFor ?? itermViewerSessionId;
98
120
  const sessions = deps.sessions ?? snapshotAllTransports();
121
+ moveStaleNamesToAttachPanes(sessions);
99
122
  const names = getAllPersistentSessionNames();
100
123
  let repinned = 0;
101
124
  for (const s of sessions) {
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/adapters/iterm/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/adapters/iterm/sessions.ts"],"names":[],"mappings":"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"}
@@ -40,12 +40,21 @@ export declare function buildCatchUp(missed: Array<{
40
40
  bytes: number;
41
41
  withheld: number;
42
42
  lightened: number;
43
+ /** Full image messages to publish live after the reply, oldest first. */
44
+ replays: Record<string, unknown>[];
43
45
  };
44
46
  /**
45
47
  * Provide the screenshot handler so ws-gateway can trigger screenshots
46
48
  * for navigation commands without a circular import.
47
49
  */
48
50
  export declare function setScreenshotHandler(handler: (source?: "whatsapp" | "pailot", sessionId?: string) => Promise<void>): void;
51
+ /**
52
+ * The pane to use for an id PAILot (or a caller) names. A dead pane whose
53
+ * Claude session now runs behind a `claude attach` pane maps to that pane; the
54
+ * snapshot is only read when the session of the id is known.
55
+ */
56
+ export declare function liveSession(id: string): string;
57
+ export declare function liveSession(id: string | undefined): string | undefined;
49
58
  /** Set the voice batch session from external callers (MQTT path). */
50
59
  export declare function setVoiceBatchSession(sessionId: string): void;
51
60
  export declare function transcribeAndRoute(audioBase64: string, onMessage: (text: string, timestamp: number) => void | Promise<void>, messageId?: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/adapters/pailot/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiLH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,GAAG;IACjF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAkDA;AAqDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAEzH;AAslBD,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE5D;AAiCD,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACpE,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAkEf;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CA2RzG;AAuBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAiDtF;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACvE,OAAO,CAAC,IAAI,CAAC,CAwEf;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAkBnI;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAOpD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAOpC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAmT3F"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/adapters/pailot/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+LH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,GAAG;IACjF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACpC,CA4EA;AAsDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAEzH;AAyHD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;AAChD,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAqexE,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE5D;AAiCD,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACpE,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAkEf;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CA2RzG;AAuBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAiDtF;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACvE,OAAO,CAAC,IAAI,CAAC,CAwEf;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAkBnI;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAOpD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAOpC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAoT3F"}
@@ -30,15 +30,15 @@ import { execFile } from "node:child_process";
30
30
  import { log } from "../../core/log.js";
31
31
  import { WHISPER_MODEL } from "../kokoro/media.js";
32
32
  import { resolveWhisperBin, resolveFfmpegBin } from "../../core/bins.js";
33
- import { setMessageSource, activeItermSessionId, setActiveItermSessionId, lastRoutedSessionId, setLastRoutedSessionId, getAibpBridge, } from "../../core/state.js";
33
+ import { setMessageSource, activeItermSessionId, setActiveItermSessionId, lastRoutedSessionId, setLastRoutedSessionId, getAibpBridge, claudeSessionOfId, liveSessionFor, } from "../../core/state.js";
34
34
  import { setItermSessionVar, setItermTabName, setItermBadge, autoTabName, createClaudeSession, killSession } from "../iterm/sessions.js";
35
35
  import { listPaiProjects, launchPaiProject } from "../../daemon/pai-projects.js";
36
36
  import { runItermJxa, withSessionJxa, sendKeystrokeToSession, sendEscapeSequenceToSession, invalidateSnapshotCache } from "../iterm/core.js";
37
37
  import { pasteTextIntoSession, snapshotAllSessions, typeIntoSession } from "../../transport/sync-facade.js";
38
38
  import { hybridManager } from "../../core/hybrid.js";
39
- import { mqttPublishText, mqttPublishVoice, mqttPublishImage, mqttPublishTyping, mqttPublishScreenshot, mqttPublishSessions, mqttPublishTranscript, mqttPublishStatus as mqttPubStatus, mqttPublishControl, isMqttRunning, getMqttClientCount, getMqttAppClientCount, } from "./mqtt-broker.js";
39
+ import { mqttPublishText, mqttPublishVoice, mqttPublishImage, mqttPublishReplay, mqttPublishTyping, mqttPublishScreenshot, mqttPublishSessions, mqttPublishTranscript, mqttPublishStatus as mqttPubStatus, mqttPublishControl, isMqttRunning, getMqttClientCount, getMqttAppClientCount, } from "./mqtt-broker.js";
40
40
  import { sendPush as apnsSendPush } from "../../apns/client.js";
41
- import { getAfter as mqGetAfter, getLatestSeq as mqGetLatestSeq } from "./message-queue.js";
41
+ import { readAttachment, withNote, getAfter as mqGetAfter, getLatestSeq as mqGetLatestSeq } from "./message-queue.js";
42
42
  import { addTrace } from "../../daemon/trace-log.js";
43
43
  import { setPersistentSessionName } from "../../core/persistence.js";
44
44
  import { discoverLiveSessions, isClaudeRelated, listedLiveIds } from "../../core/session-discovery.js";
@@ -144,6 +144,15 @@ function getMessagesAfter(afterSeq, sessionId) {
144
144
  const ONE_MESSAGE_MAX_BYTES = 256 * 1024;
145
145
  /** A ceiling on the whole reply. See buildCatchUp for why both exist. */
146
146
  const CATCH_UP_MAX_BYTES = 4 * 1024 * 1024;
147
+ /**
148
+ * Spilled attachments handed back after a catch-up, as separate live messages.
149
+ * Bounded in count and total bytes so a long absence cannot rebuild the reply
150
+ * that once reached 194 MB; older images beyond the bound stay placeholders.
151
+ */
152
+ const REPLAY_MAX_IMAGES = 10;
153
+ const REPLAY_MAX_BYTES = 20 * 1024 * 1024;
154
+ /** Captions the app treats as Navigate-screen screenshots and keeps out of the chat. */
155
+ const SILENT_CAPTIONS = new Set(["Screenshot", "Capturing screenshot..."]);
147
156
  /**
148
157
  * Make a catch-up batch a phone can actually receive.
149
158
  *
@@ -166,11 +175,36 @@ const CATCH_UP_MAX_BYTES = 4 * 1024 * 1024;
166
175
  */
167
176
  export function buildCatchUp(missed) {
168
177
  const messages = [];
178
+ const replays = [];
169
179
  let bytes = 0;
170
180
  let withheld = 0;
171
181
  let lightened = 0;
182
+ let replayBytes = 0;
172
183
  for (let i = missed.length - 1; i >= 0; i--) {
173
184
  const p = { ...missed[i].payload };
185
+ // A spilled attachment is delivered as its own live message (same msgId and
186
+ // seq as the original, so the app's dedup shows it exactly once) and the
187
+ // message leaves the reply — otherwise the app would show a placeholder AND
188
+ // the image. Past the bounds, or with the file gone, it stays a placeholder.
189
+ const ref = p.attachment;
190
+ delete p.attachment;
191
+ if (ref) {
192
+ if (replays.length < REPLAY_MAX_IMAGES && replayBytes + ref.bytes <= REPLAY_MAX_BYTES) {
193
+ const data = readAttachment(ref);
194
+ if (data !== undefined) {
195
+ const caption = p.caption;
196
+ replays.unshift({
197
+ ...p,
198
+ [ref.field]: data,
199
+ caption: typeof caption === "string" && SILENT_CAPTIONS.has(caption) ? `${caption} (missed)` : caption,
200
+ });
201
+ replayBytes += ref.bytes;
202
+ continue;
203
+ }
204
+ }
205
+ p.omitted = ref.field;
206
+ p.caption = withNote(p.caption);
207
+ }
174
208
  // Audio never survives a replay: it is large, and the transcript carries
175
209
  // what the message meant. Downgrading to text says so honestly rather than
176
210
  // sending a voice note that cannot be played.
@@ -209,7 +243,7 @@ export function buildCatchUp(missed) {
209
243
  messages.unshift(p);
210
244
  bytes += size;
211
245
  }
212
- return { messages, bytes, withheld, lightened };
246
+ return { messages, bytes, withheld, lightened, replays };
213
247
  }
214
248
  /** Handle catch_up command: replay missed messages to the client.
215
249
  * Uses the persistent disk queue so messages survive daemon restarts.
@@ -229,7 +263,7 @@ function handleCatchUp(ws, args) {
229
263
  // buffer. That is how a phone was handed 117 MB in one reply, wrote it to its
230
264
  // local store, and was killed by the watchdog on the next launch — twice,
231
265
  // because reinstalling asks from 0 again.
232
- const { messages: payloads, bytes, withheld: skipped, lightened } = buildCatchUp(missed);
266
+ const { messages: payloads, bytes, withheld: skipped, lightened, replays } = buildCatchUp(missed);
233
267
  if (skipped > 0) {
234
268
  log(`[PAILot] catch_up: withheld ${skipped} older message(s) — over ${Math.round(CATCH_UP_MAX_BYTES / 1048576)} MB`);
235
269
  }
@@ -245,6 +279,8 @@ function handleCatchUp(ws, args) {
245
279
  // you are getting" are not the same silence.
246
280
  ...(skipped > 0 ? { truncated: true, withheld: skipped } : {}),
247
281
  });
282
+ for (const r of replays)
283
+ sendTo(ws, r);
248
284
  }
249
285
  function isClientAlive(ws) {
250
286
  if (ws.readyState !== WebSocket.OPEN)
@@ -373,6 +409,14 @@ function handleSyncCommand(ws, args) {
373
409
  // Return sessions with updated active state
374
410
  handleSessionsCommand(ws);
375
411
  }
412
+ export function liveSession(id) {
413
+ if (!id || !claudeSessionOfId(id))
414
+ return id;
415
+ const live = liveSessionFor(id, snapshotAllSessions());
416
+ if (live !== id)
417
+ log(`[PAILot] session ${id.slice(0, 8)} is dead — redirected to attach pane ${live.slice(0, 8)}`);
418
+ return live;
419
+ }
376
420
  function handleSessionsCommand(ws, opts = {}) {
377
421
  if (!hybridManager) {
378
422
  sendTo(ws, { type: "sessions", sessions: [] });
@@ -1048,7 +1092,7 @@ export function startWsGateway(onMessage) {
1048
1092
  // Extract the session ID that PAILot says this message belongs to.
1049
1093
  // This is the iTerm session ID the user was viewing when they typed/spoke.
1050
1094
  // We use it for routing instead of guessing from activeItermSessionId.
1051
- const pailotSessionId = typeof msg.sessionId === "string" ? msg.sessionId : undefined;
1095
+ const pailotSessionId = typeof msg.sessionId === "string" ? liveSession(msg.sessionId) : undefined;
1052
1096
  // Validate against the live session list. A stale id (e.g. a Claude Code
1053
1097
  // session was restarted and got a new id) would otherwise silently fall
1054
1098
  // back to the active session and the message would land in the wrong tab.
@@ -1210,7 +1254,7 @@ function resolveSessionId(sessionId) {
1210
1254
  return hybridManager?.activeSession?.backendSessionId || undefined;
1211
1255
  }
1212
1256
  export function broadcastText(text, sessionId, direct) {
1213
- const resolvedSession = sessionId || resolveSessionId(sessionId);
1257
+ const resolvedSession = liveSession(sessionId || resolveSessionId(sessionId));
1214
1258
  const traceId = randomUUID().slice(0, 8);
1215
1259
  const contentPreview = text.replace(/\s+/g, " ").trim().slice(0, 80);
1216
1260
  broadcast({ type: "typing", typing: false, ...(resolvedSession && { sessionId: resolvedSession }) }, direct);
@@ -1267,7 +1311,7 @@ export function broadcastText(text, sessionId, direct) {
1267
1311
  * @param sessionId — iTerm session ID of the originating Claude session
1268
1312
  */
1269
1313
  export async function broadcastVoice(audioBuffer, transcript, sessionId, direct, chunkMeta) {
1270
- const resolvedSession = sessionId || resolveSessionId(sessionId);
1314
+ const resolvedSession = liveSession(sessionId || resolveSessionId(sessionId));
1271
1315
  const traceId = randomUUID().slice(0, 8);
1272
1316
  const contentPreview = transcript.replace(/\s+/g, " ").trim().slice(0, 80);
1273
1317
  broadcast({ type: "typing", typing: false, ...(resolvedSession && { sessionId: resolvedSession }) }, direct);
@@ -1350,7 +1394,7 @@ export async function broadcastVoice(audioBuffer, transcript, sessionId, direct,
1350
1394
  * @param sessionId — iTerm session ID of the originating Claude session
1351
1395
  */
1352
1396
  export function broadcastImage(imageBuffer, caption, sessionId, direct, mimeType) {
1353
- const resolvedSession = sessionId || resolveSessionId(sessionId);
1397
+ const resolvedSession = liveSession(sessionId || resolveSessionId(sessionId));
1354
1398
  const imgBase64 = imageBuffer.toString("base64");
1355
1399
  broadcast({
1356
1400
  type: "image",
@@ -1471,7 +1515,7 @@ export function handleMqttCommand(command, args = {}) {
1471
1515
  break;
1472
1516
  }
1473
1517
  case "switch": {
1474
- const sessionId = args.sessionId;
1518
+ const sessionId = liveSession(args.sessionId);
1475
1519
  const sessionIndex = args.index;
1476
1520
  let targetIndex;
1477
1521
  if (sessionIndex) {
@@ -1495,7 +1539,7 @@ export function handleMqttCommand(command, args = {}) {
1495
1539
  break;
1496
1540
  }
1497
1541
  case "screenshot": {
1498
- const ssSessionId = args.sessionId;
1542
+ const ssSessionId = liveSession(args.sessionId);
1499
1543
  log(`[MQTT] screenshot command: requested session=${ssSessionId?.slice(0, 8) ?? "none"}`);
1500
1544
  if (ssSessionId) {
1501
1545
  setActiveItermSessionId(ssSessionId);
@@ -1513,7 +1557,7 @@ export function handleMqttCommand(command, args = {}) {
1513
1557
  break;
1514
1558
  }
1515
1559
  case "rename": {
1516
- const sessionId = args.sessionId;
1560
+ const sessionId = liveSession(args.sessionId);
1517
1561
  const name = args.name;
1518
1562
  if (sessionId && name) {
1519
1563
  // Persist so the rename survives re-enumeration: enrichedSnapshots reads
@@ -1540,7 +1584,7 @@ export function handleMqttCommand(command, args = {}) {
1540
1584
  break;
1541
1585
  }
1542
1586
  case "remove": {
1543
- const sessionId = args.sessionId;
1587
+ const sessionId = liveSession(args.sessionId);
1544
1588
  if (sessionId) {
1545
1589
  const sessions = hybridManager.listSessions();
1546
1590
  const idx = sessions.findIndex(s => s.backendSessionId === sessionId);
@@ -1716,7 +1760,7 @@ export function handleMqttCommand(command, args = {}) {
1716
1760
  // Same builder as the WebSocket path. The assumption that used to live
1717
1761
  // here — audio stripped, "images kept intact (typically <500KB)" — is
1718
1762
  // what produced a 194 MB reply and the reconnect loop that followed it.
1719
- const { messages: lightPayloads, bytes, withheld, lightened } = buildCatchUp(missed);
1763
+ const { messages: lightPayloads, bytes, withheld, lightened, replays } = buildCatchUp(missed);
1720
1764
  if (withheld > 0) {
1721
1765
  log(`[MQTT] catch_up: withheld ${withheld} older message(s) — over ${Math.round(CATCH_UP_MAX_BYTES / 1048576)} MB`);
1722
1766
  }
@@ -1732,6 +1776,8 @@ export function handleMqttCommand(command, args = {}) {
1732
1776
  // all you are getting" are the same silence.
1733
1777
  ...(withheld > 0 ? { truncated: true, withheld } : {}),
1734
1778
  });
1779
+ for (const r of replays)
1780
+ mqttPublishReplay(r);
1735
1781
  handleMqttCommand("sessions");
1736
1782
  break;
1737
1783
  }