visionclaw 0.1.219-beta.0 → 0.1.219-beta.1
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/browser-launcher.d.ts +22 -1
- package/dist/agent/browser-launcher.d.ts.map +1 -1
- package/dist/agent/browser-launcher.js +136 -39
- package/dist/agent/browser-launcher.js.map +1 -1
- package/dist/agent/engines/browser-tool-policy.d.ts +12 -1
- package/dist/agent/engines/browser-tool-policy.d.ts.map +1 -1
- package/dist/agent/engines/browser-tool-policy.js +17 -2
- package/dist/agent/engines/browser-tool-policy.js.map +1 -1
- package/dist/agent/engines/claude/session.d.ts +1 -0
- package/dist/agent/engines/claude/session.d.ts.map +1 -1
- package/dist/agent/engines/claude/session.js +16 -2
- package/dist/agent/engines/claude/session.js.map +1 -1
- package/dist/agent/engines/pi/tools.d.ts.map +1 -1
- package/dist/agent/engines/pi/tools.js +2 -1
- package/dist/agent/engines/pi/tools.js.map +1 -1
- package/dist/agent/engines/pi-coding/session.d.ts +3 -0
- package/dist/agent/engines/pi-coding/session.d.ts.map +1 -1
- package/dist/agent/engines/pi-coding/session.js +14 -2
- package/dist/agent/engines/pi-coding/session.js.map +1 -1
- package/dist/agent/engines/session-types.d.ts +6 -0
- package/dist/agent/engines/session-types.d.ts.map +1 -1
- package/dist/agent/fund-league-hold.d.ts.map +1 -1
- package/dist/agent/fund-league-hold.js +5 -1
- package/dist/agent/fund-league-hold.js.map +1 -1
- package/dist/agent/interrupt-handler.d.ts.map +1 -1
- package/dist/agent/interrupt-handler.js +4 -1
- package/dist/agent/interrupt-handler.js.map +1 -1
- package/dist/agent/lab-run-system-prompt.d.ts.map +1 -1
- package/dist/agent/lab-run-system-prompt.js +3 -0
- package/dist/agent/lab-run-system-prompt.js.map +1 -1
- package/dist/agent/lifecycle-trace.d.ts +3 -2
- package/dist/agent/lifecycle-trace.d.ts.map +1 -1
- package/dist/agent/lifecycle-trace.js +4 -9
- package/dist/agent/lifecycle-trace.js.map +1 -1
- package/dist/agent/lifecycle-transitions.d.ts +42 -0
- package/dist/agent/lifecycle-transitions.d.ts.map +1 -1
- package/dist/agent/lifecycle-transitions.js +62 -6
- package/dist/agent/lifecycle-transitions.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +65 -33
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/product-identity.d.ts +5 -4
- package/dist/agent/product-identity.d.ts.map +1 -1
- package/dist/agent/product-identity.js +7 -6
- package/dist/agent/product-identity.js.map +1 -1
- package/dist/agent/runtime-disclosure-policy.d.ts +6 -0
- package/dist/agent/runtime-disclosure-policy.d.ts.map +1 -0
- package/dist/agent/runtime-disclosure-policy.js +16 -0
- package/dist/agent/runtime-disclosure-policy.js.map +1 -0
- package/dist/agent/service-gate.d.ts.map +1 -1
- package/dist/agent/service-gate.js +4 -1
- package/dist/agent/service-gate.js.map +1 -1
- package/dist/agent/session-manager.d.ts +5 -0
- package/dist/agent/session-manager.d.ts.map +1 -1
- package/dist/agent/session-manager.js +16 -5
- package/dist/agent/session-manager.js.map +1 -1
- package/dist/agent/state.d.ts +14 -0
- package/dist/agent/state.d.ts.map +1 -1
- package/dist/agent/state.js +13 -5
- package/dist/agent/state.js.map +1 -1
- package/dist/agent/status.d.ts.map +1 -1
- package/dist/agent/status.js +4 -1
- package/dist/agent/status.js.map +1 -1
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +3 -0
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/agent/wake-cycle-runner.d.ts +11 -0
- package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
- package/dist/agent/wake-cycle-runner.js +104 -26
- package/dist/agent/wake-cycle-runner.js.map +1 -1
- package/dist/builtin-skills/owner-manual/SKILL.md +2 -2
- package/dist/obs/tunnel.d.ts +9 -1
- package/dist/obs/tunnel.d.ts.map +1 -1
- package/dist/obs/tunnel.js +121 -54
- package/dist/obs/tunnel.js.map +1 -1
- package/dist/stt-client.d.ts +10 -0
- package/dist/stt-client.d.ts.map +1 -1
- package/dist/stt-client.js +64 -31
- package/dist/stt-client.js.map +1 -1
- package/dist/tools/browser-health.d.ts +2 -0
- package/dist/tools/browser-health.d.ts.map +1 -0
- package/dist/tools/browser-health.js +18 -0
- package/dist/tools/browser-health.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist-agent/bundle.cjs +2 -2
- package/package.json +1 -1
|
@@ -1,9 +1,30 @@
|
|
|
1
|
-
import { type BrowserSelection } from "./browser-selection.js";
|
|
1
|
+
import { type BrowserEngine, type BrowserSelection } from "./browser-selection.js";
|
|
2
2
|
import type { VisionClawConfig } from "../config/types.js";
|
|
3
|
+
export declare class BrowserUnavailableError extends Error {
|
|
4
|
+
constructor(message: string);
|
|
5
|
+
}
|
|
3
6
|
export declare function getActiveBrowserSelection(config?: VisionClawConfig): BrowserSelection;
|
|
4
7
|
export declare function getCdpEndpoint(config?: VisionClawConfig): string;
|
|
5
8
|
/** Values 011-gpu-info.patch and the UA-CH patch both understand. */
|
|
6
9
|
export declare function fingerprintPlatform(platform?: NodeJS.Platform): string;
|
|
10
|
+
/** Read-only snapshot. `available` is true only when CDP is answering now. */
|
|
11
|
+
export interface BrowserHealth {
|
|
12
|
+
available: boolean;
|
|
13
|
+
engine: BrowserEngine;
|
|
14
|
+
endpoint: string;
|
|
15
|
+
cdpAlive: boolean;
|
|
16
|
+
processRunning: boolean;
|
|
17
|
+
executablePresent: boolean;
|
|
18
|
+
desktopVisible: boolean;
|
|
19
|
+
reason: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Report whether the selected browser can take a Playwright call.
|
|
23
|
+
* Reads selection, `/json/version`, the CDP process, the binary, and the
|
|
24
|
+
* desktop. Does not set the active selection and does not launch, restart,
|
|
25
|
+
* kill, or open a page.
|
|
26
|
+
*/
|
|
27
|
+
export declare function checkBrowserHealth(config?: VisionClawConfig): Promise<BrowserHealth>;
|
|
7
28
|
/**
|
|
8
29
|
* 1..2^31-1. The UA-CH patch parses the seed with StringToInt, which saturates
|
|
9
30
|
* at INT_MAX, so anything above 2^31-1 collapses to one version.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-launcher.d.ts","sourceRoot":"","sources":["../../src/agent/browser-launcher.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"browser-launcher.d.ts","sourceRoot":"","sources":["../../src/agent/browser-launcher.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAW3D,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B;AA0BD,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAErF;AAED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAEhE;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAExF;AAwDD,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAuBD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAkB1F;AAyBD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,aAAc,CAAC;AAMhD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAiC,GAAG,MAAM,CAWnF;AA4JD,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B5E;AAwBD,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { execSync, spawn } from "node:child_process";
|
|
1
|
+
import { execFileSync, execSync, spawn } from "node:child_process";
|
|
2
2
|
import { randomInt } from "node:crypto";
|
|
3
3
|
import fs from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
@@ -12,6 +12,14 @@ const CDP_STARTUP_TIMEOUT_MS = 8_000;
|
|
|
12
12
|
const CDP_POLL_INTERVAL_MS = 300;
|
|
13
13
|
const NEW_BROWSER_SETTLE_MS = 1_000;
|
|
14
14
|
const KILL_WAIT_MS = 5_000;
|
|
15
|
+
/** One fresh spawn after a process that never opened its CDP port. */
|
|
16
|
+
const CDP_LAUNCH_ATTEMPTS = 2;
|
|
17
|
+
export class BrowserUnavailableError extends Error {
|
|
18
|
+
constructor(message) {
|
|
19
|
+
super(message);
|
|
20
|
+
this.name = "BrowserUnavailableError";
|
|
21
|
+
}
|
|
22
|
+
}
|
|
15
23
|
let activeSelection;
|
|
16
24
|
function isVirtualMachine() {
|
|
17
25
|
if (process.platform !== "darwin")
|
|
@@ -82,19 +90,58 @@ function isCdpChromeProcessRunning(engine) {
|
|
|
82
90
|
if (process.platform === "win32")
|
|
83
91
|
return false;
|
|
84
92
|
const port = cdpPortFor(engine);
|
|
93
|
+
// Exit status, not parsed output. macOS pgrep -a prints PIDs only, so a
|
|
94
|
+
// line that must contain the flag never matches there and the retry never
|
|
95
|
+
// runs. No shell: a shell ancestor's command line contains the pattern and
|
|
96
|
+
// would match itself. procps pgrep does not report itself either.
|
|
85
97
|
try {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
});
|
|
89
|
-
return output
|
|
90
|
-
.split(/\r?\n/)
|
|
91
|
-
.some((line) => line.includes(`--remote-debugging-port=${port}`)
|
|
92
|
-
&& !line.includes("pgrep -af"));
|
|
98
|
+
execFileSync("pgrep", ["-f", "--", `--remote-debugging-port=${port}`], { stdio: "ignore" });
|
|
99
|
+
return true;
|
|
93
100
|
}
|
|
94
101
|
catch {
|
|
95
102
|
return false;
|
|
96
103
|
}
|
|
97
104
|
}
|
|
105
|
+
function browserHealthReason(state) {
|
|
106
|
+
if (state.cdpAlive) {
|
|
107
|
+
return "CDP is ready; a Playwright tool will not need to launch.";
|
|
108
|
+
}
|
|
109
|
+
if (!state.desktopVisible) {
|
|
110
|
+
return "Visible Chrome needs an interactive desktop; a Playwright tool will fail.";
|
|
111
|
+
}
|
|
112
|
+
if (!state.executablePresent) {
|
|
113
|
+
return "Browser binary is not installed; a Playwright tool will fail.";
|
|
114
|
+
}
|
|
115
|
+
if (state.processRunning) {
|
|
116
|
+
return "Browser process is running but the CDP port is not answering. The next Playwright tool will kill that process and launch once (#2905). This check did not touch the process. Do that launch before a one-use navigation.";
|
|
117
|
+
}
|
|
118
|
+
return "CDP is not up. The next Playwright tool will launch the browser (can take about 8s, once more if the first spawn never opens the port). This check did not start it. Launch before spending a one-use navigation.";
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Report whether the selected browser can take a Playwright call.
|
|
122
|
+
* Reads selection, `/json/version`, the CDP process, the binary, and the
|
|
123
|
+
* desktop. Does not set the active selection and does not launch, restart,
|
|
124
|
+
* kill, or open a page.
|
|
125
|
+
*/
|
|
126
|
+
export async function checkBrowserHealth(config) {
|
|
127
|
+
const selection = resolveBrowserSelection(config);
|
|
128
|
+
const executablePresent = typeof selection.executablePath === "string"
|
|
129
|
+
&& selection.executablePath.length > 0
|
|
130
|
+
&& fs.existsSync(selection.executablePath);
|
|
131
|
+
const state = {
|
|
132
|
+
cdpAlive: await isCdpAlive(selection.engine),
|
|
133
|
+
processRunning: isCdpChromeProcessRunning(selection.engine),
|
|
134
|
+
executablePresent,
|
|
135
|
+
desktopVisible: getHostCapabilities().browser.visible,
|
|
136
|
+
};
|
|
137
|
+
return {
|
|
138
|
+
available: state.cdpAlive,
|
|
139
|
+
engine: selection.engine,
|
|
140
|
+
endpoint: cdpBase(selection.engine),
|
|
141
|
+
...state,
|
|
142
|
+
reason: browserHealthReason(state),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
98
145
|
function killChrome(engine) {
|
|
99
146
|
const port = cdpPortFor(engine);
|
|
100
147
|
try {
|
|
@@ -200,33 +247,47 @@ function launchFlags(selection) {
|
|
|
200
247
|
}
|
|
201
248
|
return flags;
|
|
202
249
|
}
|
|
203
|
-
|
|
250
|
+
function browserMissingMessage(selection) {
|
|
251
|
+
return selection.reason === "fingerprint-unavailable"
|
|
252
|
+
? "Fingerprint Chromium is not installed and stock Chrome was not found."
|
|
253
|
+
: `Browser not found at ${selection.executablePath ?? "<unset>"}.`;
|
|
254
|
+
}
|
|
255
|
+
async function waitForCdp(engine, timeoutMs) {
|
|
256
|
+
const started = Date.now();
|
|
257
|
+
for (;;) {
|
|
258
|
+
if (await isCdpAlive(engine))
|
|
259
|
+
return true;
|
|
260
|
+
if (Date.now() - started >= timeoutMs)
|
|
261
|
+
return false;
|
|
262
|
+
await new Promise((r) => setTimeout(r, CDP_POLL_INTERVAL_MS));
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* One spawn, or a wait on a process that is already starting.
|
|
267
|
+
* `launched: false` means CDP was already up and nothing was spawned.
|
|
268
|
+
*/
|
|
269
|
+
async function launchBrowserOnce(selection) {
|
|
204
270
|
const capabilities = getHostCapabilities();
|
|
205
271
|
if (!capabilities.browser.visible) {
|
|
206
|
-
|
|
207
|
-
return false;
|
|
272
|
+
return { ok: false, reason: "Visible Chrome requires an interactive desktop session." };
|
|
208
273
|
}
|
|
209
274
|
const engine = selection.engine;
|
|
210
275
|
if (await isCdpAlive(engine)) {
|
|
211
|
-
return false;
|
|
276
|
+
return { ok: true, launched: false };
|
|
212
277
|
}
|
|
213
278
|
if (isCdpChromeProcessRunning(engine)) {
|
|
214
279
|
logger.system(`Browser with CDP port ${cdpPortFor(engine)} already launching — reusing instead of double-launch`);
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
await new Promise((r) => setTimeout(r, CDP_POLL_INTERVAL_MS));
|
|
218
|
-
if (await isCdpAlive(engine))
|
|
219
|
-
return false;
|
|
280
|
+
if (await waitForCdp(engine, CDP_STARTUP_TIMEOUT_MS)) {
|
|
281
|
+
return { ok: true, launched: false };
|
|
220
282
|
}
|
|
221
|
-
|
|
222
|
-
|
|
283
|
+
return {
|
|
284
|
+
ok: false,
|
|
285
|
+
reason: `Browser process is running but CDP port ${cdpPortFor(engine)} did not respond within ${CDP_STARTUP_TIMEOUT_MS}ms.`,
|
|
286
|
+
};
|
|
223
287
|
}
|
|
224
288
|
const chromePath = selection.executablePath;
|
|
225
289
|
if (!chromePath || !fs.existsSync(chromePath)) {
|
|
226
|
-
|
|
227
|
-
? "Fingerprint Chromium is not installed and stock Chrome was not found."
|
|
228
|
-
: `Browser not found at ${chromePath ?? "<unset>"}.`);
|
|
229
|
-
return false;
|
|
290
|
+
return { ok: false, reason: browserMissingMessage(selection) };
|
|
230
291
|
}
|
|
231
292
|
const flags = launchFlags(selection);
|
|
232
293
|
const child = spawn(chromePath, flags, {
|
|
@@ -238,19 +299,39 @@ async function launchBrowser(selection) {
|
|
|
238
299
|
logger.warn(`Browser process error: ${err.message}`);
|
|
239
300
|
});
|
|
240
301
|
child.unref();
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
302
|
+
if (await waitForCdp(engine, CDP_STARTUP_TIMEOUT_MS)) {
|
|
303
|
+
logger.system(`${describeBrowserSelection(selection)} launched on loopback CDP port ${cdpPortFor(engine)}`);
|
|
304
|
+
await new Promise((r) => setTimeout(r, NEW_BROWSER_SETTLE_MS));
|
|
305
|
+
return { ok: true, launched: true };
|
|
306
|
+
}
|
|
307
|
+
return {
|
|
308
|
+
ok: false,
|
|
309
|
+
reason: `Browser process spawned but CDP port ${cdpPortFor(engine)} did not respond within ${CDP_STARTUP_TIMEOUT_MS}ms.`,
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Bring the selected browser's CDP up. A process that never opens its port
|
|
314
|
+
* is killed and spawned again, once. Still-dead returns a reason instead of
|
|
315
|
+
* pretending the port is usable.
|
|
316
|
+
*/
|
|
317
|
+
async function launchBrowser(selection) {
|
|
318
|
+
let last = { ok: false, reason: "Browser did not start." };
|
|
319
|
+
for (let attempt = 1; attempt <= CDP_LAUNCH_ATTEMPTS; attempt++) {
|
|
320
|
+
last = await launchBrowserOnce(selection);
|
|
321
|
+
if (last.ok)
|
|
322
|
+
return last;
|
|
323
|
+
if (attempt === CDP_LAUNCH_ATTEMPTS)
|
|
249
324
|
break;
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
325
|
+
// A missing binary or a headless host will not get better on a retry.
|
|
326
|
+
if (!isCdpChromeProcessRunning(selection.engine)) {
|
|
327
|
+
logger.warn(last.reason);
|
|
328
|
+
return last;
|
|
329
|
+
}
|
|
330
|
+
logger.warn(`${last.reason} Killing it and launching again (${attempt}/${CDP_LAUNCH_ATTEMPTS}).`);
|
|
331
|
+
await killAndWait(selection.engine);
|
|
332
|
+
}
|
|
333
|
+
logger.warn(last.reason);
|
|
334
|
+
return last;
|
|
254
335
|
}
|
|
255
336
|
export async function ensureBrowser(config) {
|
|
256
337
|
const selection = resolveBrowserSelection(config);
|
|
@@ -271,19 +352,32 @@ export async function ensureBrowser(config) {
|
|
|
271
352
|
else if (selection.reason === "default-fingerprint") {
|
|
272
353
|
logger.system(`Browser engine: fingerprint Chromium (${selection.executablePath})`);
|
|
273
354
|
}
|
|
355
|
+
const failure = await bringBrowserUp(selection);
|
|
356
|
+
if (failure) {
|
|
357
|
+
logger.warn(`Failed to ensure browser: ${failure}`);
|
|
358
|
+
throw new BrowserUnavailableError(failure);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Restart or launch the selected engine. Returns the failure reason, or null
|
|
363
|
+
* once `/json/version` answers. Callers that only log (the watchdog) read
|
|
364
|
+
* the reason; tool calls throw it via {@link ensureBrowser}.
|
|
365
|
+
*/
|
|
366
|
+
async function bringBrowserUp(selection) {
|
|
274
367
|
try {
|
|
275
368
|
if (await isCdpAlive(selection.engine)) {
|
|
276
369
|
if (await arePagesHealthy(selection.engine)) {
|
|
277
370
|
logger.debug("Browser already running on CDP port");
|
|
278
|
-
return;
|
|
371
|
+
return null;
|
|
279
372
|
}
|
|
280
373
|
logger.warn("CDP page targets unhealthy — restarting browser");
|
|
281
374
|
await killAndWait(selection.engine);
|
|
282
375
|
}
|
|
283
|
-
await launchBrowser(selection);
|
|
376
|
+
const launched = await launchBrowser(selection);
|
|
377
|
+
return launched.ok ? null : launched.reason;
|
|
284
378
|
}
|
|
285
379
|
catch (err) {
|
|
286
|
-
|
|
380
|
+
return err instanceof Error ? err.message : String(err);
|
|
287
381
|
}
|
|
288
382
|
}
|
|
289
383
|
export async function restartBrowser(config) {
|
|
@@ -291,6 +385,9 @@ export async function restartBrowser(config) {
|
|
|
291
385
|
activeSelection = selection;
|
|
292
386
|
logger.system("Restarting browser for Playwright recovery");
|
|
293
387
|
await killAndWait(selection.engine);
|
|
294
|
-
await
|
|
388
|
+
const failure = await bringBrowserUp(selection);
|
|
389
|
+
if (failure) {
|
|
390
|
+
logger.warn(`Browser restart failed: ${failure}`);
|
|
391
|
+
}
|
|
295
392
|
}
|
|
296
393
|
//# sourceMappingURL=browser-launcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-launcher.js","sourceRoot":"","sources":["../../src/agent/browser-launcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser-launcher.js","sourceRoot":"","sources":["../../src/agent/browser-launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import type { VisionClawConfig } from "../../config/types.js";
|
|
2
2
|
export declare function isPlaywrightToolName(toolName: string): boolean;
|
|
3
|
+
export interface BrowserToolGate {
|
|
4
|
+
/** False when the selected browser's CDP did not come up. Do not call the tool. */
|
|
5
|
+
proceed: boolean;
|
|
6
|
+
/** Shown to the model instead of a connection refused from a dead port. */
|
|
7
|
+
reason?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Start the selected browser before a Playwright tool runs. A launch that
|
|
11
|
+
* never opens CDP returns proceed:false with the reason, so the tool is not
|
|
12
|
+
* handed a port that will refuse the connection.
|
|
13
|
+
*/
|
|
3
14
|
export declare function ensureBrowserForTool(options: {
|
|
4
15
|
toolName: string;
|
|
5
16
|
config?: VisionClawConfig;
|
|
6
|
-
}): Promise<
|
|
17
|
+
}): Promise<BrowserToolGate>;
|
|
7
18
|
//# sourceMappingURL=browser-tool-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-tool-policy.d.ts","sourceRoot":"","sources":["../../../src/agent/engines/browser-tool-policy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"browser-tool-policy.d.ts","sourceRoot":"","sources":["../../../src/agent/engines/browser-tool-policy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,GAAG,OAAO,CAAC,eAAe,CAAC,CAY3B"}
|
|
@@ -1,10 +1,25 @@
|
|
|
1
|
-
import { ensureBrowser } from "../browser-launcher.js";
|
|
1
|
+
import { BrowserUnavailableError, ensureBrowser } from "../browser-launcher.js";
|
|
2
2
|
import { logger } from "../../logger.js";
|
|
3
3
|
export function isPlaywrightToolName(toolName) {
|
|
4
4
|
return toolName.startsWith("mcp__playwright__") || toolName.startsWith("playwright_");
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Start the selected browser before a Playwright tool runs. A launch that
|
|
8
|
+
* never opens CDP returns proceed:false with the reason, so the tool is not
|
|
9
|
+
* handed a port that will refuse the connection.
|
|
10
|
+
*/
|
|
6
11
|
export async function ensureBrowserForTool(options) {
|
|
7
12
|
logger.debug(`[ToolUse] ensuring browser for ${options.toolName}`);
|
|
8
|
-
|
|
13
|
+
try {
|
|
14
|
+
await ensureBrowser(options.config);
|
|
15
|
+
return { proceed: true };
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
const reason = err instanceof BrowserUnavailableError
|
|
19
|
+
? err.message
|
|
20
|
+
: err instanceof Error ? err.message : String(err);
|
|
21
|
+
logger.warn(`[ToolUse] ${options.toolName} skipped: ${reason}`);
|
|
22
|
+
return { proceed: false, reason };
|
|
23
|
+
}
|
|
9
24
|
}
|
|
10
25
|
//# sourceMappingURL=browser-tool-policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-tool-policy.js","sourceRoot":"","sources":["../../../src/agent/engines/browser-tool-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-tool-policy.js","sourceRoot":"","sources":["../../../src/agent/engines/browser-tool-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACxF,CAAC;AASD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAG1C;IACC,MAAM,CAAC,KAAK,CAAC,kCAAkC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,uBAAuB;YACnD,CAAC,CAAC,GAAG,CAAC,OAAO;YACb,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,QAAQ,aAAa,MAAM,EAAE,CAAC,CAAC;QAChE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;AACH,CAAC"}
|
|
@@ -254,6 +254,7 @@ export declare class ClaudeAgentSession implements AgentSessionLike {
|
|
|
254
254
|
abortActiveQuery(): void;
|
|
255
255
|
requestStop(): void;
|
|
256
256
|
isStopRequested(): boolean;
|
|
257
|
+
executionBarrierConfirmed(): boolean;
|
|
257
258
|
clearStop(): void;
|
|
258
259
|
/**
|
|
259
260
|
* Update the persisted session ID.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/agent/engines/claude/session.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EAUpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAsBpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,OAAO,KAAK,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,kBAAkB,EAElB,oBAAoB,EACpB,oBAAoB,EAEpB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAsB7B,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAC3C,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAG3D;;;;;;;;GAQG;AACH,eAAO,MAAM,uCAAuC,OAAO,CAAC;AAC5D,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAqE1C;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,CASvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAUjF;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,WAAW,CAAgC;IACnD,kFAAkF;IAClF,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,wEAAwE;IACxE,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,YAAY,CAAsB;IAC1C,qEAAqE;IACrE,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,yBAAyB,CAAuB;IACxD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,cAAc,CAAuB;IAC7C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,mBAAmB,CAAK;IAEhC,OAAO,CAAC,sBAAsB,CAAK;IAEnC,OAAO,CAAC,eAAe,CAAS;IAEhC;;;;;;OAMG;IACH,OAAO,CAAC,6BAA6B,CAAK;IAE1C,OAAO,CAAC,aAAa,CAAS;IAE9B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAAS;IAEnC,sEAAsE;IACtE,OAAO,CAAC,mBAAmB,CAAmC;IAE9D,sFAAsF;IACtF,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,mBAAmB,CAAgC;IAC3D;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAA8C;IAEtE,OAAO,CAAC,iBAAiB,CAA8B;gBAE3C,EACV,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,YAAY,GACb,EAAE,2BAA2B;IAqB9B,IAAI,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EAEzD;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/agent/engines/claude/session.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EAUpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAsBpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,OAAO,KAAK,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,kBAAkB,EAElB,oBAAoB,EACpB,oBAAoB,EAEpB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAsB7B,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAC3C,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAG3D;;;;;;;;GAQG;AACH,eAAO,MAAM,uCAAuC,OAAO,CAAC;AAC5D,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAqE1C;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,CASvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAUjF;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,WAAW,CAAgC;IACnD,kFAAkF;IAClF,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,wEAAwE;IACxE,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,YAAY,CAAsB;IAC1C,qEAAqE;IACrE,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,yBAAyB,CAAuB;IACxD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,cAAc,CAAuB;IAC7C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,mBAAmB,CAAK;IAEhC,OAAO,CAAC,sBAAsB,CAAK;IAEnC,OAAO,CAAC,eAAe,CAAS;IAEhC;;;;;;OAMG;IACH,OAAO,CAAC,6BAA6B,CAAK;IAE1C,OAAO,CAAC,aAAa,CAAS;IAE9B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAAS;IAEnC,sEAAsE;IACtE,OAAO,CAAC,mBAAmB,CAAmC;IAE9D,sFAAsF;IACtF,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,mBAAmB,CAAgC;IAC3D;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAA8C;IAEtE,OAAO,CAAC,iBAAiB,CAA8B;gBAE3C,EACV,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,YAAY,GACb,EAAE,2BAA2B;IAqB9B,IAAI,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EAEzD;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,UAAU;IAyOlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6EzB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,YAAY;IAIpB,8DAA8D;IAC9D,OAAO,CAAC,qBAAqB;IAO7B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;;;;;;;;OAUG;YACW,kBAAkB;IAuDhC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAoBhC;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkG7B;;;;;;;;;;;;;OAaG;IACH,gBAAgB,IAAI,IAAI;IAkBlB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;OAKG;YACW,mBAAmB;IAYjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA0C;IACtF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAClE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA6B;IAEzE,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,kBAAkB;YAgBZ,kBAAkB;YAUlB,iBAAiB;IAmBzB,gBAAgB,IAAI,OAAO,CAAC;QAAE,iBAAiB,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC;YAQ9E,iCAAiC;IAUxC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,aAAa,CAAC,kBAAkB,CAAC;IAkCzH,OAAO,CAAC,UAAU;IAqJlB;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO;IAyBxF;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAalB;;OAEG;IACH,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED,IAAI,aAAa,IAAI,OAAO,CAI3B;IAED,iFAAiF;IACjF,gBAAgB,IAAI,IAAI;IAYxB,WAAW,IAAI,IAAI;IAwBnB,eAAe,IAAI,OAAO;IAI1B,yBAAyB,IAAI,OAAO;IAMpC,SAAS,IAAI,IAAI;IAQjB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM9C,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI;IAMzD,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B,OAAO,CAAC,mBAAmB,CAAuB;IAElD,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAgB1C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMpC;;OAEG;IACH,mBAAmB,IAAI,MAAM,GAAG,IAAI;IAMpC;;;;;;OAMG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwMxC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAenD;;;;;;OAMG;IACH,6BAA6B,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI;IAoBjE;;;;;;;;OAQG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE;QAC3B;;;;WAIG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6EjB,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC,iBAAiB,IAAI;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAQrF;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAK5B,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAIxC,gCAAgC,IAAI,MAAM;IAI1C,oEAAoE;IACpE,eAAe,IAAI,KAAK,GAAG,IAAI;IAI/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACG,mBAAmB,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA6F1D,iFAAiF;IACjF,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;IAI5E,kDAAkD;IAClD,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAGhE"}
|
|
@@ -373,11 +373,20 @@ export class ClaudeAgentSession {
|
|
|
373
373
|
hooks: [
|
|
374
374
|
(async (_input) => {
|
|
375
375
|
const pre = _input;
|
|
376
|
-
await ensureBrowserForTool({
|
|
376
|
+
const gate = await ensureBrowserForTool({
|
|
377
377
|
toolName: pre.tool_name,
|
|
378
378
|
config: this.config,
|
|
379
379
|
});
|
|
380
|
-
|
|
380
|
+
if (gate.proceed)
|
|
381
|
+
return {};
|
|
382
|
+
return {
|
|
383
|
+
hookSpecificOutput: {
|
|
384
|
+
hookEventName: "PreToolUse",
|
|
385
|
+
permissionDecision: "deny",
|
|
386
|
+
permissionDecisionReason: gate.reason
|
|
387
|
+
?? "The selected browser did not open its debugging port.",
|
|
388
|
+
},
|
|
389
|
+
};
|
|
381
390
|
}),
|
|
382
391
|
],
|
|
383
392
|
timeout: 30,
|
|
@@ -1157,6 +1166,11 @@ export class ClaudeAgentSession {
|
|
|
1157
1166
|
isStopRequested() {
|
|
1158
1167
|
return this.stopRequested;
|
|
1159
1168
|
}
|
|
1169
|
+
executionBarrierConfirmed() {
|
|
1170
|
+
// Aborting the live query does not prove the CLI subprocess stopped, and
|
|
1171
|
+
// the idle warm subprocess is a separate process this abort never touches.
|
|
1172
|
+
return false;
|
|
1173
|
+
}
|
|
1160
1174
|
clearStop() {
|
|
1161
1175
|
this.stopRequested = false;
|
|
1162
1176
|
// Only null the *live query's* abort controller. The warm subprocess
|