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.
- package/dist/adapters/iterm/core.d.ts +8 -0
- package/dist/adapters/iterm/core.d.ts.map +1 -1
- package/dist/adapters/iterm/core.js +77 -17
- package/dist/adapters/iterm/core.js.map +1 -1
- package/dist/adapters/iterm/sessions.d.ts +6 -0
- package/dist/adapters/iterm/sessions.d.ts.map +1 -1
- package/dist/adapters/iterm/sessions.js +25 -2
- package/dist/adapters/iterm/sessions.js.map +1 -1
- package/dist/adapters/pailot/gateway.d.ts +9 -0
- package/dist/adapters/pailot/gateway.d.ts.map +1 -1
- package/dist/adapters/pailot/gateway.js +60 -14
- package/dist/adapters/pailot/gateway.js.map +1 -1
- package/dist/adapters/pailot/message-queue.d.ts +10 -0
- package/dist/adapters/pailot/message-queue.d.ts.map +1 -1
- package/dist/adapters/pailot/message-queue.js +112 -12
- package/dist/adapters/pailot/message-queue.js.map +1 -1
- package/dist/adapters/pailot/mqtt-broker.d.ts +6 -0
- package/dist/adapters/pailot/mqtt-broker.d.ts.map +1 -1
- package/dist/adapters/pailot/mqtt-broker.js +8 -0
- package/dist/adapters/pailot/mqtt-broker.js.map +1 -1
- package/dist/core/claude-attach.d.ts +13 -0
- package/dist/core/claude-attach.d.ts.map +1 -0
- package/dist/core/claude-attach.js +22 -0
- package/dist/core/claude-attach.js.map +1 -0
- package/dist/core/state.d.ts +38 -5
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +107 -15
- package/dist/core/state.js.map +1 -1
- package/dist/daemon/agent-env.d.ts +7 -0
- package/dist/daemon/agent-env.d.ts.map +1 -0
- package/dist/daemon/agent-env.js +9 -0
- package/dist/daemon/agent-env.js.map +1 -0
- package/dist/daemon/cli.js +2 -0
- package/dist/daemon/cli.js.map +1 -1
- package/dist/daemon/core-handlers.d.ts +35 -3
- package/dist/daemon/core-handlers.d.ts.map +1 -1
- package/dist/daemon/core-handlers.js +143 -71
- package/dist/daemon/core-handlers.js.map +1 -1
- package/dist/daemon/forge-release.d.ts +41 -0
- package/dist/daemon/forge-release.d.ts.map +1 -0
- package/dist/daemon/forge-release.js +127 -0
- package/dist/daemon/forge-release.js.map +1 -0
- package/dist/daemon/inbound.d.ts +2 -0
- package/dist/daemon/inbound.d.ts.map +1 -1
- package/dist/daemon/inbound.js +17 -6
- package/dist/daemon/inbound.js.map +1 -1
- package/dist/daemon/index.js +2 -2
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/mailbox-watch.js +1 -1
- package/dist/daemon/mailbox-watch.js.map +1 -1
- package/dist/daemon/manage.d.ts +147 -5
- package/dist/daemon/manage.d.ts.map +1 -1
- package/dist/daemon/manage.js +618 -72
- package/dist/daemon/manage.js.map +1 -1
- package/dist/daemon/pointer-guard.d.ts +37 -0
- package/dist/daemon/pointer-guard.d.ts.map +1 -0
- package/dist/daemon/pointer-guard.js +100 -0
- package/dist/daemon/pointer-guard.js.map +1 -0
- package/dist/daemon/session-content.d.ts +8 -0
- package/dist/daemon/session-content.d.ts.map +1 -1
- package/dist/daemon/session-content.js +28 -5
- package/dist/daemon/session-content.js.map +1 -1
- package/dist/daemon/todoist-webhook.d.ts.map +1 -1
- package/dist/daemon/todoist-webhook.js +8 -4
- package/dist/daemon/todoist-webhook.js.map +1 -1
- package/dist/ipc/client.d.ts.map +1 -1
- package/dist/ipc/client.js +37 -0
- package/dist/ipc/client.js.map +1 -1
- package/dist/mcp/index.js +14 -7
- package/dist/mcp/index.js.map +1 -1
- package/dist/types/ipc.d.ts +7 -0
- package/dist/types/ipc.d.ts.map +1 -1
- package/hooks/drain-mailbox.mjs +20 -3
- package/hooks/manage-hook.mjs +3 -1
- package/hooks/operator-manage-token.mjs +45 -0
- 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":"AAAA;;;;;GAKG;
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
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.
|
|
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;
|
|
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":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,OAAO,EACL,WAAW,EACX,SAAS,EAIT,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,GAEpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,IAAI,qBAAqB,GAC7C,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAEL,eAAe,EAIf,qBAAqB,
|
|
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;
|
|
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
|
}
|