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.
- package/README.md +21 -33
- package/dist/adapters/iterm/core.d.ts +4 -0
- package/dist/adapters/iterm/core.d.ts.map +1 -1
- package/dist/adapters/iterm/core.js +16 -0
- package/dist/adapters/iterm/core.js.map +1 -1
- package/dist/adapters/iterm/dictation.d.ts +1 -1
- package/dist/adapters/iterm/dictation.d.ts.map +1 -1
- package/dist/adapters/iterm/dictation.js +5 -6
- package/dist/adapters/iterm/dictation.js.map +1 -1
- package/dist/adapters/iterm/sessions.d.ts.map +1 -1
- package/dist/adapters/iterm/sessions.js +11 -0
- package/dist/adapters/iterm/sessions.js.map +1 -1
- package/dist/adapters/kokoro/media.d.ts +1 -1
- package/dist/adapters/kokoro/media.d.ts.map +1 -1
- package/dist/adapters/kokoro/media.js +4 -3
- package/dist/adapters/kokoro/media.js.map +1 -1
- package/dist/adapters/kokoro/tts.d.ts +1 -1
- package/dist/adapters/kokoro/tts.d.ts.map +1 -1
- package/dist/adapters/kokoro/tts.js +15 -3
- package/dist/adapters/kokoro/tts.js.map +1 -1
- package/dist/adapters/pailot/gateway.d.ts.map +1 -1
- package/dist/adapters/pailot/gateway.js +7 -5
- package/dist/adapters/pailot/gateway.js.map +1 -1
- package/dist/backend/api.d.ts.map +1 -1
- package/dist/backend/api.js +2 -1
- package/dist/backend/api.js.map +1 -1
- package/dist/core/bins.d.ts +25 -0
- package/dist/core/bins.d.ts.map +1 -0
- package/dist/core/bins.js +59 -0
- package/dist/core/bins.js.map +1 -0
- package/dist/core/env-bootstrap.js +2 -7
- package/dist/core/env-bootstrap.js.map +1 -1
- package/dist/core/log.d.ts +2 -0
- package/dist/core/log.d.ts.map +1 -1
- package/dist/core/log.js +7 -0
- package/dist/core/log.js.map +1 -1
- package/dist/core/private-file.d.ts +10 -0
- package/dist/core/private-file.d.ts.map +1 -0
- package/dist/core/private-file.js +30 -0
- package/dist/core/private-file.js.map +1 -0
- package/dist/core/service-env.d.ts +10 -0
- package/dist/core/service-env.d.ts.map +1 -0
- package/dist/core/service-env.js +18 -0
- package/dist/core/service-env.js.map +1 -0
- package/dist/core/session-discovery.d.ts +1 -1
- package/dist/core/session-discovery.d.ts.map +1 -1
- package/dist/core/session-discovery.js +1 -1
- package/dist/core/session-discovery.js.map +1 -1
- package/dist/daemon/audit.d.ts.map +1 -1
- package/dist/daemon/audit.js +4 -3
- package/dist/daemon/audit.js.map +1 -1
- package/dist/daemon/cli.d.ts +3 -1
- package/dist/daemon/cli.d.ts.map +1 -1
- package/dist/daemon/cli.js +43 -48
- package/dist/daemon/cli.js.map +1 -1
- package/dist/daemon/core-handlers.d.ts.map +1 -1
- package/dist/daemon/core-handlers.js +6 -2
- package/dist/daemon/core-handlers.js.map +1 -1
- package/dist/daemon/daemon-control.d.ts +51 -0
- package/dist/daemon/daemon-control.d.ts.map +1 -0
- package/dist/daemon/daemon-control.js +182 -0
- package/dist/daemon/daemon-control.js.map +1 -0
- package/dist/daemon/doctor.d.ts +21 -0
- package/dist/daemon/doctor.d.ts.map +1 -0
- package/dist/daemon/doctor.js +134 -0
- package/dist/daemon/doctor.js.map +1 -0
- package/dist/daemon/funnel-watchdog.d.ts.map +1 -1
- package/dist/daemon/funnel-watchdog.js +8 -8
- package/dist/daemon/funnel-watchdog.js.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +24 -4
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/launch-cli.d.ts +67 -1
- package/dist/daemon/launch-cli.d.ts.map +1 -1
- package/dist/daemon/launch-cli.js +138 -35
- package/dist/daemon/launch-cli.js.map +1 -1
- package/dist/daemon/manage.d.ts.map +1 -1
- package/dist/daemon/manage.js +3 -15
- package/dist/daemon/manage.js.map +1 -1
- package/dist/daemon/screenshot.d.ts.map +1 -1
- package/dist/daemon/screenshot.js +43 -0
- package/dist/daemon/screenshot.js.map +1 -1
- package/dist/daemon/send-cli.d.ts +9 -0
- package/dist/daemon/send-cli.d.ts.map +1 -0
- package/dist/daemon/send-cli.js +55 -0
- package/dist/daemon/send-cli.js.map +1 -0
- package/dist/daemon/session-content.d.ts +2 -2
- package/dist/daemon/session-content.d.ts.map +1 -1
- package/dist/daemon/session-content.js +23 -3
- package/dist/daemon/session-content.js.map +1 -1
- package/dist/daemon/sessions.d.ts +29 -0
- package/dist/daemon/sessions.d.ts.map +1 -1
- package/dist/daemon/sessions.js +160 -63
- package/dist/daemon/sessions.js.map +1 -1
- package/dist/daemon/setup.d.ts +86 -0
- package/dist/daemon/setup.d.ts.map +1 -0
- package/dist/daemon/setup.js +470 -0
- package/dist/daemon/setup.js.map +1 -0
- package/dist/daemon/status-format.d.ts +4 -0
- package/dist/daemon/status-format.d.ts.map +1 -0
- package/dist/daemon/status-format.js +22 -0
- package/dist/daemon/status-format.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ipc/validate.d.ts +2 -0
- package/dist/ipc/validate.d.ts.map +1 -1
- package/dist/ipc/validate.js +2 -1
- package/dist/ipc/validate.js.map +1 -1
- package/dist/mcp/index.js +3 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/transport/index.d.ts +2 -1
- package/dist/transport/index.d.ts.map +1 -1
- package/dist/transport/index.js +6 -0
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/iterm.d.ts +4 -1
- package/dist/transport/iterm.d.ts.map +1 -1
- package/dist/transport/iterm.js +26 -0
- package/dist/transport/iterm.js.map +1 -1
- package/dist/transport/policy.d.ts +24 -0
- package/dist/transport/policy.d.ts.map +1 -0
- package/dist/transport/policy.js +41 -0
- package/dist/transport/policy.js.map +1 -0
- package/dist/transport/screen.d.ts +11 -0
- package/dist/transport/screen.d.ts.map +1 -1
- package/dist/transport/screen.js +19 -0
- package/dist/transport/screen.js.map +1 -1
- package/dist/transport/session-transport.d.ts +27 -0
- package/dist/transport/session-transport.d.ts.map +1 -1
- package/dist/transport/session-transport.js +6 -1
- package/dist/transport/session-transport.js.map +1 -1
- package/dist/transport/sync-facade.d.ts +19 -0
- package/dist/transport/sync-facade.d.ts.map +1 -1
- package/dist/transport/sync-facade.js +38 -8
- package/dist/transport/sync-facade.js.map +1 -1
- package/dist/transport/tmux.d.ts +15 -1
- package/dist/transport/tmux.d.ts.map +1 -1
- package/dist/transport/tmux.js +52 -4
- package/dist/transport/tmux.js.map +1 -1
- package/package.json +4 -2
- package/templates/systemd/aibroker.service +22 -0
|
@@ -7,38 +7,87 @@
|
|
|
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
|
-
*
|
|
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 { existsSync, statSync } from "node:fs";
|
|
20
|
+
import { homedir } from "node:os";
|
|
21
|
+
import { basename, resolve } from "node:path";
|
|
13
22
|
import { WatcherClient } from "../ipc/client.js";
|
|
23
|
+
import { resolveBin } from "../core/bins.js";
|
|
24
|
+
import { selectTransport } from "../transport/index.js";
|
|
14
25
|
import { DAEMON_SOCKET_PATH } from "./index.js";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
/** `[--name N] <target>` in any order. */
|
|
27
|
+
export function parseLaunchArgs(args) {
|
|
28
|
+
let name;
|
|
29
|
+
const rest = [];
|
|
30
|
+
for (let i = 0; i < args.length; i++) {
|
|
31
|
+
if (args[i] === "--name")
|
|
32
|
+
name = args[++i];
|
|
33
|
+
else if (args[i].startsWith("--name="))
|
|
34
|
+
name = args[i].slice(7);
|
|
35
|
+
else
|
|
36
|
+
rest.push(args[i]);
|
|
20
37
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
return;
|
|
38
|
+
return { target: rest[0], name };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Directory or PAI project? A path-like argument (`/x`, `./x`, `~/x`, `a/b`)
|
|
42
|
+
* is always a directory. A bare word stays a PAI project wherever PAI exists —
|
|
43
|
+
* on macOS `launch whazaa` must keep meaning the project even when a `whazaa`
|
|
44
|
+
* directory sits in the working directory — and is a directory otherwise.
|
|
45
|
+
*/
|
|
46
|
+
export function resolveLaunchTarget(target, nameOverride, deps) {
|
|
47
|
+
const pathLike = /[\\/]/.test(target) || target.startsWith(".") || target.startsWith("~");
|
|
48
|
+
const bare = !pathLike;
|
|
49
|
+
if (bare && deps.paiPresent())
|
|
50
|
+
return { kind: "pai", name: target };
|
|
51
|
+
const expanded = target === "~" ? deps.home : target.startsWith("~/") ? deps.home + target.slice(1) : target;
|
|
52
|
+
const dir = resolve(deps.cwd, expanded);
|
|
53
|
+
if (!deps.isDir(dir)) {
|
|
54
|
+
throw new Error(bare
|
|
55
|
+
? `"${target}" is not a directory here and PAI is not installed, so it is not a project name either`
|
|
56
|
+
: `"${target}" is not a directory`);
|
|
41
57
|
}
|
|
58
|
+
return { kind: "dir", dir, name: nameOverride || basename(dir) };
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Attach before spawning. Launching is not the point — HAVING a session for
|
|
62
|
+
* this project is, and a second pane in the same repository is worse than no
|
|
63
|
+
* pane at all: two agents claiming the same issues, committing over each
|
|
64
|
+
* other, neither aware of the other. The recovery case cannot tell in advance
|
|
65
|
+
* whether the machine restarted or the caller simply asked twice, so the only
|
|
66
|
+
* safe shape is idempotent.
|
|
67
|
+
*
|
|
68
|
+
* Match on paiName, which is the project identity the daemon assigns, rather
|
|
69
|
+
* than on the terminal's title, which carries spinner glyphs and process
|
|
70
|
+
* names and would match a bare shell sitting in the same directory. A launched
|
|
71
|
+
* directory session has no paiName yet, so it is matched by its name or its
|
|
72
|
+
* directory — but only when it is a live Claude, never a shell.
|
|
73
|
+
*/
|
|
74
|
+
export function findRunning(rows, name, dir) {
|
|
75
|
+
const lower = name.toLowerCase();
|
|
76
|
+
return rows.find((r) => (r.paiName && r.paiName.toLowerCase() === lower) ||
|
|
77
|
+
(r.kind === "claude" &&
|
|
78
|
+
((r.name ?? "").toLowerCase() === lower || (dir !== undefined && r.cwd === dir))));
|
|
79
|
+
}
|
|
80
|
+
const liveDeps = () => ({
|
|
81
|
+
transport: selectTransport,
|
|
82
|
+
sessions: async () => {
|
|
83
|
+
try {
|
|
84
|
+
const res = (await new WatcherClient(DAEMON_SOCKET_PATH).call_raw("sessions", {}));
|
|
85
|
+
return Array.isArray(res) ? res : (res?.sessions ?? []);
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return [];
|
|
89
|
+
}
|
|
90
|
+
},
|
|
42
91
|
/*
|
|
43
92
|
* call_raw returns the handler's RESULT, not the {ok, result} envelope the
|
|
44
93
|
* handler writes — the client unwraps it and throws on failure. Checking for
|
|
@@ -48,19 +97,73 @@ export async function runLaunch(args) {
|
|
|
48
97
|
* Success is a session id coming back; anything else is a failure to say out
|
|
49
98
|
* loud.
|
|
50
99
|
*/
|
|
51
|
-
|
|
100
|
+
paiLaunch: async (name) => (await new WatcherClient(DAEMON_SOCKET_PATH).call_raw("pai_launch", { name })),
|
|
101
|
+
isDir: (p) => existsSync(p) && statSync(p).isDirectory(),
|
|
102
|
+
paiPresent: () => resolveBin("pai") !== "pai",
|
|
103
|
+
cwd: process.cwd(),
|
|
104
|
+
home: homedir(),
|
|
105
|
+
out: (l) => console.log(l),
|
|
106
|
+
});
|
|
107
|
+
/** Returns the process exit code. */
|
|
108
|
+
export async function launch(args, deps) {
|
|
109
|
+
const { target, name: nameArg } = parseLaunchArgs(args);
|
|
110
|
+
if (!target) {
|
|
111
|
+
console.error("Usage: aibroker launch <dir|pai-project> [--name N]");
|
|
112
|
+
return 1;
|
|
113
|
+
}
|
|
114
|
+
let resolved;
|
|
52
115
|
try {
|
|
53
|
-
|
|
116
|
+
resolved = resolveLaunchTarget(target, nameArg, deps);
|
|
54
117
|
}
|
|
55
118
|
catch (err) {
|
|
56
|
-
console.error(`Could not launch
|
|
57
|
-
|
|
119
|
+
console.error(`Could not launch: ${err instanceof Error ? err.message : String(err)}`);
|
|
120
|
+
return 1;
|
|
121
|
+
}
|
|
122
|
+
const rows = await deps.sessions();
|
|
123
|
+
const already = findRunning(rows, resolved.name, resolved.kind === "dir" ? resolved.dir : undefined);
|
|
124
|
+
if (already) {
|
|
125
|
+
deps.out(`${already.paiName ?? already.name ?? resolved.name} is already running — attached, nothing launched.`);
|
|
126
|
+
deps.out(` ${already.transport ?? "iterm"} ${already.sessionId}`);
|
|
127
|
+
return 0;
|
|
128
|
+
}
|
|
129
|
+
if (resolved.kind === "pai") {
|
|
130
|
+
let res;
|
|
131
|
+
try {
|
|
132
|
+
res = await deps.paiLaunch(resolved.name);
|
|
133
|
+
}
|
|
134
|
+
catch (err) {
|
|
135
|
+
console.error(`Could not launch ${resolved.name}: ${err instanceof Error ? err.message : String(err)}`);
|
|
136
|
+
return 1;
|
|
137
|
+
}
|
|
138
|
+
if (!res?.itermSessionId) {
|
|
139
|
+
console.error(`Could not launch ${resolved.name}: the daemon returned no session`);
|
|
140
|
+
return 1;
|
|
141
|
+
}
|
|
142
|
+
deps.out(`Launched ${res.name ?? resolved.name}`);
|
|
143
|
+
deps.out(` iterm ${res.itermSessionId}`);
|
|
144
|
+
return 0;
|
|
58
145
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
146
|
+
let res = null;
|
|
147
|
+
try {
|
|
148
|
+
res = deps.transport().launch({ dir: resolved.dir, name: resolved.name });
|
|
62
149
|
}
|
|
63
|
-
|
|
64
|
-
|
|
150
|
+
catch (err) {
|
|
151
|
+
console.error(`Could not launch ${resolved.name}: ${err instanceof Error ? err.message : String(err)}`);
|
|
152
|
+
return 1;
|
|
153
|
+
}
|
|
154
|
+
if (!res) {
|
|
155
|
+
console.error(`Could not launch ${resolved.name}: the terminal host refused (is tmux installed?)`);
|
|
156
|
+
return 1;
|
|
157
|
+
}
|
|
158
|
+
deps.out(`Launched ${resolved.name} in ${resolved.dir}`);
|
|
159
|
+
deps.out(` ${res.transport} ${res.id} (${res.where})`);
|
|
160
|
+
if (res.attach)
|
|
161
|
+
deps.out(` attach: ${res.attach}`);
|
|
162
|
+
return 0;
|
|
163
|
+
}
|
|
164
|
+
export async function runLaunch(args) {
|
|
165
|
+
const code = await launch(args, liveDeps());
|
|
166
|
+
if (code !== 0)
|
|
167
|
+
process.exit(code);
|
|
65
168
|
}
|
|
66
169
|
//# sourceMappingURL=launch-cli.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch-cli.js","sourceRoot":"","sources":["../../src/daemon/launch-cli.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"launch-cli.js","sourceRoot":"","sources":["../../src/daemon/launch-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../src/daemon/manage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../src/daemon/manage.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/manage.js
CHANGED
|
@@ -28,6 +28,7 @@ import { timeCall } from "../core/call-timing.js";
|
|
|
28
28
|
import { readSessionContent } from "./session-content.js";
|
|
29
29
|
import { typeIntoSession, pasteTextIntoSession, sendControlU, sendEnterKey, escapeInputMode, wasLastEnumerationReliable } from "../transport/sync-facade.js";
|
|
30
30
|
import { findItermBundleIdImpostors } from "../adapters/iterm/core.js";
|
|
31
|
+
import { processCwd } from "../core/bins.js";
|
|
31
32
|
import { discoverLiveSessions } from "../core/session-discovery.js";
|
|
32
33
|
import { hasPailotClients } from "../adapters/pailot/gateway.js";
|
|
33
34
|
import { getAibpBridge } from "../core/state.js";
|
|
@@ -936,11 +937,7 @@ function repoRootForSession(sessionId) {
|
|
|
936
937
|
}
|
|
937
938
|
function repoRootFor(pid) {
|
|
938
939
|
try {
|
|
939
|
-
const
|
|
940
|
-
encoding: "utf8",
|
|
941
|
-
timeout: 4_000,
|
|
942
|
-
});
|
|
943
|
-
const cwd = cwdOut.split("\n").find((l) => l.startsWith("n"))?.slice(1);
|
|
940
|
+
const cwd = processCwd(pid);
|
|
944
941
|
if (!cwd)
|
|
945
942
|
return null;
|
|
946
943
|
const root = execFileSync("/usr/bin/env", ["git", "-C", cwd, "rev-parse", "--show-toplevel"], {
|
|
@@ -1278,16 +1275,7 @@ export function usageFromLines(lines) {
|
|
|
1278
1275
|
* call per session per tick rather than once per caller.
|
|
1279
1276
|
*/
|
|
1280
1277
|
function sessionCwd(claudePid) {
|
|
1281
|
-
|
|
1282
|
-
const cwdOut = execFileSync("/usr/sbin/lsof", ["-p", claudePid, "-a", "-d", "cwd", "-Fn"], {
|
|
1283
|
-
encoding: "utf8",
|
|
1284
|
-
timeout: 4_000,
|
|
1285
|
-
});
|
|
1286
|
-
return cwdOut.split("\n").find((l) => l.startsWith("n"))?.slice(1) ?? null;
|
|
1287
|
-
}
|
|
1288
|
-
catch {
|
|
1289
|
-
return null;
|
|
1290
|
-
}
|
|
1278
|
+
return processCwd(claudePid);
|
|
1291
1279
|
}
|
|
1292
1280
|
/**
|
|
1293
1281
|
* The transcript directory for a session's own project, derived from its cwd.
|