aibroker 0.61.2 → 0.61.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 (43) hide show
  1. package/dist/adapters/iterm/core.d.ts +34 -4
  2. package/dist/adapters/iterm/core.d.ts.map +1 -1
  3. package/dist/adapters/iterm/core.js +139 -104
  4. package/dist/adapters/iterm/core.js.map +1 -1
  5. package/dist/adapters/iterm/iterm2-api.d.ts.map +1 -1
  6. package/dist/adapters/iterm/iterm2-api.js +4 -2
  7. package/dist/adapters/iterm/iterm2-api.js.map +1 -1
  8. package/dist/adapters/iterm/sessions.d.ts.map +1 -1
  9. package/dist/adapters/iterm/sessions.js +47 -114
  10. package/dist/adapters/iterm/sessions.js.map +1 -1
  11. package/dist/adapters/pailot/gateway.d.ts.map +1 -1
  12. package/dist/adapters/pailot/gateway.js +6 -52
  13. package/dist/adapters/pailot/gateway.js.map +1 -1
  14. package/dist/daemon/commands.d.ts.map +1 -1
  15. package/dist/daemon/commands.js +4 -29
  16. package/dist/daemon/commands.js.map +1 -1
  17. package/dist/daemon/core-handlers.js +1 -1
  18. package/dist/daemon/core-handlers.js.map +1 -1
  19. package/dist/daemon/manage.d.ts +0 -18
  20. package/dist/daemon/manage.d.ts.map +1 -1
  21. package/dist/daemon/manage.js +8 -38
  22. package/dist/daemon/manage.js.map +1 -1
  23. package/dist/daemon/screenshot.d.ts.map +1 -1
  24. package/dist/daemon/screenshot.js +6 -42
  25. package/dist/daemon/screenshot.js.map +1 -1
  26. package/dist/daemon/session-content.d.ts +1 -1
  27. package/dist/daemon/session-content.d.ts.map +1 -1
  28. package/dist/daemon/session-content.js +10 -25
  29. package/dist/daemon/session-content.js.map +1 -1
  30. package/dist/daemon/sessions.d.ts.map +1 -1
  31. package/dist/daemon/sessions.js +7 -13
  32. package/dist/daemon/sessions.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/mcp/index.js +7 -13
  38. package/dist/mcp/index.js.map +1 -1
  39. package/dist/transport/iterm.d.ts.map +1 -1
  40. package/dist/transport/iterm.js +12 -20
  41. package/dist/transport/iterm.js.map +1 -1
  42. package/hooks/manage-hook.mjs +4 -1
  43. package/package.json +1 -1
@@ -5,7 +5,7 @@
5
5
  * Does NOT import any transport send functions — callers handle message delivery.
6
6
  */
7
7
  import { execSync } from "node:child_process";
8
- import { runAppleScript, _internal, typeIntoSession, sendKeystrokeToSession, stripItermPrefix, withSessionAppleScript, snapshotAllSessions, } from "./core.js";
8
+ import { runItermJxa, _internal, typeIntoSession, sendKeystrokeToSession, stripItermPrefix, withSessionJxa, snapshotAllSessions, } from "./core.js";
9
9
  import { setSessionTitle, itermViewerSessionId, snapshotAllSessions as snapshotAllTransports, } from "../../transport/sync-facade.js";
10
10
  import { itermInPlay } from "../../transport/policy.js";
11
11
  import { normaliseLabel } from "../../core/session-match.js";
@@ -16,20 +16,11 @@ import { getAllPersistentSessionNames, lookupPersistentName } from "../../core/p
16
16
  function setItermSessionProperty(itermSessionId, body) {
17
17
  if (!itermInPlay())
18
18
  return;
19
- try {
20
- const script = withSessionAppleScript(itermSessionId, ` tell aSession\n ${body}\n end tell\n return`, "");
21
- execSync(`osascript <<'APPLESCRIPT'\n${script}\nAPPLESCRIPT`, {
22
- timeout: 5000,
23
- shell: "/bin/bash",
24
- });
25
- }
26
- catch {
27
- // silently ignore
28
- }
19
+ runItermJxa(withSessionJxa(itermSessionId, ` ${body}\n return "ok";`), 5_000);
29
20
  }
30
21
  export function setItermSessionVar(itermSessionId, name) {
31
- const escaped = name.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/[\n\r]/g, " ");
32
- setItermSessionProperty(itermSessionId, `set variable named "user.paiName" to "${escaped}"`);
22
+ const value = JSON.stringify(name.replace(/[\n\r]/g, " "));
23
+ setItermSessionProperty(itermSessionId, `aSession.setVariable({ named: "user.paiName", to: ${value} });`);
33
24
  }
34
25
  export function setItermTabName(itermSessionId, name) {
35
26
  if (!itermInPlay())
@@ -44,13 +35,7 @@ export function setItermBadge(itermSessionId, text) {
44
35
  // Write badge escape sequence to the session's tty device.
45
36
  // Must go to terminal output stream (not stdin via "write text").
46
37
  try {
47
- const tty = execSync(`osascript -e 'tell application "iTerm2" to repeat with w in windows
48
- repeat with t in tabs of w
49
- repeat with s in sessions of t
50
- if (unique ID of s) is "${itermSessionId}" then return tty of s
51
- end repeat
52
- end repeat
53
- end repeat'`, { timeout: 5000, encoding: "utf8", shell: "/bin/bash" }).trim();
38
+ const tty = (runItermJxa(withSessionJxa(itermSessionId, ` return aSession.tty();`), 5_000) ?? "").trim();
54
39
  if (!tty || !tty.startsWith("/dev/ttys"))
55
40
  return;
56
41
  const b64 = Buffer.from(text).toString("base64");
@@ -74,22 +59,7 @@ export function revealItermSession(itermSessionId) {
74
59
  if (!itermInPlay())
75
60
  return false;
76
61
  try {
77
- const result = execSync(`osascript -e 'tell application "iTerm2"
78
- repeat with w in windows
79
- repeat with t in tabs of w
80
- repeat with s in sessions of t
81
- if (unique ID of s) is "${itermSessionId.replace(/"/g, "")}" then
82
- select w
83
- select t
84
- select s
85
- activate
86
- return "ok"
87
- end if
88
- end repeat
89
- end repeat
90
- end repeat
91
- return "no"
92
- end tell'`, { timeout: 5000, encoding: "utf8", shell: "/bin/bash" }).trim();
62
+ const result = runItermJxa(withSessionJxa(itermSessionId, ` aWindow.select(); aTab.select(); aSession.select(); app.activate();\n return "ok";`, '"no"'), 5_000);
93
63
  return result === "ok";
94
64
  }
95
65
  catch {
@@ -99,18 +69,8 @@ export function revealItermSession(itermSessionId) {
99
69
  export function getItermSessionVar(itermSessionId) {
100
70
  if (!itermInPlay())
101
71
  return null;
102
- try {
103
- const script = withSessionAppleScript(itermSessionId, ` tell aSession\n try\n return (variable named "user.paiName")\n on error\n return ""\n end try\n end tell`, 'return ""');
104
- const result = execSync(`osascript <<'APPLESCRIPT'\n${script}\nAPPLESCRIPT`, {
105
- timeout: 5000,
106
- encoding: "utf8",
107
- shell: "/bin/bash",
108
- }).trim();
109
- return (result && result !== "missing value") ? result : null;
110
- }
111
- catch {
112
- return null;
113
- }
72
+ const result = runItermJxa(withSessionJxa(itermSessionId, ` try { return aSession.variable({ named: "user.paiName" }) || ""; } catch (e) { return ""; }`), 5_000);
73
+ return (result && result !== "missing value") ? result : null;
114
74
  }
115
75
  // ── Name Authority ──
116
76
  // A user-chosen name outranks every generated one. Claude Code's auto-titler
@@ -180,25 +140,16 @@ export function findItermSessionForTermId(termSessionId, itermSessionIdHint) {
180
140
  if (itermSessionIdHint) {
181
141
  return stripItermPrefix(itermSessionIdHint) ?? itermSessionIdHint;
182
142
  }
183
- const script = `
184
- tell application "iTerm2"
185
- set output to ""
186
- repeat with aWindow in windows
187
- repeat with aTab in tabs of aWindow
188
- repeat with aSession in sessions of aTab
189
- set envVal to ""
190
- try
191
- tell aSession to set envVal to (variable named "TERM_SESSION_ID")
192
- end try
193
- if envVal is "${termSessionId.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}" then
194
- return id of aSession
195
- end if
196
- end repeat
197
- end repeat
198
- end repeat
199
- return ""
200
- end tell`;
201
- const result = runAppleScript(script);
143
+ const script = ` var wanted = ${JSON.stringify(termSessionId)};
144
+ var found = "";
145
+ app.windows().forEach(function (w) { w.tabs().forEach(function (t) { t.sessions().forEach(function (s) {
146
+ if (found) return;
147
+ var v = "";
148
+ try { v = s.variable({ named: "TERM_SESSION_ID" }); } catch (e) {}
149
+ if (v === wanted) found = s.id();
150
+ }); }); });
151
+ return found;`;
152
+ const result = runItermJxa(script);
202
153
  return (result && result.length > 0) ? result : null;
203
154
  }
204
155
  // ── Session Listing ──
@@ -284,51 +235,34 @@ function openSessionScript(command) {
284
235
  // A session that is genuinely occupied (Claude or anything else) never
285
236
  // settles to shell-prompt no matter how long this waits, which is exactly
286
237
  // what keeps the guard meaningful after the delay.
238
+ // JXA: `app` is bound to the real iTerm process by runItermJxa.
239
+ const cmd = JSON.stringify(command);
287
240
  const write = command
288
- ? `delay 1.5
289
- if not (is at shell prompt) then
290
- return "busy:" & id
291
- end if
292
- write text "${command.replace(/"/g, '\\"')}"`
241
+ ? `ObjC.import("Foundation");
242
+ $.NSThread.sleepForTimeInterval(1.5);
243
+ if (!session.isAtShellPrompt()) return "busy:" + session.id();
244
+ session.write({ text: ${cmd} });`
293
245
  : "";
294
- // One place to describe "a brand-new window, which comes with a session".
295
- const viaNewWindow = `set targetWindow to (create window with default profile)
296
- if targetWindow is missing value then error "iTerm2 would not create a window" number -1728
297
- tell targetWindow
298
- tell current session
299
- ${write}
300
- return id
301
- end tell
302
- end tell`;
303
- return `tell application "iTerm2"
304
- set targetWindow to missing value
305
- try
306
- set targetWindow to current window
307
- end try
308
- if targetWindow is missing value and (count of windows) > 0 then
309
- set targetWindow to item 1 of windows
310
- end if
311
- if targetWindow is missing value then
312
- ${viaNewWindow}
313
- else
314
- set newTab to missing value
315
- try
316
- tell targetWindow
317
- set newTab to (create tab with default profile)
318
- end tell
319
- end try
320
- if newTab is missing value then
321
- ${viaNewWindow}
322
- else
323
- tell newTab
324
- tell current session
325
- ${write}
326
- return id
327
- end tell
328
- end tell
329
- end if
330
- end if
331
- end tell`;
246
+ return ` var session = null;
247
+ var targetWindow = null;
248
+ try { targetWindow = app.currentWindow(); targetWindow.id(); } catch (e) { targetWindow = null; }
249
+ if (!targetWindow) {
250
+ var all = app.windows();
251
+ if (all.length > 0) targetWindow = all[0];
252
+ }
253
+ var newTab = null;
254
+ if (targetWindow) {
255
+ try { newTab = targetWindow.createTabWithDefaultProfile(); } catch (e) { newTab = null; }
256
+ }
257
+ if (newTab) {
258
+ session = newTab.currentSession();
259
+ } else {
260
+ var created = app.createWindowWithDefaultProfile();
261
+ if (!created) throw new Error("iTerm2 would not create a window");
262
+ session = created.currentSession();
263
+ }
264
+ ${write}
265
+ return session.id();`;
332
266
  }
333
267
  /** A launch write refused because the target turned out not to be a fresh shell. */
334
268
  function rejectIfBusy(result, label) {
@@ -341,7 +275,7 @@ function rejectIfBusy(result, label) {
341
275
  }
342
276
  export function createClaudeSession(command = "claude") {
343
277
  try {
344
- return rejectIfBusy(_internal.runAppleScript(openSessionScript(command)) ?? null, "createClaudeSession");
278
+ return rejectIfBusy(_internal.runItermJxa(openSessionScript(command)) ?? null, "createClaudeSession");
345
279
  }
346
280
  catch (err) {
347
281
  log("Failed to create session:", String(err));
@@ -350,7 +284,7 @@ export function createClaudeSession(command = "claude") {
350
284
  }
351
285
  export function createTerminalTab(command) {
352
286
  try {
353
- return rejectIfBusy(_internal.runAppleScript(openSessionScript(command ?? "")) ?? null, "createTerminalTab");
287
+ return rejectIfBusy(_internal.runItermJxa(openSessionScript(command ?? "")) ?? null, "createTerminalTab");
354
288
  }
355
289
  catch (err) {
356
290
  log("Failed to create terminal tab:", String(err));
@@ -367,7 +301,6 @@ export async function restartSession(itermSessionId, command = "claude") {
367
301
  typeIntoSession(itermSessionId, command);
368
302
  }
369
303
  export function killSession(itermSessionId) {
370
- const script = withSessionAppleScript(itermSessionId, ` close aSession\n return "ok"`);
371
- runAppleScript(script);
304
+ runItermJxa(withSessionJxa(itermSessionId, ` aSession.close();\n return "ok";`));
372
305
  }
373
306
  //# sourceMappingURL=sessions.js.map
@@ -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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"}
@@ -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;AA8nBD,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,CAiSzG;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;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"}
@@ -33,7 +33,7 @@ import { resolveWhisperBin, resolveFfmpegBin } from "../../core/bins.js";
33
33
  import { setMessageSource, activeItermSessionId, setActiveItermSessionId, lastRoutedSessionId, setLastRoutedSessionId, getAibpBridge, } 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
- import { runAppleScript, sendKeystrokeToSession, sendEscapeSequenceToSession, invalidateSnapshotCache } from "../iterm/core.js";
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
39
  import { mqttPublishText, mqttPublishVoice, mqttPublishImage, mqttPublishTyping, mqttPublishScreenshot, mqttPublishSessions, mqttPublishTranscript, mqttPublishStatus as mqttPubStatus, mqttPublishControl, isMqttRunning, getMqttClientCount, getMqttAppClientCount, } from "./mqtt-broker.js";
@@ -332,13 +332,7 @@ function handleSyncCommand(ws, args) {
332
332
  log(`[PAILot] sync: client session ${clientActiveId.slice(0, 8)}... not found in live iTerm — falling back to focused session`);
333
333
  }
334
334
  // No client preference (or client's session is gone) — ask iTerm2 which session is focused
335
- const focusedId = runAppleScript(`tell application "iTerm2"
336
- try
337
- return id of current session of current tab of current window
338
- on error
339
- return ""
340
- end try
341
- end tell`)?.trim() ?? "";
335
+ const focusedId = runItermJxa(` try { return app.currentWindow().currentTab().currentSession().id(); } catch (e) { return ""; }`)?.trim() ?? "";
342
336
  if (focusedId) {
343
337
  // Find this session in the hybrid manager and activate it.
344
338
  // If it wasn't registered by the Claude-related filter, register it now since the
@@ -462,19 +456,7 @@ function handleSwitchCommand(ws, args) {
462
456
  // For visual sessions, also focus the iTerm2 tab
463
457
  if (session.kind === "visual") {
464
458
  setActiveItermSessionId(session.backendSessionId);
465
- const escapedId = session.backendSessionId.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
466
- runAppleScript(`tell application "iTerm2"
467
- repeat with aWindow in windows
468
- repeat with aTab in tabs of aWindow
469
- repeat with aSession in sessions of aTab
470
- if id of aSession is "${escapedId}" then
471
- select aSession
472
- return "focused"
473
- end if
474
- end repeat
475
- end repeat
476
- end repeat
477
- end tell`);
459
+ runItermJxa(withSessionJxa(session.backendSessionId, ` aSession.select();\n return "focused";`));
478
460
  }
479
461
  if (newName) {
480
462
  // Explicit rename: persist, or the daemon's chosen-name re-assert would
@@ -733,32 +715,10 @@ async function handleNavCommand(ws, args) {
733
715
  Escape: () => sendKeystrokeToSession(targetSession, 27),
734
716
  "ctrl-c": () => {
735
717
  // Send Ctrl+C (ETX, ASCII 3)
736
- runAppleScript(`tell application "iTerm2"
737
- repeat with w in windows
738
- repeat with t in tabs of w
739
- repeat with s in sessions of t
740
- if id of s is "${targetSession}" then
741
- tell s to write text (ASCII character 3)
742
- return
743
- end if
744
- end repeat
745
- end repeat
746
- end repeat
747
- end tell`);
718
+ runItermJxa(withSessionJxa(targetSession, ` aSession.write({ text: String.fromCharCode(3), newline: false });\n return "ok";`));
748
719
  },
749
720
  "ctrl+c": () => {
750
- runAppleScript(`tell application "iTerm2"
751
- repeat with w in windows
752
- repeat with t in tabs of w
753
- repeat with s in sessions of t
754
- if id of s is "${targetSession}" then
755
- tell s to write text (ASCII character 3)
756
- return
757
- end if
758
- end repeat
759
- end repeat
760
- end repeat
761
- end tell`);
721
+ runItermJxa(withSessionJxa(targetSession, ` aSession.write({ text: String.fromCharCode(3), newline: false });\n return "ok";`));
762
722
  },
763
723
  };
764
724
  const action = keyMap[key];
@@ -990,13 +950,7 @@ export function startWsGateway(onMessage) {
990
950
  }
991
951
  }
992
952
  // Also set the active session based on current iTerm focus
993
- const focusedId = runAppleScript(`tell application "iTerm2"
994
- try
995
- return id of current session of current tab of current window
996
- on error
997
- return ""
998
- end try
999
- end tell`)?.trim() ?? "";
953
+ const focusedId = runItermJxa(` try { return app.currentWindow().currentTab().currentSession().id(); } catch (e) { return ""; }`)?.trim() ?? "";
1000
954
  if (focusedId) {
1001
955
  const sessions = hybridManager.listSessions();
1002
956
  const idx = sessions.findIndex(s => s.backendSessionId === focusedId);