pi-browser-use 0.5.0 → 0.6.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 +8 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +12 -2
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -19
- package/dist/index.js.map +1 -1
- package/dist/tool-augment.d.ts +7 -0
- package/dist/tool-augment.d.ts.map +1 -1
- package/dist/tool-augment.js +17 -3
- package/dist/tool-augment.js.map +1 -1
- package/package.json +1 -1
- package/skills/browser-policy/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -43,6 +43,13 @@ Settings key is `pi-browser-use` in `~/.pi/agent/settings.json` (user) or `.pi/s
|
|
|
43
43
|
|
|
44
44
|
All browser behavior plus the policy skill in one install; `.pi/settings.json` is purely for overrides.
|
|
45
45
|
|
|
46
|
+
Per-project identity composes: user settings set the default, trusted project settings win per repo. Example — separate agent profiles per project:
|
|
47
|
+
|
|
48
|
+
```jsonc
|
|
49
|
+
// ~/Developer/work/.pi/settings.json
|
|
50
|
+
{ "pi-browser-use": { "mode": "persistent", "userDataDir": "~/.pi/browser-profile-work" } }
|
|
51
|
+
```
|
|
52
|
+
|
|
46
53
|
<details>
|
|
47
54
|
<summary>Advanced: full option reference (upstream parity)</summary>
|
|
48
55
|
|
|
@@ -118,7 +125,7 @@ Vision analysis for canvas/WebGL scenes and coordinate clicks the accessibility
|
|
|
118
125
|
|
|
119
126
|
## Page-scoped tools
|
|
120
127
|
|
|
121
|
-
Call `browser_list_pages` first, then pass its numeric `pageId` to page-scoped tools. Click-family calls blocked by an overlay are retried once automatically after dismissing it with Escape; stale element references get a refresh hint. See `skills/browser-policy/SKILL.md` for the full agent policy.
|
|
128
|
+
Call `browser_list_pages` first, then pass its numeric `pageId` to page-scoped tools. Click-family calls blocked by an overlay are retried once automatically after dismissing it with Escape; stale element references get a refresh hint. Hard blocks escalate on their own: login walls in a fresh session suggest the switch call, while login walls and bot challenges in an authenticated session rebuild headed and prompt the human — once per call, never looping. See `skills/browser-policy/SKILL.md` for the full agent policy.
|
|
122
129
|
|
|
123
130
|
## Browser profile
|
|
124
131
|
|
package/dist/config.d.ts
CHANGED
|
@@ -61,6 +61,8 @@ export type BrowserMode = 'fresh' | 'persistent';
|
|
|
61
61
|
* Attach fields never carry across modes.
|
|
62
62
|
*/
|
|
63
63
|
export declare function resolveModeTarget(base: BrowserUseConfig, mode: BrowserMode, headed?: boolean): BrowserUseConfig;
|
|
64
|
+
/** Expand a leading ~/ in user-supplied paths (env interpolation covers ${} only). */
|
|
65
|
+
export declare function expandHome(path: string): string;
|
|
64
66
|
/** Merge user config over fresh-headless defaults. */
|
|
65
67
|
export declare function resolveConfig(config?: BrowserUseConfig): BrowserUseConfig;
|
|
66
68
|
/** Convert config into CLI flags for the chrome-devtools-mcp subprocess. */
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,QAA4C,CAAA;AAE5E,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,CAAA;AAEvE,4GAA4G;AAC5G,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAA;AAEnE,2GAA2G;AAC3G,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,iKAAiK;IACjK,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAyBD,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,YAAY,CAAA;AAEhD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,WAAW,EACjB,MAAM,UAAQ,GACb,gBAAgB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,QAA4C,CAAA;AAE5E,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,CAAA;AAEvE,4GAA4G;AAC5G,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAA;AAEnE,2GAA2G;AAC3G,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,iKAAiK;IACjK,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAyBD,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,YAAY,CAAA;AAEhD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,WAAW,EACjB,MAAM,UAAQ,GACb,gBAAgB,CA0BlB;AAED,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAgDzE;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAqC/D"}
|
package/dist/config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { homedir } from 'node:os';
|
|
2
|
-
import { join } from 'node:path';
|
|
2
|
+
import { join, resolve } from 'node:path';
|
|
3
3
|
export const DEFAULT_PROFILE_DIR = join(homedir(), '.pi', 'browser-profile');
|
|
4
4
|
/**
|
|
5
5
|
* Fresh headless by default: isolated ephemeral profile, no window, never
|
|
@@ -30,10 +30,12 @@ const DEFAULTS = {
|
|
|
30
30
|
* Attach fields never carry across modes.
|
|
31
31
|
*/
|
|
32
32
|
export function resolveModeTarget(base, mode, headed = false) {
|
|
33
|
-
const { browserUrl: _browserUrl, wsEndpoint: _wsEndpoint, autoConnect: _autoConnect, ...rest } = base;
|
|
33
|
+
const { browserUrl: _browserUrl, wsEndpoint: _wsEndpoint, autoConnect: _autoConnect, mode: _mode, headed: _headed, ...rest } = base;
|
|
34
34
|
void _browserUrl;
|
|
35
35
|
void _wsEndpoint;
|
|
36
36
|
void _autoConnect;
|
|
37
|
+
void _mode;
|
|
38
|
+
void _headed;
|
|
37
39
|
if (mode === 'fresh') {
|
|
38
40
|
const { userDataDir: _userDataDir, ...freshRest } = rest;
|
|
39
41
|
void _userDataDir;
|
|
@@ -47,10 +49,18 @@ export function resolveModeTarget(base, mode, headed = false) {
|
|
|
47
49
|
userDataDir: base.userDataDir ?? DEFAULT_PROFILE_DIR,
|
|
48
50
|
};
|
|
49
51
|
}
|
|
52
|
+
/** Expand a leading ~/ in user-supplied paths (env interpolation covers ${} only). */
|
|
53
|
+
export function expandHome(path) {
|
|
54
|
+
return path === '~' ? homedir() : path.startsWith('~/') ? resolve(homedir(), path.slice(2)) : path;
|
|
55
|
+
}
|
|
50
56
|
/** Merge user config over fresh-headless defaults. */
|
|
51
57
|
export function resolveConfig(config) {
|
|
52
58
|
const { mode, headed, ...rest } = config ?? {};
|
|
53
59
|
const resolved = { ...DEFAULTS, ...rest };
|
|
60
|
+
if (typeof resolved.userDataDir === 'string')
|
|
61
|
+
resolved.userDataDir = expandHome(resolved.userDataDir);
|
|
62
|
+
if (typeof resolved.executablePath === 'string')
|
|
63
|
+
resolved.executablePath = expandHome(resolved.executablePath);
|
|
54
64
|
if (mode !== undefined) {
|
|
55
65
|
// The simple facade wins over sessionMode/headless when present.
|
|
56
66
|
if (mode === 'fresh') {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAkCzD,UAAU,aAAa;IACrB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IAChD,mBAAmB,CACjB,KAAK,EAAE,OAAO,GACb,OAAO,CACR;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAC/F,CAAA;CACF;AAED,UAAU,aAAa;IACrB,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,UAAU,EAAE;IACV,YAAY,CAAC,GAAG,EAAE;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,OAAO,CAAA;QACnB,OAAO,EAAE,CACP,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,OAAO,EAClB,GAAG,CAAC,EAAE,aAAa,KAChB,OAAO,CAAC;YACX,OAAO,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;YACjF,OAAO,CAAC,EAAE,OAAO,CAAA;YACjB,OAAO,CAAC,EAAE,SAAS,CAAA;SACpB,CAAC,CAAA;KACH,GAAG,IAAI,CAAA;IACR,EAAE,CACA,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GACzF,IAAI,CAAA;CACR;AA8BD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,EAAE,EAAE,QAuXjD"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { Type } from 'typebox';
|
|
|
5
5
|
import { DevToolsClient } from './client.js';
|
|
6
6
|
import { resolveConfig, resolveModeTarget, } from './config.js';
|
|
7
7
|
import { isProjectTrusted, loadConfig } from './settings.js';
|
|
8
|
-
import { augmentToolDescription, extractTextContent, looksLikeLoginWall, looksOverlayBlocked, OVERLAY_RECOVERABLE, postProcessToolResult, } from './tool-augment.js';
|
|
8
|
+
import { augmentToolDescription, classifyPageState, extractTextContent, looksLikeLoginWall, looksOverlayBlocked, OVERLAY_RECOVERABLE, postProcessToolResult, } from './tool-augment.js';
|
|
9
9
|
import { pickImageData, resolveArtifactTarget } from './artifacts.js';
|
|
10
10
|
import { CLEANUP_ANNOTATIONS, formatAnnotatedMap, INJECT_ANNOTATIONS, parseAnnotatedElements, } from './annotate.js';
|
|
11
11
|
import { diagnose, formatDoctorReport } from './doctor.js';
|
|
@@ -77,6 +77,28 @@ export default function browserUseExtension(pi) {
|
|
|
77
77
|
return 'persistent';
|
|
78
78
|
return 'custom';
|
|
79
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Rebuild the backend for a mode switch. Shared by the switch tool and
|
|
82
|
+
* automatic escalation so both paths behave identically.
|
|
83
|
+
*/
|
|
84
|
+
async function switchBackend(mode, headed, signal) {
|
|
85
|
+
const next = resolveConfig(resolveModeTarget(config ?? {}, mode, headed));
|
|
86
|
+
if (client) {
|
|
87
|
+
try {
|
|
88
|
+
await client.close();
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
// A half-dead transport must not block the switch.
|
|
92
|
+
}
|
|
93
|
+
client = undefined;
|
|
94
|
+
}
|
|
95
|
+
prepareBrowserProfile(next);
|
|
96
|
+
client = new DevToolsClient(next);
|
|
97
|
+
await client.ensureReady(signal);
|
|
98
|
+
config = next;
|
|
99
|
+
currentMode = mode;
|
|
100
|
+
return next;
|
|
101
|
+
}
|
|
80
102
|
function loginWallHint(url, text) {
|
|
81
103
|
if (currentMode !== 'fresh')
|
|
82
104
|
return '';
|
|
@@ -84,6 +106,49 @@ export default function browserUseExtension(pi) {
|
|
|
84
106
|
return '';
|
|
85
107
|
return '\n\nHint: this looks like a login wall in a fresh (logged-out) session. If the page needs your identity, call browser_switch_mode({"mode": "persistent"}) — a human must complete any SSO, 2FA, or passkey step, ideally headed.';
|
|
86
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Automatic escalation for hard blocks the agent cannot clear alone.
|
|
111
|
+
* Returns prompt text for the agent to relay, or empty when nothing
|
|
112
|
+
* applies. Escalates at most once per call; never loops, never retries
|
|
113
|
+
* a challenge page, and never switches away from an attached session.
|
|
114
|
+
*/
|
|
115
|
+
async function escalateBlockedPage(url, text, signal) {
|
|
116
|
+
const state = classifyPageState(url, text);
|
|
117
|
+
if (state === 'ok')
|
|
118
|
+
return '';
|
|
119
|
+
if (state === 'login-wall') {
|
|
120
|
+
if (currentMode === 'fresh')
|
|
121
|
+
return loginWallHint(url, text);
|
|
122
|
+
if (currentMode === 'custom') {
|
|
123
|
+
return '\n\nThis page needs an identity this session does not have. Sign in is required — complete it in the visible browser, then retry.';
|
|
124
|
+
}
|
|
125
|
+
return await escalateToHeaded(url ?? 'this page');
|
|
126
|
+
}
|
|
127
|
+
// Challenge (bot check): identity never helps; only a human-gated
|
|
128
|
+
// headed window can clear it. Stay in the same mode.
|
|
129
|
+
if (config?.headless === false) {
|
|
130
|
+
return '\n\nA bot challenge is blocking this page and the browser is already visible. Complete the challenge in the window, then retry.';
|
|
131
|
+
}
|
|
132
|
+
if (currentMode === 'custom') {
|
|
133
|
+
return '\n\nA bot challenge is blocking this page. Complete it in the visible browser, then retry — do not loop against the challenge.';
|
|
134
|
+
}
|
|
135
|
+
return await escalateToHeaded(url ?? 'this page');
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Rebuild the current backend headed so a human can act (log in, clear
|
|
139
|
+
* a challenge), then tell the agent exactly what to relay. Attach
|
|
140
|
+
* sessions are already visible and owned by the user: prompt only.
|
|
141
|
+
*/
|
|
142
|
+
async function escalateToHeaded(url, signal) {
|
|
143
|
+
const mode = currentMode === 'persistent' ? 'persistent' : 'fresh';
|
|
144
|
+
try {
|
|
145
|
+
await switchBackend(mode, true, signal);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
return `\n\nBlocked on ${url} and the headed browser failed to launch (${error instanceof Error ? error.message : String(error)}). Ask the user to proceed manually.`;
|
|
149
|
+
}
|
|
150
|
+
return `\n\nBlocked on ${url}: a browser window just opened (same ${mode} session — previous tabs are gone, re-list pages after). Please complete the login or challenge in that window, then tell the agent to continue. Do not close the window until done.`;
|
|
151
|
+
}
|
|
87
152
|
function pageUrlFromSnapshot(text) {
|
|
88
153
|
return text.match(/\burl="([^"]+)"/)?.[1];
|
|
89
154
|
}
|
|
@@ -133,10 +198,10 @@ export default function browserUseExtension(pi) {
|
|
|
133
198
|
const url = originalName === 'navigate_page' && typeof params.url === 'string'
|
|
134
199
|
? params.url
|
|
135
200
|
: pageUrlFromSnapshot(extractTextContent(result.content));
|
|
136
|
-
const
|
|
201
|
+
const escalation = await escalateBlockedPage(url, extractTextContent(result.content), signal);
|
|
137
202
|
const first = toolContent.content[0];
|
|
138
|
-
if (
|
|
139
|
-
first.text +=
|
|
203
|
+
if (escalation && first && first.text !== undefined) {
|
|
204
|
+
first.text += escalation;
|
|
140
205
|
}
|
|
141
206
|
}
|
|
142
207
|
return { ...toolContent, details: undefined };
|
|
@@ -243,21 +308,7 @@ export default function browserUseExtension(pi) {
|
|
|
243
308
|
}),
|
|
244
309
|
async execute(_toolCallId, params, signal) {
|
|
245
310
|
const mode = params.mode === 'persistent' ? 'persistent' : 'fresh';
|
|
246
|
-
const next =
|
|
247
|
-
if (client) {
|
|
248
|
-
try {
|
|
249
|
-
await client.close();
|
|
250
|
-
}
|
|
251
|
-
catch {
|
|
252
|
-
// A half-dead transport must not block the switch.
|
|
253
|
-
}
|
|
254
|
-
client = undefined;
|
|
255
|
-
}
|
|
256
|
-
prepareBrowserProfile(next);
|
|
257
|
-
client = new DevToolsClient(next);
|
|
258
|
-
await client.ensureReady(signal);
|
|
259
|
-
config = next;
|
|
260
|
-
currentMode = mode;
|
|
311
|
+
const next = await switchBackend(mode, params.headed === true, signal);
|
|
261
312
|
return {
|
|
262
313
|
content: [
|
|
263
314
|
{
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tool-augment.d.ts
CHANGED
|
@@ -7,5 +7,12 @@ export declare function looksOverlayBlocked(text: string): boolean;
|
|
|
7
7
|
* content signals (a lone "Sign in" link on a homepage must not trigger).
|
|
8
8
|
*/
|
|
9
9
|
export declare function looksLikeLoginWall(url: string | undefined, text: string): boolean;
|
|
10
|
+
export type PageState = 'ok' | 'login-wall' | 'challenge';
|
|
11
|
+
/**
|
|
12
|
+
* Classify what kind of gate (if any) a page presents. Login walls need an
|
|
13
|
+
* identity; challenges (bot checks) may clear on their own and never need
|
|
14
|
+
* one — escalating identity for a challenge is wrong.
|
|
15
|
+
*/
|
|
16
|
+
export declare function classifyPageState(url: string | undefined, text: string): PageState;
|
|
10
17
|
export declare function extractTextContent(content: unknown): string;
|
|
11
18
|
//# sourceMappingURL=tool-augment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-augment.d.ts","sourceRoot":"","sources":["../src/tool-augment.ts"],"names":[],"mappings":"AASA,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGxF;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhF;AAID,eAAO,MAAM,mBAAmB,aAS9B,CAAA;AAEF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;
|
|
1
|
+
{"version":3,"file":"tool-augment.d.ts","sourceRoot":"","sources":["../src/tool-augment.ts"],"names":[],"mappings":"AASA,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGxF;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhF;AAID,eAAO,MAAM,mBAAmB,aAS9B,CAAA;AAEF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAeD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjF;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,YAAY,GAAG,WAAW,CAAA;AAKzD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAIlF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAS3D"}
|
package/dist/tool-augment.js
CHANGED
|
@@ -34,14 +34,15 @@ export function looksOverlayBlocked(text) {
|
|
|
34
34
|
return /overlay|obscured|intercept|behind another element|not clickable|not visible/i.test(text);
|
|
35
35
|
}
|
|
36
36
|
const LOGIN_URL = /(^|\/)(login|log-in|signin|sign-in|auth|authenticate|challenge|verify|2fa|totp|sso)(\/|$|[?#])/i;
|
|
37
|
+
// Identity-specific phrases only. Bot-check vocabulary (Turnstile, "just a
|
|
38
|
+
// moment") belongs to CHALLENGE below — mixing them makes one interstitial
|
|
39
|
+
// count twice and misclassify challenges as login walls.
|
|
37
40
|
const LOGIN_CONTENT = [
|
|
38
|
-
/verifying you are human/i,
|
|
39
|
-
/just a moment/i,
|
|
40
|
-
/cf-turnstile/i,
|
|
41
41
|
/log in to continue/i,
|
|
42
42
|
/sign in to continue/i,
|
|
43
43
|
/two-factor authentication/i,
|
|
44
44
|
/2-step verification/i,
|
|
45
|
+
/enter your password/i,
|
|
45
46
|
];
|
|
46
47
|
/**
|
|
47
48
|
* Conservative login-wall detection: URL match, or at least two independent
|
|
@@ -52,6 +53,19 @@ export function looksLikeLoginWall(url, text) {
|
|
|
52
53
|
return true;
|
|
53
54
|
return LOGIN_CONTENT.filter((pattern) => pattern.test(text)).length >= 2;
|
|
54
55
|
}
|
|
56
|
+
const CHALLENGE = /just a moment|verifying you are human|cf-turnstile|attention required|security check|prove you are human/i;
|
|
57
|
+
/**
|
|
58
|
+
* Classify what kind of gate (if any) a page presents. Login walls need an
|
|
59
|
+
* identity; challenges (bot checks) may clear on their own and never need
|
|
60
|
+
* one — escalating identity for a challenge is wrong.
|
|
61
|
+
*/
|
|
62
|
+
export function classifyPageState(url, text) {
|
|
63
|
+
if (looksLikeLoginWall(url, text))
|
|
64
|
+
return 'login-wall';
|
|
65
|
+
if (CHALLENGE.test(url ?? '') || CHALLENGE.test(text))
|
|
66
|
+
return 'challenge';
|
|
67
|
+
return 'ok';
|
|
68
|
+
}
|
|
55
69
|
export function extractTextContent(content) {
|
|
56
70
|
if (!Array.isArray(content))
|
|
57
71
|
return '';
|
package/dist/tool-augment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-augment.js","sourceRoot":"","sources":["../src/tool-augment.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAA2B;IACpC,aAAa,EACX,mGAAmG;IACrG,YAAY,EAAE,+EAA+E;IAC7F,iBAAiB,EAAE,2DAA2D;IAC9E,qBAAqB,EAAE,gEAAgE;IACvF,qBAAqB,EAAE,0DAA0D;CAClF,CAAA;AAED,MAAM,UAAU,sBAAsB,CAAC,YAAoB,EAAE,WAAmB;IAC9E,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAA;IAChC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,YAAoB,EAAE,IAAY;IACtE,IAAI,YAAY,KAAK,OAAO,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzE,OAAO,GAAG,IAAI,oGAAoG,CAAA;IACpH,CAAC;IACD,IAAI,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClF,OAAO,GAAG,IAAI,kFAAkF,CAAA;IAClG,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,0EAA0E;AAC1E,qDAAqD;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,OAAO;IACP,UAAU;IACV,MAAM;IACN,WAAW;IACX,WAAW;IACX,WAAW;IACX,OAAO;IACP,MAAM;CACP,CAAC,CAAA;AAEF,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,8EAA8E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAClG,CAAC;AAED,MAAM,SAAS,GACb,iGAAiG,CAAA;AACnG,MAAM,aAAa,GAAG;IACpB,
|
|
1
|
+
{"version":3,"file":"tool-augment.js","sourceRoot":"","sources":["../src/tool-augment.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-browser-use",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Opinionated browser-use for the Pi coding agent, powered by chrome-devtools-mcp (not Playwright). Fresh headless by default, authenticated persistent profile opt-in, CLI-first policy bundled.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -19,7 +19,7 @@ description: "Browser-use policy for Pi agents. Use before any browser_* tool ca
|
|
|
19
19
|
- **Authenticated profile** (`mode: persistent`). Log in once in `~/.pi/browser-profile`; cookies persist. Use when the task needs your identity (private repos, Cloudflare dashboard). Both modes default headless — pass `headed: true` to watch, and warn the user before any headed launch.
|
|
20
20
|
- **Existing Chrome** (`mode: existing`) is intrusive (drives the user's daily browser, sees all tabs). Avoid unless the user explicitly asks.
|
|
21
21
|
- **Switch, don't restart**: `browser_switch_mode` moves between fresh and persistent mid-session. Start fresh; escalate to persistent on login walls; drop back to fresh for clean-room checks.
|
|
22
|
-
- **
|
|
22
|
+
- **Hard blocks escalate themselves**: login walls in fresh sessions suggest the switch call; login walls and bot challenges in authenticated sessions rebuild headed and prompt the human. Once per call, never looping, never in attached sessions — and a headed popup from a block is the one case where stealing focus is the job, not a bug.
|
|
23
23
|
- **Visual analysis** (`browser_analyze_screenshot`, only when `visionModel` is configured) is for canvas/WebGL scenes and coordinate clicks the tree cannot describe — not a substitute for reading the snapshot first.
|
|
24
24
|
|
|
25
25
|
`--chrome-arg` flags only apply when `chrome-devtools-mcp` launches Chrome itself — never with `autoConnect`/`browserUrl`. On macOS `--start-minimized` is ignored; only `headless: true` truly hides the window.
|