unbrowse 7.0.1 → 7.1.0-preview.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/SKILL.md +4 -3
- package/package.json +1 -1
- package/scripts/postinstall.mjs +6 -2
- package/scripts/release-assets.mjs +8 -1
- package/vendor/kuri/manifest.json +2 -2
package/SKILL.md
CHANGED
|
@@ -8,17 +8,18 @@ metadata:
|
|
|
8
8
|
|
|
9
9
|
# Unbrowse
|
|
10
10
|
|
|
11
|
-
Unbrowse turns websites into reusable API routes for agents. Teach a route once, store sanitized metadata, replay it on later calls. Typical run is 30× faster and 90× cheaper than a fresh browser session.
|
|
11
|
+
Unbrowse turns websites into reusable API routes for agents. Teach a route once, store sanitized metadata, replay it on later calls. Typical run is 30× faster and 90× cheaper than a fresh browser session — peer-reviewed benchmark across 94 live domains: 3.6× mean speedup, 5.4× median, 40× fewer tokens ([arXiv:2604.00694](https://arxiv.org/abs/2604.00694)).
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Four surfaces, one runtime:
|
|
14
14
|
|
|
15
15
|
| Surface | When to reach for it |
|
|
16
16
|
|---|---|
|
|
17
17
|
| **MCP server** | An MCP-host agent (Claude Desktop, Cursor, Codex, Claude Code). Tool calls like `unbrowse_resolve`, `unbrowse_execute`, `unbrowse_go` appear in the host. |
|
|
18
18
|
| **CLI** (`unbrowse`) | A shell session or a bash-script that wants the same surface as the MCP server, without an MCP host. |
|
|
19
19
|
| **SDK** (`@unbrowse/sdk`) | A TypeScript program that wants to embed Unbrowse. `npm i @unbrowse/sdk` is enough; the SDK spawns its own local binary. |
|
|
20
|
+
| **Drop-in shims** | One-line replace for existing tools: `@unbrowse/playwright-shim`, `@unbrowse/firecrawl-shim`, `@unbrowse/stagehand-shim`. Cache hit → free; miss → fall through to the original library. |
|
|
20
21
|
|
|
21
|
-
All
|
|
22
|
+
All four resolve to the same runtime workflow underneath:
|
|
22
23
|
- **resolve** asks "is there an indexed route for this intent + URL?" — returns a shortlist or a hard handoff.
|
|
23
24
|
- **execute** picks one endpoint from the shortlist and runs it — returns the real data.
|
|
24
25
|
- **browse-session** opens a managed browser when the API is too dynamic to predict; local capture indexes route metadata.
|
package/package.json
CHANGED
package/scripts/postinstall.mjs
CHANGED
|
@@ -87,12 +87,16 @@ if (process.env.CI && (process.env.GITHUB_ACTIONS || process.env.UNBROWSE_SKIP_B
|
|
|
87
87
|
process.exit(0);
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
// `process.platform` returns 'win32' on Windows but our SUPPORTED_TARGETS
|
|
91
|
+
// names use 'win' (e.g. 'win-x64'). Normalize before composing the target
|
|
92
|
+
// key. 'darwin' and 'linux' pass through unchanged.
|
|
93
|
+
const platformRaw = process.platform; // darwin | linux | win32 | ...
|
|
94
|
+
const platform = platformRaw === "win32" ? "win" : platformRaw;
|
|
91
95
|
const arch = process.arch; // arm64, x64
|
|
92
96
|
const target = `${platform}-${arch}`;
|
|
93
97
|
|
|
94
98
|
if (!SUPPORTED_TARGETS.includes(target)) {
|
|
95
|
-
console.warn(`[unbrowse] No prebuilt binary for ${target}.`);
|
|
99
|
+
console.warn(`[unbrowse] No prebuilt binary for ${target} (platform=${platformRaw}, arch=${arch}).`);
|
|
96
100
|
console.warn("[unbrowse] Falling back to source mode.");
|
|
97
101
|
process.exit(0);
|
|
98
102
|
}
|
|
@@ -3,7 +3,14 @@
|
|
|
3
3
|
import { readFileSync } from "node:fs";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// win-x64 added 2026-05-26 — Bun handles `--target=bun-windows-x64`
|
|
7
|
+
// natively, postinstall picks 'win32' via the platform map (see
|
|
8
|
+
// postinstall.mjs), and src/kuri/client.ts already picks kuri.exe and
|
|
9
|
+
// the win-x64 vendor path. The kuri-windows-cross-build workflow stages
|
|
10
|
+
// kuri.exe; build-kuri-binaries.mjs picks it up at release time. Runtime
|
|
11
|
+
// verification (Chrome detection, console buffering) still needs a
|
|
12
|
+
// Windows machine — track separately.
|
|
13
|
+
export const SUPPORTED_TARGETS = ["darwin-arm64", "darwin-x64", "linux-arm64", "linux-x64", "win-x64"];
|
|
7
14
|
export const RELEASE_METADATA_ASSETS = ["release-manifest.json", "release-manifest.sig"];
|
|
8
15
|
|
|
9
16
|
export function readPackageVersion(packageRoot) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"repo_url": "https://github.com/justrach/kuri.git",
|
|
3
3
|
"branch": "adding-extensions",
|
|
4
|
-
"source_sha": "
|
|
5
|
-
"built_at": "2026-05-
|
|
4
|
+
"source_sha": "f2487712bae677fa4aa7ed3ce773355711f2e56e",
|
|
5
|
+
"built_at": "2026-05-27T07:15:46.062Z",
|
|
6
6
|
"binaries": {
|
|
7
7
|
"darwin-arm64": {
|
|
8
8
|
"zig_target": "aarch64-macos",
|