barebrowse 0.5.1 → 0.5.3
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/CHANGELOG.md +15 -6
- package/README.md +1 -1
- package/barebrowse.context.md +2 -2
- package/mcp-server.js +1 -1
- package/package.json +1 -1
- package/src/index.js +6 -0
- package/.barebrowse/page-2026-02-23T15-39-32-011Z.yml +0 -1219
- package/.barebrowse/page-2026-02-23T15-40-19-874Z.yml +0 -663
- package/.mcp.json +0 -8
- package/CLAUDE.md +0 -24
- package/baremobile.md +0 -105
- package/docs/00-context/assumptions.md +0 -38
- package/docs/00-context/system-state.md +0 -402
- package/docs/00-context/vision.md +0 -52
- package/docs/01-product/prd.md +0 -308
- package/docs/03-logs/bug-log.md +0 -16
- package/docs/03-logs/decisions-log.md +0 -32
- package/docs/03-logs/implementation-log.md +0 -54
- package/docs/03-logs/insights.md +0 -35
- package/docs/03-logs/validation-log.md +0 -269
- package/docs/04-process/definition-of-done.md +0 -31
- package/docs/04-process/dev-workflow.md +0 -68
- package/docs/04-process/testing.md +0 -242
- package/docs/README.md +0 -56
- package/docs/archive/poc-plan.md +0 -230
- package/docs/skill-template.md +0 -106
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.5.
|
|
3
|
+
## 0.5.3
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Improved bot detection for hybrid mode fallback.
|
|
6
|
+
|
|
7
|
+
### Challenge detection (`src/index.js`)
|
|
8
|
+
- `isChallengePage()` now catches near-empty pages (< 50 chars of text) as blocks
|
|
9
|
+
- Added challenge phrases: "unknown error", "access denied", "permission denied", "request blocked"
|
|
10
|
+
- Sites like CNN that return generic error pages instead of Cloudflare challenges now correctly trigger hybrid → headed fallback
|
|
11
|
+
|
|
12
|
+
## 0.5.2
|
|
13
|
+
|
|
14
|
+
Clean npm tarball + bareagent tool parity.
|
|
15
|
+
|
|
16
|
+
### npm package
|
|
17
|
+
- `.npmignore` updated: excluded `.barebrowse/`, `.mcp.json`, `baremobile.md`, `CLAUDE.md`, `docs/` from tarball
|
|
18
|
+
- Package size: 41 files / 390KB → 21 files / 180KB
|
|
6
19
|
|
|
7
20
|
### bareagent adapter
|
|
8
21
|
- Added `hover`, `tabs`, `switchTab`, `pdf` tools (was 13 + assess, now 17 + assess)
|
|
@@ -12,10 +25,6 @@ bareagent tool parity + test fix.
|
|
|
12
25
|
- Fixed 2 snapshot URL prefix assertions (`# url` → `url: url`) to match 0.4.7 format change
|
|
13
26
|
- 69/69 passing
|
|
14
27
|
|
|
15
|
-
### Version
|
|
16
|
-
- Package version: 0.5.1
|
|
17
|
-
- MCP server version string updated
|
|
18
|
-
|
|
19
28
|
## 0.5.0
|
|
20
29
|
|
|
21
30
|
Privacy assessment via wearehere integration.
|
package/README.md
CHANGED
|
@@ -105,7 +105,7 @@ For code examples, API reference, and wiring instructions, see **[barebrowse.con
|
|
|
105
105
|
|
|
106
106
|
## What it handles automatically
|
|
107
107
|
|
|
108
|
-
Cookie consent walls (29 languages), login walls (cookie extraction from your browsers), bot detection (stealth patches + automatic headed fallback), permission prompts, SPA navigation, JS dialogs, off-screen elements, pre-filled inputs, ARIA noise, and profile locking. The agent doesn't think about any of it.
|
|
108
|
+
Cookie consent walls (29 languages), login walls (cookie extraction from your browsers), bot detection (stealth patches + automatic headed fallback on challenge pages, error pages, and near-empty responses), permission prompts, SPA navigation, JS dialogs, off-screen elements, pre-filled inputs, ARIA noise, and profile locking. The agent doesn't think about any of it.
|
|
109
109
|
|
|
110
110
|
## What the agent sees
|
|
111
111
|
|
package/barebrowse.context.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# barebrowse -- Integration Guide
|
|
2
2
|
|
|
3
3
|
> For AI assistants and developers wiring barebrowse into a project.
|
|
4
|
-
> v0.5.
|
|
4
|
+
> v0.5.3 | Node.js >= 22 | 0 required deps | MIT
|
|
5
5
|
|
|
6
6
|
## What this is
|
|
7
7
|
|
|
@@ -153,7 +153,7 @@ barebrowse can inject cookies from the user's real browser sessions, bypassing l
|
|
|
153
153
|
| Off-screen elements | `DOM.scrollIntoViewIfNeeded` before every click | Both |
|
|
154
154
|
| Form submission | `press('Enter')` triggers onsubmit | Both |
|
|
155
155
|
| SPA navigation | `waitForNavigation()` uses loadEventFired + frameNavigated | Both |
|
|
156
|
-
| Bot detection |
|
|
156
|
+
| Bot detection | Hybrid fallback: detects challenge pages, error pages, and near-empty responses, then switches to headed | Hybrid |
|
|
157
157
|
| `navigator.webdriver` | Stealth patches in headless (webdriver, plugins, chrome obj) | Headless |
|
|
158
158
|
| Profile locking | Unique temp dir per headless instance | Headless |
|
|
159
159
|
| ARIA noise | 9-step pruning: wrapper collapse, noise removal, landmark promotion | Both |
|
package/mcp-server.js
CHANGED
|
@@ -286,7 +286,7 @@ async function handleMessage(msg) {
|
|
|
286
286
|
return jsonrpcResponse(id, {
|
|
287
287
|
protocolVersion: '2024-11-05',
|
|
288
288
|
capabilities: { tools: {} },
|
|
289
|
-
serverInfo: { name: 'barebrowse', version: '0.5.
|
|
289
|
+
serverInfo: { name: 'barebrowse', version: '0.5.3' },
|
|
290
290
|
});
|
|
291
291
|
}
|
|
292
292
|
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -565,6 +565,8 @@ function waitForNetworkIdle(session, opts = {}) {
|
|
|
565
565
|
function isChallengePage(tree) {
|
|
566
566
|
if (!tree) return true;
|
|
567
567
|
const text = flattenTreeText(tree);
|
|
568
|
+
// Near-empty pages are almost certainly blocks
|
|
569
|
+
if (text.trim().length < 50) return true;
|
|
568
570
|
const challengePhrases = [
|
|
569
571
|
'just a moment',
|
|
570
572
|
'checking if the site connection is secure',
|
|
@@ -574,6 +576,10 @@ function isChallengePage(tree) {
|
|
|
574
576
|
'prove your humanity',
|
|
575
577
|
'attention required',
|
|
576
578
|
'file a ticket',
|
|
579
|
+
'unknown error',
|
|
580
|
+
'access denied',
|
|
581
|
+
'permission denied',
|
|
582
|
+
'request blocked',
|
|
577
583
|
];
|
|
578
584
|
const lower = text.toLowerCase();
|
|
579
585
|
return challengePhrases.some((p) => lower.includes(p));
|