aibroker 0.60.2 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +21 -33
  2. package/dist/adapters/iterm/core.d.ts +4 -0
  3. package/dist/adapters/iterm/core.d.ts.map +1 -1
  4. package/dist/adapters/iterm/core.js +16 -0
  5. package/dist/adapters/iterm/core.js.map +1 -1
  6. package/dist/adapters/iterm/dictation.d.ts +1 -1
  7. package/dist/adapters/iterm/dictation.d.ts.map +1 -1
  8. package/dist/adapters/iterm/dictation.js +5 -6
  9. package/dist/adapters/iterm/dictation.js.map +1 -1
  10. package/dist/adapters/iterm/sessions.d.ts.map +1 -1
  11. package/dist/adapters/iterm/sessions.js +11 -0
  12. package/dist/adapters/iterm/sessions.js.map +1 -1
  13. package/dist/adapters/kokoro/media.d.ts +1 -1
  14. package/dist/adapters/kokoro/media.d.ts.map +1 -1
  15. package/dist/adapters/kokoro/media.js +4 -3
  16. package/dist/adapters/kokoro/media.js.map +1 -1
  17. package/dist/adapters/kokoro/tts.d.ts +1 -1
  18. package/dist/adapters/kokoro/tts.d.ts.map +1 -1
  19. package/dist/adapters/kokoro/tts.js +15 -3
  20. package/dist/adapters/kokoro/tts.js.map +1 -1
  21. package/dist/adapters/pailot/gateway.d.ts.map +1 -1
  22. package/dist/adapters/pailot/gateway.js +7 -5
  23. package/dist/adapters/pailot/gateway.js.map +1 -1
  24. package/dist/backend/api.d.ts.map +1 -1
  25. package/dist/backend/api.js +2 -1
  26. package/dist/backend/api.js.map +1 -1
  27. package/dist/core/bins.d.ts +25 -0
  28. package/dist/core/bins.d.ts.map +1 -0
  29. package/dist/core/bins.js +59 -0
  30. package/dist/core/bins.js.map +1 -0
  31. package/dist/core/env-bootstrap.js +2 -7
  32. package/dist/core/env-bootstrap.js.map +1 -1
  33. package/dist/core/log.d.ts +2 -0
  34. package/dist/core/log.d.ts.map +1 -1
  35. package/dist/core/log.js +7 -0
  36. package/dist/core/log.js.map +1 -1
  37. package/dist/core/private-file.d.ts +10 -0
  38. package/dist/core/private-file.d.ts.map +1 -0
  39. package/dist/core/private-file.js +30 -0
  40. package/dist/core/private-file.js.map +1 -0
  41. package/dist/core/service-env.d.ts +10 -0
  42. package/dist/core/service-env.d.ts.map +1 -0
  43. package/dist/core/service-env.js +18 -0
  44. package/dist/core/service-env.js.map +1 -0
  45. package/dist/core/session-discovery.d.ts +1 -1
  46. package/dist/core/session-discovery.d.ts.map +1 -1
  47. package/dist/core/session-discovery.js +1 -1
  48. package/dist/core/session-discovery.js.map +1 -1
  49. package/dist/daemon/audit.d.ts.map +1 -1
  50. package/dist/daemon/audit.js +4 -3
  51. package/dist/daemon/audit.js.map +1 -1
  52. package/dist/daemon/cli.d.ts +3 -1
  53. package/dist/daemon/cli.d.ts.map +1 -1
  54. package/dist/daemon/cli.js +43 -48
  55. package/dist/daemon/cli.js.map +1 -1
  56. package/dist/daemon/core-handlers.d.ts.map +1 -1
  57. package/dist/daemon/core-handlers.js +6 -2
  58. package/dist/daemon/core-handlers.js.map +1 -1
  59. package/dist/daemon/daemon-control.d.ts +51 -0
  60. package/dist/daemon/daemon-control.d.ts.map +1 -0
  61. package/dist/daemon/daemon-control.js +182 -0
  62. package/dist/daemon/daemon-control.js.map +1 -0
  63. package/dist/daemon/doctor.d.ts +21 -0
  64. package/dist/daemon/doctor.d.ts.map +1 -0
  65. package/dist/daemon/doctor.js +134 -0
  66. package/dist/daemon/doctor.js.map +1 -0
  67. package/dist/daemon/funnel-watchdog.d.ts.map +1 -1
  68. package/dist/daemon/funnel-watchdog.js +8 -8
  69. package/dist/daemon/funnel-watchdog.js.map +1 -1
  70. package/dist/daemon/index.d.ts.map +1 -1
  71. package/dist/daemon/index.js +24 -4
  72. package/dist/daemon/index.js.map +1 -1
  73. package/dist/daemon/launch-cli.d.ts +67 -1
  74. package/dist/daemon/launch-cli.d.ts.map +1 -1
  75. package/dist/daemon/launch-cli.js +138 -35
  76. package/dist/daemon/launch-cli.js.map +1 -1
  77. package/dist/daemon/manage.d.ts.map +1 -1
  78. package/dist/daemon/manage.js +3 -15
  79. package/dist/daemon/manage.js.map +1 -1
  80. package/dist/daemon/screenshot.d.ts.map +1 -1
  81. package/dist/daemon/screenshot.js +43 -0
  82. package/dist/daemon/screenshot.js.map +1 -1
  83. package/dist/daemon/send-cli.d.ts +9 -0
  84. package/dist/daemon/send-cli.d.ts.map +1 -0
  85. package/dist/daemon/send-cli.js +55 -0
  86. package/dist/daemon/send-cli.js.map +1 -0
  87. package/dist/daemon/session-content.d.ts +2 -2
  88. package/dist/daemon/session-content.d.ts.map +1 -1
  89. package/dist/daemon/session-content.js +23 -3
  90. package/dist/daemon/session-content.js.map +1 -1
  91. package/dist/daemon/sessions.d.ts +29 -0
  92. package/dist/daemon/sessions.d.ts.map +1 -1
  93. package/dist/daemon/sessions.js +160 -63
  94. package/dist/daemon/sessions.js.map +1 -1
  95. package/dist/daemon/setup.d.ts +86 -0
  96. package/dist/daemon/setup.d.ts.map +1 -0
  97. package/dist/daemon/setup.js +470 -0
  98. package/dist/daemon/setup.js.map +1 -0
  99. package/dist/daemon/status-format.d.ts +4 -0
  100. package/dist/daemon/status-format.d.ts.map +1 -0
  101. package/dist/daemon/status-format.js +22 -0
  102. package/dist/daemon/status-format.js.map +1 -0
  103. package/dist/index.d.ts +1 -0
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +1 -0
  106. package/dist/index.js.map +1 -1
  107. package/dist/ipc/validate.d.ts +2 -0
  108. package/dist/ipc/validate.d.ts.map +1 -1
  109. package/dist/ipc/validate.js +2 -1
  110. package/dist/ipc/validate.js.map +1 -1
  111. package/dist/mcp/index.js +3 -0
  112. package/dist/mcp/index.js.map +1 -1
  113. package/dist/transport/index.d.ts +2 -1
  114. package/dist/transport/index.d.ts.map +1 -1
  115. package/dist/transport/index.js +6 -0
  116. package/dist/transport/index.js.map +1 -1
  117. package/dist/transport/iterm.d.ts +4 -1
  118. package/dist/transport/iterm.d.ts.map +1 -1
  119. package/dist/transport/iterm.js +26 -0
  120. package/dist/transport/iterm.js.map +1 -1
  121. package/dist/transport/policy.d.ts +24 -0
  122. package/dist/transport/policy.d.ts.map +1 -0
  123. package/dist/transport/policy.js +41 -0
  124. package/dist/transport/policy.js.map +1 -0
  125. package/dist/transport/screen.d.ts +11 -0
  126. package/dist/transport/screen.d.ts.map +1 -1
  127. package/dist/transport/screen.js +19 -0
  128. package/dist/transport/screen.js.map +1 -1
  129. package/dist/transport/session-transport.d.ts +27 -0
  130. package/dist/transport/session-transport.d.ts.map +1 -1
  131. package/dist/transport/session-transport.js +6 -1
  132. package/dist/transport/session-transport.js.map +1 -1
  133. package/dist/transport/sync-facade.d.ts +19 -0
  134. package/dist/transport/sync-facade.d.ts.map +1 -1
  135. package/dist/transport/sync-facade.js +38 -8
  136. package/dist/transport/sync-facade.js.map +1 -1
  137. package/dist/transport/tmux.d.ts +15 -1
  138. package/dist/transport/tmux.d.ts.map +1 -1
  139. package/dist/transport/tmux.js +52 -4
  140. package/dist/transport/tmux.js.map +1 -1
  141. package/package.json +4 -2
  142. package/templates/systemd/aibroker.service +22 -0
@@ -0,0 +1,134 @@
1
+ /**
2
+ * daemon/doctor.ts — `aibroker doctor`: one line per check, ok / warn / FAIL,
3
+ * every non-ok line names the fix. Exit non-zero only on FAIL (a required
4
+ * check); warn marks something optional or not yet started.
5
+ */
6
+ import { existsSync, statSync } from "node:fs";
7
+ import { join } from "node:path";
8
+ import { transportPolicy } from "../transport/policy.js";
9
+ import { WatcherClient } from "../ipc/client.js";
10
+ import { DAEMON_SOCKET_PATH } from "./index.js";
11
+ import { HOOK_PLAN, PLIST_LABEL, UNIT_NAME, daemonLogPath, envFilePath, plistPath, readMcpEntry, realSys, settingsPath, unitPath, } from "./setup.js";
12
+ import { readFileSync } from "node:fs";
13
+ export const realProbes = {
14
+ ping: async () => {
15
+ try {
16
+ await new WatcherClient(DAEMON_SOCKET_PATH).call_raw("ping", {});
17
+ return true;
18
+ }
19
+ catch {
20
+ return false;
21
+ }
22
+ },
23
+ };
24
+ const mode = (p) => statSync(p).mode & 0o777;
25
+ export async function diagnose(s, probes) {
26
+ const out = [];
27
+ const add = (level, name, detail, fix) => out.push({ level, name, detail, fix });
28
+ const major = Number(s.nodeVersion.replace(/^v/, "").split(".")[0]);
29
+ if (major >= 22)
30
+ add("ok", "node", s.nodeVersion);
31
+ else
32
+ add("FAIL", "node", `${s.nodeVersion} (need >=22)`, "install Node.js 22 or newer");
33
+ const policy = transportPolicy(s.env, s.platform);
34
+ add("ok", "transport", `${s.platform}: ${[policy.allowTmux && "tmux", policy.allowIterm && "iterm"].filter(Boolean).join("+")}`);
35
+ const tmux = s.which("tmux");
36
+ if (!tmux) {
37
+ add(policy.allowTmux ? "FAIL" : "warn", "tmux", "not installed", "install it: apt install tmux | dnf install tmux | pacman -S tmux | brew install tmux");
38
+ }
39
+ else {
40
+ const v = s.run(tmux, ["-V"]);
41
+ add("ok", "tmux", v.out.trim() || tmux);
42
+ if (s.run(tmux, ["list-sessions"]).ok)
43
+ add("ok", "tmux server", `reachable as ${s.user}`);
44
+ else
45
+ add("warn", "tmux server", `no server reachable as ${s.user}`, "start one as this user: tmux new -s work");
46
+ }
47
+ if (s.which("ffmpeg"))
48
+ add("ok", "ffmpeg", "found");
49
+ else
50
+ add("warn", "ffmpeg", "missing (voice conversion off)", "install it: apt install ffmpeg | dnf install ffmpeg | pacman -S ffmpeg | brew install ffmpeg");
51
+ for (const [bin, what] of [["whisper", "speech to text"], ["sox", "local dictation"]]) {
52
+ add(s.which(bin) ? "ok" : "warn", bin, s.which(bin) ? "found" : `missing (optional, ${what})`);
53
+ }
54
+ const player = ["afplay", "paplay", "aplay", "ffplay"].find((p) => s.which(p));
55
+ add(player ? "ok" : "warn", "audio player", player ?? "none of afplay/paplay/aplay/ffplay (optional)");
56
+ serviceChecks(s, add);
57
+ if (await probes.ping())
58
+ add("ok", "daemon socket", `answers ping on ${DAEMON_SOCKET_PATH}`);
59
+ else
60
+ add("FAIL", "daemon socket", `no answer on ${DAEMON_SOCKET_PATH}`, "aibroker setup, or aibroker start, then check the service log");
61
+ const mcp = readMcpEntry(s);
62
+ if (!mcp.found)
63
+ add("FAIL", "mcp entry", "no aibroker server in ~/.claude.json", "aibroker setup");
64
+ else if (!mcp.target || !existsSync(mcp.target))
65
+ add("FAIL", "mcp entry", `points at a missing file (${mcp.target ?? "no .js argument"})`, "aibroker setup");
66
+ else
67
+ add("ok", "mcp entry", mcp.target);
68
+ hookChecks(s, add);
69
+ const env = envFilePath(s);
70
+ if (!existsSync(env))
71
+ add("warn", "env file", `${env} missing`, "aibroker setup");
72
+ else if (mode(env) & 0o077)
73
+ add("FAIL", "env file", `mode ${mode(env).toString(8)} (holds secrets)`, `chmod 600 ${env}`);
74
+ else
75
+ add("ok", "env file", "0600");
76
+ for (const f of [join(s.home, ".aibroker", "audit.jsonl"), daemonLogPath(s)]) {
77
+ if (!existsSync(f))
78
+ continue;
79
+ if (mode(f) & 0o077)
80
+ add("FAIL", "file mode", `${f} is ${mode(f).toString(8)}`, `chmod 600 ${f}`);
81
+ else
82
+ add("ok", "file mode", `${f} 0600`);
83
+ }
84
+ return out;
85
+ }
86
+ function serviceChecks(s, add) {
87
+ if (s.platform === "linux") {
88
+ if (!existsSync(unitPath(s)))
89
+ return add("FAIL", "service", `${unitPath(s)} missing`, "aibroker setup");
90
+ if (!s.which("systemctl"))
91
+ return add("warn", "service", "unit present but systemctl not found", "run the daemon under your own supervisor");
92
+ const active = s.run("systemctl", ["--user", "is-active", UNIT_NAME]);
93
+ if (active.out.trim() === "active")
94
+ add("ok", "service", `${UNIT_NAME} active`);
95
+ else
96
+ add("FAIL", "service", `${UNIT_NAME} ${active.out.trim() || "not active"}`, `systemctl --user enable --now ${UNIT_NAME}; journalctl --user -u aibroker -n 50`);
97
+ if (s.which("loginctl")) {
98
+ if (/Linger=yes/.test(s.run("loginctl", ["show-user", s.user, "-p", "Linger"]).out))
99
+ add("ok", "linger", "on");
100
+ else
101
+ add("warn", "linger", "off: the service stops at logout", `sudo loginctl enable-linger ${s.user}`);
102
+ }
103
+ }
104
+ else if (s.platform === "darwin") {
105
+ if (!existsSync(plistPath(s)))
106
+ return add("FAIL", "service", `${plistPath(s)} missing`, "aibroker setup");
107
+ if (s.run("launchctl", ["print", `gui/${s.uid}/${PLIST_LABEL}`]).ok)
108
+ add("ok", "service", `${PLIST_LABEL} loaded`);
109
+ else
110
+ add("FAIL", "service", `${PLIST_LABEL} not loaded`, `launchctl bootstrap gui/${s.uid} ${plistPath(s)}`);
111
+ }
112
+ }
113
+ function hookChecks(s, add) {
114
+ let settings = {};
115
+ try {
116
+ settings = JSON.parse(readFileSync(settingsPath(s), "utf8"));
117
+ }
118
+ catch { /* none or unreadable: every hook reads as missing */ }
119
+ const missing = HOOK_PLAN.filter((h) => !(settings.hooks?.[h.event] ?? [])
120
+ .some((g) => (g.hooks ?? []).some((x) => (x.command ?? "").includes(`/hooks/${h.file}`))));
121
+ if (!missing.length)
122
+ add("ok", "hooks", `${HOOK_PLAN.length} wired in ${settingsPath(s)}`);
123
+ else
124
+ add("FAIL", "hooks", `missing: ${missing.map((h) => h.file).join(", ")}`, "aibroker setup");
125
+ }
126
+ export async function runDoctor(_argv, s = realSys(), probes = realProbes, say = console.log) {
127
+ const checks = await diagnose(s, probes);
128
+ for (const c of checks)
129
+ say(` ${c.level.padEnd(4)} ${c.name.padEnd(13)} ${c.detail}${c.fix && c.level !== "ok" ? `\n fix: ${c.fix}` : ""}`);
130
+ const failed = checks.filter((c) => c.level === "FAIL").length;
131
+ say(failed ? `${failed} required check(s) failed` : "all required checks pass");
132
+ process.exitCode = failed ? 1 : 0;
133
+ }
134
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/daemon/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"funnel-watchdog.d.ts","sourceRoot":"","sources":["../../src/daemon/funnel-watchdog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAoDH,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,eAAe,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,YAAY,IAAI,aAAa,CAE5C;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAIxD;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,aAAkB,GACvB,QAAQ,CAyCV;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpD;AAED,MAAM,WAAW,SAAS;IAAG,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAAE;AAM5E;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CASnE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,qBAAoB,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBzF;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,GAAG,qBAAoB,GAAG,SAAS,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAY9F;AAED,+EAA+E;AAC/E,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUxE;AAED,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAuBvF;AAED,6CAA6C;AAC7C,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAI3E;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,EACnD,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAwB,EAChC,QAAQ,SAAiB,EACzB,KAAK,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAiD,GACnF,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,GAAG,qBAAoB,GAAG,OAAO,CAU1D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,GAAE;IACxC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,IAAI,CAmIlB"}
1
+ {"version":3,"file":"funnel-watchdog.d.ts","sourceRoot":"","sources":["../../src/daemon/funnel-watchdog.ts"],"names":[],"mappings":"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"}
@@ -40,12 +40,13 @@ import { existsSync } from "node:fs";
40
40
  import { Resolver } from "node:dns/promises";
41
41
  import https from "node:https";
42
42
  import { log } from "../core/log.js";
43
+ import { resolveBin } from "../core/bins.js";
43
44
  import { audit } from "./audit.js";
44
45
  /** Public resolvers, tried in order. The local one cannot be trusted here. */
45
46
  const PUBLIC_RESOLVERS = ["1.1.1.1", "8.8.8.8"];
46
47
  /**
47
- * Where `tailscale` might live, best first. The daemon's PATH under launchd is
48
- * minimal, so these are absolute.
48
+ * The `tailscale` CLI is found with resolveBin (Homebrew, /usr/local/bin, PATH —
49
+ * the launchd PATH is minimal), and the app bundle is the last resort.
49
50
  *
50
51
  * ORDER MATTERS, and not for the reason it usually does. The macOS app ships a
51
52
  * single binary that behaves as the GUI or as the CLI, and invoking it inside
@@ -55,11 +56,7 @@ const PUBLIC_RESOLVERS = ["1.1.1.1", "8.8.8.8"];
55
56
  * Prefer it; the bundle stays as a last resort for a machine that has no
56
57
  * wrapper.
57
58
  */
58
- const TAILSCALE_CANDIDATES = [
59
- "/usr/local/bin/tailscale",
60
- "/opt/homebrew/bin/tailscale",
61
- "/Applications/Tailscale.app/Contents/MacOS/Tailscale",
62
- ];
59
+ const TAILSCALE_APP_BUNDLE = "/Applications/Tailscale.app/Contents/MacOS/Tailscale";
63
60
  const HEALTHY_INTERVAL_MS = 5 * 60_000;
64
61
  /** Once a probe fails, look again soon — to confirm or clear it quickly. */
65
62
  const SUSPECT_INTERVAL_MS = 30_000;
@@ -143,7 +140,10 @@ export function decide(state, verdict, now, opts = {}) {
143
140
  }
144
141
  /** The `tailscale` binary, or undefined when it is not installed here. */
145
142
  export function tailscaleBinary() {
146
- return TAILSCALE_CANDIDATES.find((p) => existsSync(p));
143
+ const resolved = resolveBin("tailscale");
144
+ if (resolved !== "tailscale")
145
+ return resolved;
146
+ return existsSync(TAILSCALE_APP_BUNDLE) ? TAILSCALE_APP_BUNDLE : undefined;
147
147
  }
148
148
  function firstLine(s) {
149
149
  return (s ?? "").trim().split("\n")[0].slice(0, 160) || "(no output)";
@@ -1 +1 @@
1
- {"version":3,"file":"funnel-watchdog.js","sourceRoot":"","sources":["../../src/daemon/funnel-watchdog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"funnel-watchdog.js","sourceRoot":"","sources":["../../src/daemon/funnel-watchdog.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkDH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAyBvD,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkjBhB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoDH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAyBvD,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+jBhB"}
@@ -7,6 +7,8 @@
7
7
  import { join, dirname } from "node:path";
8
8
  import { homedir, tmpdir } from "node:os";
9
9
  import { unlinkSync, readFileSync, existsSync, writeFileSync } from "node:fs";
10
+ import { writePrivate } from "../core/private-file.js";
11
+ import { terminalPluginId } from "../transport/policy.js";
10
12
  import { randomUUID } from "node:crypto";
11
13
  import { setLogPrefix, log } from "../core/log.js";
12
14
  import { extForMime } from "../core/mime.js";
@@ -35,7 +37,7 @@ import { AibpBridge } from "../aibp/bridge.js";
35
37
  import { findClaudeSession } from "../adapters/iterm/core.js";
36
38
  import { reassertPersistentTitles } from "../adapters/iterm/sessions.js";
37
39
  import { ITERM_UUID_KEY, pruneSessionNames, setHolderLivenessProbe } from "../core/persistence.js";
38
- import { typeIntoSession, isClaudeRunningInSession, snapshotAllSessions } from "../transport/sync-facade.js";
40
+ import { typeIntoSession, isClaudeRunningInSession, snapshotAllSessions, logTransportPolicy } from "../transport/sync-facade.js";
39
41
  import { activeItermSessionId, setActiveItermSessionId, setLastRoutedSessionId } from "../core/state.js";
40
42
  import { pruneStaleContexts } from "./image-context.js";
41
43
  const __filename = fileURLToPath(import.meta.url);
@@ -85,6 +87,7 @@ export async function startDaemon(options) {
85
87
  const loaded = loadEnvFile(appDir);
86
88
  if (loaded > 0)
87
89
  log(`Loaded ${loaded} env var(s) from ${join(appDir, "env")}`);
90
+ logTransportPolicy();
88
91
  // Initialize session management
89
92
  const apiBackend = new APIBackend({
90
93
  type: "api",
@@ -207,8 +210,9 @@ export async function startDaemon(options) {
207
210
  void hubCommandHandler(text, aibpMsg.ts, ctx);
208
211
  }
209
212
  });
210
- // Register iTerm2 as a terminal plugin — makes it addressable via AIBP.
211
- // Messages sent to terminal:iterm are typed into the active iTerm session.
213
+ // Register the terminal host as a plugin — makes it addressable via AIBP.
214
+ // The id follows the transport (terminal:iterm, or terminal:tmux on hosts without iTerm);
215
+ // messages sent to it are typed into the active session.
212
216
  // Keyboard control commands are registered as terminal-owned AIBP commands.
213
217
  const terminalCommands = [
214
218
  { name: "cc", description: "Send Ctrl+C to active session", args: "" },
@@ -221,7 +225,7 @@ export async function startDaemon(options) {
221
225
  { name: "right", description: "Send Right arrow to active session", args: "" },
222
226
  { name: "pick", description: "Select menu option N", args: "<N> [text]" },
223
227
  ];
224
- aibpBridge.registerTerminal("iterm", (aibpMsg) => {
228
+ aibpBridge.registerTerminal(terminalPluginId(), (aibpMsg) => {
225
229
  if (aibpMsg.type === "TEXT") {
226
230
  const content = aibpMsg.payload.content;
227
231
  // Determine target session from AIBP message source address
@@ -585,9 +589,16 @@ export async function startDaemon(options) {
585
589
  console.log(` Socket: ${socketPath}`);
586
590
  console.log(` AppDir: ${appDir}`);
587
591
  console.log(` AIBP: ${aibpBridge.listPlugins().join(", ") || "(no plugins yet)"}`);
592
+ // pidfile: the last-resort way for `aibroker stop` to find this process (no lsof)
593
+ const pidFile = join(appDir, "daemon.pid");
594
+ writePrivate(pidFile, `${process.pid}\n`);
588
595
  // Graceful shutdown — ensure socket cleanup even on abrupt exit
589
596
  const shutdown = (signal) => {
590
597
  console.log(`\n[aibroker] ${signal} received. Stopping.`);
598
+ try {
599
+ unlinkSync(pidFile);
600
+ }
601
+ catch { /* already gone */ }
591
602
  adapterRegistry.stopHealthPolling();
592
603
  flushQueue();
593
604
  stopMqttBroker();
@@ -601,6 +612,11 @@ export async function startDaemon(options) {
601
612
  };
602
613
  process.on("SIGINT", () => shutdown("SIGINT"));
603
614
  process.on("SIGTERM", () => shutdown("SIGTERM"));
615
+ // `aibroker stop` without a service: answer first, then stop.
616
+ ipcServer.on("shutdown", async () => {
617
+ setImmediate(() => shutdown("IPC shutdown"));
618
+ return { ok: true, result: { stopping: true } };
619
+ });
604
620
  // Clean up on uncaught exceptions too
605
621
  process.on("uncaughtException", (err) => {
606
622
  console.error(`[aibroker] Uncaught exception:`, err);
@@ -608,6 +624,10 @@ export async function startDaemon(options) {
608
624
  unlinkSync(socketPath);
609
625
  }
610
626
  catch { /* ignore */ }
627
+ try {
628
+ unlinkSync(pidFile);
629
+ }
630
+ catch { /* ignore */ }
611
631
  process.exit(1);
612
632
  });
613
633
  await new Promise(() => { });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,74 @@
7
7
  * hold the tool — that is the whole problem — so the capability has to be
8
8
  * reachable from a script and from a bare prompt, which means a CLI verb.
9
9
  *
10
- * It prints the iTerm session id because the caller's next move is almost
10
+ * A directory opens a plain Claude Code session there through the active
11
+ * transport (a tmux window on Linux, an iTerm tab on macOS); a bare PAI project
12
+ * name keeps going through `pai_launch`. The transport call runs in this
13
+ * process, not the daemon: the caller's $TMUX says which tmux session is "here",
14
+ * and it works while the daemon is down, which is when restoring matters.
15
+ *
16
+ * It prints the session id because the caller's next move is almost
11
17
  * always to manage or arm the thing it just created, and that needs the id.
12
18
  */
19
+ import type { SessionTransport } from "../transport/index.js";
20
+ export interface LiveRow {
21
+ sessionId: string;
22
+ paiName?: string | null;
23
+ name?: string;
24
+ kind?: string;
25
+ cwd?: string | null;
26
+ transport?: string;
27
+ }
28
+ export interface LaunchDeps {
29
+ transport: () => SessionTransport;
30
+ /** Live rows from the daemon; an unreachable daemon is an empty list, not an error. */
31
+ sessions: () => Promise<LiveRow[]>;
32
+ paiLaunch: (name: string) => Promise<{
33
+ itermSessionId?: string;
34
+ name?: string;
35
+ }>;
36
+ isDir: (path: string) => boolean;
37
+ paiPresent: () => boolean;
38
+ cwd: string;
39
+ home: string;
40
+ out: (line: string) => void;
41
+ }
42
+ export type LaunchTarget = {
43
+ kind: "dir";
44
+ dir: string;
45
+ name: string;
46
+ } | {
47
+ kind: "pai";
48
+ name: string;
49
+ };
50
+ /** `[--name N] <target>` in any order. */
51
+ export declare function parseLaunchArgs(args: string[]): {
52
+ target?: string;
53
+ name?: string;
54
+ };
55
+ /**
56
+ * Directory or PAI project? A path-like argument (`/x`, `./x`, `~/x`, `a/b`)
57
+ * is always a directory. A bare word stays a PAI project wherever PAI exists —
58
+ * on macOS `launch whazaa` must keep meaning the project even when a `whazaa`
59
+ * directory sits in the working directory — and is a directory otherwise.
60
+ */
61
+ export declare function resolveLaunchTarget(target: string, nameOverride: string | undefined, deps: Pick<LaunchDeps, "isDir" | "paiPresent" | "cwd" | "home">): LaunchTarget;
62
+ /**
63
+ * Attach before spawning. Launching is not the point — HAVING a session for
64
+ * this project is, and a second pane in the same repository is worse than no
65
+ * pane at all: two agents claiming the same issues, committing over each
66
+ * other, neither aware of the other. The recovery case cannot tell in advance
67
+ * whether the machine restarted or the caller simply asked twice, so the only
68
+ * safe shape is idempotent.
69
+ *
70
+ * Match on paiName, which is the project identity the daemon assigns, rather
71
+ * than on the terminal's title, which carries spinner glyphs and process
72
+ * names and would match a bare shell sitting in the same directory. A launched
73
+ * directory session has no paiName yet, so it is matched by its name or its
74
+ * directory — but only when it is a live Claude, never a shell.
75
+ */
76
+ export declare function findRunning(rows: LiveRow[], name: string, dir?: string): LiveRow | undefined;
77
+ /** Returns the process exit code. */
78
+ export declare function launch(args: string[], deps: LaunchDeps): Promise<number>;
13
79
  export declare function runLaunch(args: string[]): Promise<void>;
14
80
  //# sourceMappingURL=launch-cli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"launch-cli.d.ts","sourceRoot":"","sources":["../../src/daemon/launch-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD7D"}
1
+ {"version":3,"file":"launch-cli.d.ts","sourceRoot":"","sources":["../../src/daemon/launch-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG5E,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,gBAAgB,CAAC;IAClC,uFAAuF;IACvF,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACjC,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CASlF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC,GAC9D,YAAY,CAcd;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAQ5F;AAmCD,qCAAqC;AACrC,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAuD9E;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D"}