baxian 1.2.36 → 1.2.37
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/agent/detect/region.d.ts +1 -0
- package/dist/agent/detect/region.d.ts.map +1 -1
- package/dist/agent/detect/region.js +1 -1
- package/dist/agent/detect/region.js.map +1 -1
- package/dist/agent/manager.d.ts +7 -0
- package/dist/agent/manager.d.ts.map +1 -1
- package/dist/agent/manager.js +152 -7
- package/dist/agent/manager.js.map +1 -1
- package/dist/agent/preflight.d.ts +4 -1
- package/dist/agent/preflight.d.ts.map +1 -1
- package/dist/agent/preflight.js +12 -4
- package/dist/agent/preflight.js.map +1 -1
- package/dist/agent/review-transport.js +2 -2
- package/dist/agent/review-transport.js.map +1 -1
- package/dist/agent/tmux-install.d.ts +9 -0
- package/dist/agent/tmux-install.d.ts.map +1 -0
- package/dist/agent/tmux-install.js +149 -0
- package/dist/agent/tmux-install.js.map +1 -0
- package/dist/agent/tmux.d.ts +6 -0
- package/dist/agent/tmux.d.ts.map +1 -1
- package/dist/agent/tmux.js +107 -12
- package/dist/agent/tmux.js.map +1 -1
- package/dist/api/projects.d.ts.map +1 -1
- package/dist/api/projects.js +48 -5
- package/dist/api/projects.js.map +1 -1
- package/dist/api/tasks.d.ts.map +1 -1
- package/dist/api/tasks.js +11 -0
- package/dist/api/tasks.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +16 -2
- package/dist/cli.js.map +1 -1
- package/dist/config/normalizer.d.ts.map +1 -1
- package/dist/config/normalizer.js +6 -2
- package/dist/config/normalizer.js.map +1 -1
- package/dist/config/validator.d.ts.map +1 -1
- package/dist/config/validator.js +4 -0
- package/dist/config/validator.js.map +1 -1
- package/dist/event/server-handlers.d.ts.map +1 -1
- package/dist/event/server-handlers.js +35 -10
- package/dist/event/server-handlers.js.map +1 -1
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +1 -0
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/types.d.ts +9 -1
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js.map +1 -1
- package/dist/state/agent-store.d.ts.map +1 -1
- package/dist/state/agent-store.js +6 -0
- package/dist/state/agent-store.js.map +1 -1
- package/dist/state/snapshot.js +1 -1
- package/dist/state/snapshot.js.map +1 -1
- package/dist/state/task-store.d.ts.map +1 -1
- package/dist/state/task-store.js +6 -0
- package/dist/state/task-store.js.map +1 -1
- package/dist/web/assets/{index-uVZrHlU5.css → index--NPvz4MV.css} +1 -1
- package/dist/web/assets/index-ng6bYF0x.js +8 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/index-CGuG6yF2.js +0 -8
|
@@ -5,5 +5,8 @@ export interface PreflightResult {
|
|
|
5
5
|
ok: boolean;
|
|
6
6
|
message: string;
|
|
7
7
|
}
|
|
8
|
-
export declare function
|
|
8
|
+
export declare function lastNonEmptyLine(s: string): string;
|
|
9
|
+
export declare function tmuxInstallHint(projectId?: string): string;
|
|
10
|
+
export declare function probeTmux(runner: CommandRunner, projectId?: string): Promise<PreflightResult>;
|
|
11
|
+
export declare function runPreflight(runner: CommandRunner, agent: AgentConfig, repo: string, host?: HostConfig, projectId?: string): Promise<PreflightResult[]>;
|
|
9
12
|
//# sourceMappingURL=preflight.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../src/agent/preflight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,EAAE,WAAW,EAAgB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../src/agent/preflight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,EAAE,WAAW,EAAgB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AASD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOlD;AAkCD,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAQ7F;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,EAAE,CAAC,CA6E5B"}
|
package/dist/agent/preflight.js
CHANGED
|
@@ -6,7 +6,7 @@ const CLI_BINARY = {
|
|
|
6
6
|
codex: 'codex',
|
|
7
7
|
};
|
|
8
8
|
const PREFLIGHT_PROBE_TIMEOUT_MS = 5000;
|
|
9
|
-
function lastNonEmptyLine(s) {
|
|
9
|
+
export function lastNonEmptyLine(s) {
|
|
10
10
|
const lines = s.split(/\r?\n/);
|
|
11
11
|
for (let i = lines.length - 1; i >= 0; i--) {
|
|
12
12
|
const line = lines[i].trim();
|
|
@@ -17,7 +17,9 @@ function lastNonEmptyLine(s) {
|
|
|
17
17
|
}
|
|
18
18
|
async function probeBinary(runner, binary, step, okMessage, failMessage, options = {}) {
|
|
19
19
|
try {
|
|
20
|
-
|
|
20
|
+
// command -v over which: it must match installTmux's verification, or a --fix
|
|
21
|
+
// success on a which-less minimal host would still re-probe as FAIL.
|
|
22
|
+
const result = await runner.exec(`command -v ${binary}`, {
|
|
21
23
|
...options,
|
|
22
24
|
timeout: PREFLIGHT_PROBE_TIMEOUT_MS,
|
|
23
25
|
});
|
|
@@ -38,7 +40,13 @@ async function probeBinary(runner, binary, step, okMessage, failMessage, options
|
|
|
38
40
|
};
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
|
-
export
|
|
43
|
+
export function tmuxInstallHint(projectId) {
|
|
44
|
+
return `run "baxian check ${projectId ?? '<project>'} --fix" to install it automatically`;
|
|
45
|
+
}
|
|
46
|
+
export function probeTmux(runner, projectId) {
|
|
47
|
+
return probeBinary(runner, 'tmux', 'tmux', (path) => `tmux found at ${path}`, `Please install tmux on the agent host, or ${tmuxInstallHint(projectId)}`);
|
|
48
|
+
}
|
|
49
|
+
export async function runPreflight(runner, agent, repo, host, projectId) {
|
|
42
50
|
repo = repo.trim();
|
|
43
51
|
const results = [];
|
|
44
52
|
const binary = CLI_BINARY[agent.runtime];
|
|
@@ -63,7 +71,7 @@ export async function runPreflight(runner, agent, repo, host) {
|
|
|
63
71
|
return results;
|
|
64
72
|
}
|
|
65
73
|
results.push(await probeBinary(runner, binary, 'cli', (path) => `${binary} found at ${path}`, `Please install ${agent.runtime} CLI (${binary})`, { remoteShell: 'login-interactive' }));
|
|
66
|
-
results.push(await
|
|
74
|
+
results.push(await probeTmux(runner, projectId));
|
|
67
75
|
if (agent.mode === 'remote') {
|
|
68
76
|
results.push(await probeBinary(runner, 'openssl', 'openssl', (path) => `openssl found at ${path}`, 'Please install openssl on the agent host (used to decode skill/task files during injection)'));
|
|
69
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/agent/preflight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAExG,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAQnD,MAAM,UAAU,GAAiC;IAC/C,aAAa,EAAE,QAAQ;IACvB,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC,
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/agent/preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,11 +122,11 @@ export class ReviewTransport {
|
|
|
122
122
|
if (sha.exitCode !== 0) {
|
|
123
123
|
throw new ReviewExchangeError('merge-base-failed', `git merge-base failed: ${sha.stderr.trim()}`);
|
|
124
124
|
}
|
|
125
|
-
const stat = await runner.exec(`${cd}git diff --stat ${shellQuote(base
|
|
125
|
+
const stat = await runner.exec(`${cd}git -c core.quotepath=false diff --stat ${shellQuote(`${base}...HEAD`)}`);
|
|
126
126
|
if (stat.exitCode !== 0) {
|
|
127
127
|
throw new ReviewExchangeError('diffstat-failed', `git diff --stat failed: ${stat.stderr.trim()}`);
|
|
128
128
|
}
|
|
129
|
-
const diff = await runner.exec(`${cd}git diff ${shellQuote(base
|
|
129
|
+
const diff = await runner.exec(`${cd}git -c core.quotepath=false diff ${shellQuote(`${base}...HEAD`)}`);
|
|
130
130
|
if (diff.exitCode !== 0) {
|
|
131
131
|
throw new ReviewExchangeError('diff-failed', `git diff failed: ${diff.stderr.trim()}`);
|
|
132
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-transport.js","sourceRoot":"","sources":["../../src/agent/review-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"review-transport.js","sourceRoot":"","sources":["../../src/agent/review-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CommandRunner } from './runner.js';
|
|
2
|
+
export interface TmuxInstallResult {
|
|
3
|
+
ok: boolean;
|
|
4
|
+
method?: string;
|
|
5
|
+
version?: string;
|
|
6
|
+
message: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function installTmux(runner: CommandRunner): Promise<TmuxInstallResult>;
|
|
9
|
+
//# sourceMappingURL=tmux-install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tmux-install.d.ts","sourceRoot":"","sources":["../../src/agent/tmux-install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAgCD,wBAAsB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAOnF"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { lastNonEmptyLine } from './preflight.js';
|
|
2
|
+
import { TmuxManager } from './tmux.js';
|
|
3
|
+
const PROBE_TIMEOUT_MS = 5000;
|
|
4
|
+
const INSTALL_TIMEOUT_MS = 10 * 60 * 1000;
|
|
5
|
+
const LINUX_PACKAGE_MANAGERS = [
|
|
6
|
+
{
|
|
7
|
+
name: 'apt-get',
|
|
8
|
+
install: 'env DEBIAN_FRONTEND=noninteractive apt-get install -y tmux',
|
|
9
|
+
refresh: 'apt-get update',
|
|
10
|
+
manual: 'sudo apt-get install -y tmux',
|
|
11
|
+
},
|
|
12
|
+
{ name: 'dnf', install: 'dnf install -y tmux', manual: 'sudo dnf install -y tmux' },
|
|
13
|
+
{ name: 'yum', install: 'yum install -y tmux', manual: 'sudo yum install -y tmux' },
|
|
14
|
+
{ name: 'pacman', install: 'pacman -S --noconfirm tmux', manual: 'sudo pacman -S tmux' },
|
|
15
|
+
{
|
|
16
|
+
name: 'zypper',
|
|
17
|
+
install: 'zypper --non-interactive install tmux',
|
|
18
|
+
manual: 'sudo zypper install tmux',
|
|
19
|
+
},
|
|
20
|
+
{ name: 'apk', install: 'apk add tmux', manual: 'sudo apk add tmux' },
|
|
21
|
+
];
|
|
22
|
+
const BREW_CANDIDATES = ['/opt/homebrew/bin/brew', '/usr/local/bin/brew'];
|
|
23
|
+
export async function installTmux(runner) {
|
|
24
|
+
try {
|
|
25
|
+
return await install(runner);
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
29
|
+
return { ok: false, message: `tmux install failed: ${msg}` };
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async function install(runner) {
|
|
33
|
+
const existing = await binaryPath(runner, 'tmux');
|
|
34
|
+
if (existing) {
|
|
35
|
+
return { ok: true, method: 'already-installed', message: `tmux already installed at ${existing}` };
|
|
36
|
+
}
|
|
37
|
+
const uname = await runner.exec('uname -s', { timeout: PROBE_TIMEOUT_MS });
|
|
38
|
+
const platform = uname.stdout.trim();
|
|
39
|
+
if (platform === 'Darwin')
|
|
40
|
+
return installOnMacOS(runner);
|
|
41
|
+
if (platform === 'Linux')
|
|
42
|
+
return installOnLinux(runner);
|
|
43
|
+
return {
|
|
44
|
+
ok: false,
|
|
45
|
+
message: `unsupported platform "${platform || 'unknown'}" — install tmux manually`,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
async function installOnMacOS(runner) {
|
|
49
|
+
const brew = await resolveBrew(runner);
|
|
50
|
+
if (!brew) {
|
|
51
|
+
return {
|
|
52
|
+
ok: false,
|
|
53
|
+
message: 'Homebrew not found — install it from https://brew.sh first, then run "brew install tmux"',
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
const result = await runner.exec(`HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1 ${brew} install tmux`, { timeout: INSTALL_TIMEOUT_MS });
|
|
57
|
+
if (result.exitCode !== 0) {
|
|
58
|
+
return {
|
|
59
|
+
ok: false,
|
|
60
|
+
method: 'brew',
|
|
61
|
+
message: `brew install tmux failed (exit ${result.exitCode}): ${outputTail(result.stderr || result.stdout)}`,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return verifyInstalled(runner, 'brew');
|
|
65
|
+
}
|
|
66
|
+
async function resolveBrew(runner) {
|
|
67
|
+
const onPath = await binaryPath(runner, 'brew');
|
|
68
|
+
if (onPath)
|
|
69
|
+
return onPath;
|
|
70
|
+
for (const candidate of BREW_CANDIDATES) {
|
|
71
|
+
const probe = await runner.exec(`test -x ${candidate}`, { timeout: PROBE_TIMEOUT_MS });
|
|
72
|
+
if (probe.exitCode === 0)
|
|
73
|
+
return candidate;
|
|
74
|
+
}
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
async function installOnLinux(runner) {
|
|
78
|
+
const pm = await detectLinuxPackageManager(runner);
|
|
79
|
+
if (!pm) {
|
|
80
|
+
const names = LINUX_PACKAGE_MANAGERS.map(p => p.name).join('/');
|
|
81
|
+
return { ok: false, message: `no supported package manager found (${names}) — install tmux manually` };
|
|
82
|
+
}
|
|
83
|
+
const sudo = await sudoPrefix(runner);
|
|
84
|
+
if (sudo === undefined) {
|
|
85
|
+
return {
|
|
86
|
+
ok: false,
|
|
87
|
+
method: pm.name,
|
|
88
|
+
message: `cannot install automatically: not root and passwordless sudo is unavailable — run "${pm.manual}" on the host`,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
let result = await runner.exec(`${sudo}${pm.install}`, { timeout: INSTALL_TIMEOUT_MS });
|
|
92
|
+
if (result.exitCode !== 0 && pm.refresh) {
|
|
93
|
+
await runner.exec(`${sudo}${pm.refresh}`, { timeout: INSTALL_TIMEOUT_MS });
|
|
94
|
+
result = await runner.exec(`${sudo}${pm.install}`, { timeout: INSTALL_TIMEOUT_MS });
|
|
95
|
+
}
|
|
96
|
+
if (result.exitCode !== 0) {
|
|
97
|
+
return {
|
|
98
|
+
ok: false,
|
|
99
|
+
method: pm.name,
|
|
100
|
+
message: `${pm.name} install failed (exit ${result.exitCode}): ${outputTail(result.stderr || result.stdout)}`,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return verifyInstalled(runner, pm.name);
|
|
104
|
+
}
|
|
105
|
+
async function detectLinuxPackageManager(runner) {
|
|
106
|
+
for (const pm of LINUX_PACKAGE_MANAGERS) {
|
|
107
|
+
const probe = await runner.exec(`command -v ${pm.name}`, { timeout: PROBE_TIMEOUT_MS });
|
|
108
|
+
if (probe.exitCode === 0 && lastNonEmptyLine(probe.stdout))
|
|
109
|
+
return pm;
|
|
110
|
+
}
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
async function sudoPrefix(runner) {
|
|
114
|
+
const id = await runner.exec('id -u', { timeout: PROBE_TIMEOUT_MS });
|
|
115
|
+
if (id.stdout.trim() === '0')
|
|
116
|
+
return '';
|
|
117
|
+
const sudo = await runner.exec('sudo -n true', { timeout: PROBE_TIMEOUT_MS });
|
|
118
|
+
return sudo.exitCode === 0 ? 'sudo -n ' : undefined;
|
|
119
|
+
}
|
|
120
|
+
async function verifyInstalled(runner, method) {
|
|
121
|
+
const path = await binaryPath(runner, 'tmux');
|
|
122
|
+
if (!path) {
|
|
123
|
+
return {
|
|
124
|
+
ok: false,
|
|
125
|
+
method,
|
|
126
|
+
message: `installed via ${method} but tmux is still not found on PATH`,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
try {
|
|
130
|
+
const { major, minor } = await TmuxManager.probeTmuxVersion(runner);
|
|
131
|
+
const version = `${major}.${minor}`;
|
|
132
|
+
return { ok: true, method, version, message: `tmux ${version} installed via ${method}` };
|
|
133
|
+
}
|
|
134
|
+
catch (err) {
|
|
135
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
136
|
+
return { ok: false, method, message: `installed via ${method} but verification failed: ${msg}` };
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async function binaryPath(runner, binary) {
|
|
140
|
+
// command -v over which: minimal Linux images may lack which, and every runner execs through a shell.
|
|
141
|
+
const result = await runner.exec(`command -v ${binary}`, { timeout: PROBE_TIMEOUT_MS });
|
|
142
|
+
const path = lastNonEmptyLine(result.stdout);
|
|
143
|
+
return result.exitCode === 0 && path ? path : undefined;
|
|
144
|
+
}
|
|
145
|
+
function outputTail(s, limit = 400) {
|
|
146
|
+
const trimmed = s.trim();
|
|
147
|
+
return trimmed.length <= limit ? trimmed : `…${trimmed.slice(-limit)}`;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=tmux-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tmux-install.js","sourceRoot":"","sources":["../../src/agent/tmux-install.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/tmux.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export interface WaitReplReadyOpts extends WaitOpts {
|
|
|
17
17
|
failFastOnShell?: boolean;
|
|
18
18
|
scrollback?: number;
|
|
19
19
|
perCommandTimeoutMs?: number;
|
|
20
|
+
titleIdleFastPath?: boolean;
|
|
20
21
|
}
|
|
21
22
|
export interface WaitSubmitAckOpts extends WaitOpts {
|
|
22
23
|
resend?: () => Promise<void>;
|
|
@@ -29,12 +30,17 @@ export declare function detectRuntimeMenu(stripped: string): boolean;
|
|
|
29
30
|
export declare function detectRuntimeCompletionPopup(stripped: string, runtime: AgentRuntimeKind): boolean;
|
|
30
31
|
export declare function hasReplReadyAnchor(stripped: string, runtime: AgentRuntimeKind): boolean;
|
|
31
32
|
export declare function hasOscTitleWorking(paneTitle: string): boolean;
|
|
33
|
+
export declare function hasOscTitleIdle(paneTitle: string, runtime: AgentRuntimeKind): boolean;
|
|
32
34
|
export declare function hasReplProcTitle(current: string, runtime: AgentRuntimeKind): boolean;
|
|
33
35
|
export declare function hasActiveSpinner(stripped: string): boolean;
|
|
34
36
|
export declare function hasActiveSpinnerInTail(stripped: string): boolean;
|
|
35
37
|
export declare function detectReplActiveBusy(stripped: string): boolean;
|
|
36
38
|
export declare function detectActiveRegionBusy(stripped: string, runtime?: AgentRuntimeKind): boolean;
|
|
37
39
|
export declare function hasRuntimeIdleComposerPrompt(stripped: string, runtime: AgentRuntimeKind): boolean;
|
|
40
|
+
export declare function screenBlocksReadyView(stripped: string, runtime: AgentRuntimeKind): boolean;
|
|
41
|
+
export declare function detectRuntimePendingPrompt(stripped: string): boolean;
|
|
42
|
+
export declare function detectRuntimeOverlay(stripped: string): boolean;
|
|
43
|
+
export declare function screenAllowsTitleIdle(stripped: string, runtime: AgentRuntimeKind): boolean;
|
|
38
44
|
export declare function hasRuntimeReadyView(stripped: string, runtime: AgentRuntimeKind): boolean;
|
|
39
45
|
export declare function runtimeBusyCheck(stripped: string, runtime: AgentRuntimeKind): boolean;
|
|
40
46
|
export type AdoptPaneState = {
|
package/dist/agent/tmux.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/agent/tmux.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/agent/tmux.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/tmux.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { shellQuote, SshRunner } from './runner.js';
|
|
3
|
+
import { isHorizontalRule } from './detect/region.js';
|
|
3
4
|
const run = (runner, cmd, opts) => runner['exec'](cmd, opts);
|
|
4
5
|
const MAX_PROMPT_BYTES = 80 * 1024;
|
|
5
6
|
const REPL_PROC_TITLES = {
|
|
@@ -67,6 +68,14 @@ const OSC_TITLE_WORKING_RE = /^[⠀-⣿] /;
|
|
|
67
68
|
export function hasOscTitleWorking(paneTitle) {
|
|
68
69
|
return OSC_TITLE_WORKING_RE.test(paneTitle);
|
|
69
70
|
}
|
|
71
|
+
// claude-code 独有契约(poller manifest osc_title_idle 同源):idle 恒为 "✳ <摘要>",working 为 braille 帧前缀。
|
|
72
|
+
// codex 的 title 是 cwd 之类的弱信号,不构成 idle 契约。
|
|
73
|
+
const OSC_TITLE_IDLE_RES = {
|
|
74
|
+
'claude-code': /^✳ /,
|
|
75
|
+
};
|
|
76
|
+
export function hasOscTitleIdle(paneTitle, runtime) {
|
|
77
|
+
return OSC_TITLE_IDLE_RES[runtime]?.test(paneTitle) ?? false;
|
|
78
|
+
}
|
|
70
79
|
export function hasReplProcTitle(current, runtime) {
|
|
71
80
|
return REPL_PROC_TITLES[runtime].test(current);
|
|
72
81
|
}
|
|
@@ -158,20 +167,95 @@ export function hasRuntimeIdleComposerPrompt(stripped, runtime) {
|
|
|
158
167
|
}
|
|
159
168
|
return false;
|
|
160
169
|
}
|
|
170
|
+
export function screenBlocksReadyView(stripped, runtime) {
|
|
171
|
+
return runtimeBusyCheck(stripped, runtime)
|
|
172
|
+
|| detectRuntimeMenu(stripped)
|
|
173
|
+
|| detectStartupDialog(stripped, runtime)
|
|
174
|
+
|| TRUST_DIALOGS[runtime].test(stripped);
|
|
175
|
+
}
|
|
176
|
+
// manifest blocker 规则(bash/generic permission、live_blocked_form、dynamic workflow、legacy)的文本指纹。
|
|
177
|
+
// 这些 prompt 挂起时 OSC 标题仍是 ✳ idle 形态(manifest 里 blocker 优先级压过 osc_title_idle 即此语义),
|
|
178
|
+
// 单短语 ≤22 字符,29 列窄 pane 下不折行。仅供 title fast path 消费:并入 hasRuntimeReadyView 会让
|
|
179
|
+
// 历史输出里的这些短语误伤 bootstrap 等既有调用方。误拦仅退化为超时 409(fail-closed),
|
|
180
|
+
// 但可能出现在回复正文的短语一律走组合判定(与选单形态同现)——裸判会把常态 idle 输出当 prompt。
|
|
181
|
+
// 指纹一律用 \s+ 连接词间:Ink 在词边界硬折行,长短语(skip interview…35 字符)窄屏必断行
|
|
182
|
+
const PENDING_PROMPT_SIGNALS = [
|
|
183
|
+
/waiting\s+for\s+permission/i,
|
|
184
|
+
/review\s+your\s+answers/i,
|
|
185
|
+
/skip\s+interview\s+and\s+plan\s+immediately/i,
|
|
186
|
+
];
|
|
187
|
+
const PENDING_OFFER_RE = /do\s+you\s+want\s+to|would\s+you\s+like\s+to|tab\s+to\s+amend|ctrl\+e\s+to\s+explain/i;
|
|
188
|
+
// manifest bash/generic permission 的选项行形态并集:裸 Yes(反色选中无 ❯)、编号 Yes/No。
|
|
189
|
+
// 不收 `❯ <任意文本>`(legacy manifest 形态):clear 的 pre-clear wait 发生在清残稿之前,
|
|
190
|
+
// composer 残稿正是 ❯+文本,收了会把修复目标场景 veto 成死锁。
|
|
191
|
+
const PENDING_OPTION_LINE_RE = /^\s*(?:❯\s*)?(?:\d+\.\s*)?yes\b|^\s*(?:❯\s*)?\d+\.\s*no\b/im;
|
|
192
|
+
const SELECT_FORM_ENTER_RE = /enter\s+to\s+(?:select|confirm)/i;
|
|
193
|
+
const DYNAMIC_WORKFLOW_RE = /run\s+a\s+dynamic\s+workflow\?/i;
|
|
194
|
+
const FORM_ESC_CANCEL_RE = /esc\s+to\s+cancel/i;
|
|
195
|
+
const PENDING_PROMPT_TAIL_LINES = 15;
|
|
196
|
+
// 活动 form 区域:最后一条水平线(form/composer box 边界)之后;无水平线(如极窄 pane 不渲染
|
|
197
|
+
// box)时退回 tail 15。不学 extractRegion 的"无线取整屏"——这里误拦即 409,整屏会把正文引用扫进来。
|
|
198
|
+
function pendingPromptRegion(stripped) {
|
|
199
|
+
const lines = stripped.split('\n');
|
|
200
|
+
let lastRule = -1;
|
|
201
|
+
for (let i = 0; i < lines.length; i++) {
|
|
202
|
+
if (isHorizontalRule(lines[i]))
|
|
203
|
+
lastRule = i;
|
|
204
|
+
}
|
|
205
|
+
if (lastRule >= 0)
|
|
206
|
+
return lines.slice(lastRule + 1).join('\n');
|
|
207
|
+
return tail(stripped, PENDING_PROMPT_TAIL_LINES);
|
|
208
|
+
}
|
|
209
|
+
export function detectRuntimePendingPrompt(stripped) {
|
|
210
|
+
const t = pendingPromptRegion(stripped);
|
|
211
|
+
if (PENDING_PROMPT_SIGNALS.some(re => re.test(t)))
|
|
212
|
+
return true;
|
|
213
|
+
if (PENDING_OFFER_RE.test(t) && PENDING_OPTION_LINE_RE.test(t))
|
|
214
|
+
return true;
|
|
215
|
+
if (DYNAMIC_WORKFLOW_RE.test(t) && FORM_ESC_CANCEL_RE.test(t))
|
|
216
|
+
return true;
|
|
217
|
+
return SELECT_FORM_ENTER_RE.test(t) && FORM_ESC_CANCEL_RE.test(t);
|
|
218
|
+
}
|
|
219
|
+
// transcript viewer / model picker 挂起时按键落 overlay 而非 composer;与 manifest skipStateUpdate 规则同源。
|
|
220
|
+
// footer(ctrl+o to toggle · esc to close,31 字符)窄屏会折两行,故看最后 2 个非空行而非 manifest 的 1 行。
|
|
221
|
+
const OVERLAY_FOOTER_SIGNALS = [
|
|
222
|
+
/ctrl\+o[^\n]{0,60}to\s+toggle/i,
|
|
223
|
+
/ctrl\+e[^\n]{0,60}show\s+all/i,
|
|
224
|
+
/ctrl\+e[^\n]{0,60}collapse/i,
|
|
225
|
+
/showing\s+detailed\s+transcript/i,
|
|
226
|
+
/↑↓\s+scroll/,
|
|
227
|
+
/\?\s+for\s+shortcuts/,
|
|
228
|
+
];
|
|
229
|
+
const OVERLAY_FOOTER_NONBLANK_LINES = 2;
|
|
230
|
+
const MODEL_PICKER_TITLE_RE = /select\s+model/i;
|
|
231
|
+
const MODEL_PICKER_FOOTER_RE = /enter\s+to\s+set\s+as\s+default/i;
|
|
232
|
+
function lastNonBlankLines(stripped, count) {
|
|
233
|
+
const kept = [];
|
|
234
|
+
const lines = stripped.split('\n');
|
|
235
|
+
for (let i = lines.length - 1; i >= 0 && kept.length < count; i--) {
|
|
236
|
+
if (lines[i].trim() !== '')
|
|
237
|
+
kept.unshift(lines[i]);
|
|
238
|
+
}
|
|
239
|
+
return kept.join('\n');
|
|
240
|
+
}
|
|
241
|
+
export function detectRuntimeOverlay(stripped) {
|
|
242
|
+
const footer = lastNonBlankLines(stripped, OVERLAY_FOOTER_NONBLANK_LINES);
|
|
243
|
+
if (OVERLAY_FOOTER_SIGNALS.some(re => re.test(footer)))
|
|
244
|
+
return true;
|
|
245
|
+
const t = tail(stripped, PENDING_PROMPT_TAIL_LINES);
|
|
246
|
+
return MODEL_PICKER_TITLE_RE.test(t) && MODEL_PICKER_FOOTER_RE.test(t);
|
|
247
|
+
}
|
|
248
|
+
export function screenAllowsTitleIdle(stripped, runtime) {
|
|
249
|
+
return !screenBlocksReadyView(stripped, runtime)
|
|
250
|
+
&& !detectRuntimePendingPrompt(stripped)
|
|
251
|
+
&& !detectRuntimeOverlay(stripped);
|
|
252
|
+
}
|
|
161
253
|
export function hasRuntimeReadyView(stripped, runtime) {
|
|
162
254
|
if (hasReplReadyAnchor(stripped, runtime))
|
|
163
255
|
return true;
|
|
164
256
|
if (!hasRuntimeIdleComposerPrompt(stripped, runtime))
|
|
165
257
|
return false;
|
|
166
|
-
|
|
167
|
-
return false;
|
|
168
|
-
if (detectRuntimeMenu(stripped))
|
|
169
|
-
return false;
|
|
170
|
-
if (detectStartupDialog(stripped, runtime))
|
|
171
|
-
return false;
|
|
172
|
-
if (TRUST_DIALOGS[runtime].test(stripped))
|
|
173
|
-
return false;
|
|
174
|
-
return true;
|
|
258
|
+
return !screenBlocksReadyView(stripped, runtime);
|
|
175
259
|
}
|
|
176
260
|
export function runtimeBusyCheck(stripped, runtime) {
|
|
177
261
|
return runtime === 'codex'
|
|
@@ -548,6 +632,7 @@ export class TmuxManager {
|
|
|
548
632
|
const procTitle = REPL_PROC_TITLES[runtime];
|
|
549
633
|
const cmdOpts = opts.perCommandTimeoutMs ? { timeout: opts.perCommandTimeoutMs } : undefined;
|
|
550
634
|
let lastStripped = '';
|
|
635
|
+
let lastTitle;
|
|
551
636
|
while (Date.now() < deadline) {
|
|
552
637
|
const current = await this.displayMessage(paneId, '#{pane_current_command}', cmdOpts);
|
|
553
638
|
if (failFastOnShell && SHELL_PROC_TITLES.test(current)) {
|
|
@@ -556,11 +641,21 @@ export class TmuxManager {
|
|
|
556
641
|
const cap = await this.capturePaneById(paneId, { ansi: true, scrollback, timeoutMs: opts.perCommandTimeoutMs });
|
|
557
642
|
const stripped = stripAnsi(cap);
|
|
558
643
|
lastStripped = stripped;
|
|
559
|
-
if (procTitle.test(current)
|
|
560
|
-
|
|
644
|
+
if (procTitle.test(current)) {
|
|
645
|
+
if (hasRuntimeReadyView(stripped, runtime))
|
|
646
|
+
return;
|
|
647
|
+
if (opts.titleIdleFastPath && screenAllowsTitleIdle(stripped, runtime)) {
|
|
648
|
+
lastTitle = await this.readPaneTitle(paneId, cmdOpts);
|
|
649
|
+
if (hasOscTitleIdle(lastTitle, runtime))
|
|
650
|
+
return;
|
|
651
|
+
}
|
|
652
|
+
}
|
|
561
653
|
await sleep(interval);
|
|
562
654
|
}
|
|
563
|
-
|
|
655
|
+
if (opts.titleIdleFastPath && lastTitle === undefined) {
|
|
656
|
+
lastTitle = await this.readPaneTitle(paneId, cmdOpts);
|
|
657
|
+
}
|
|
658
|
+
throw new ReplNotReadyError(paneId, runtime, lastStripped, lastTitle === undefined ? undefined : `paneTitle=${JSON.stringify(lastTitle)}`);
|
|
564
659
|
}
|
|
565
660
|
}
|
|
566
661
|
function isSessionAbsent(stderr) {
|