@unbrowse/sdk
v11.2.0
Published
TypeScript SDK for Unbrowse 11.2.0: local runtime control, truthful health, and public stats.
Readme
@unbrowse/sdk
TypeScript client for the Unbrowse 11.1.9 local runtime. It can connect to an
existing runtime or start the unbrowse binary for the lifetime of your process.
New applications that do not need process control should use the SDK bundled in
unbrowse:
import { Unbrowse } from "unbrowse/sdk";Install
npm install @unbrowse/sdk unbrowseStart locally
import { Unbrowse } from "@unbrowse/sdk";
const unbrowse = await Unbrowse.local({
apiKey: process.env.UNBROWSE_API_KEY,
});
try {
const resolved = await unbrowse.resolve({
intent: "list tomorrow's events",
url: "https://calendar.google.com",
});
console.log(resolved.result);
} finally {
await unbrowse.close();
}Unbrowse.local() reuses a healthy runtime on 127.0.0.1:6969 or starts one
when necessary. Use connect(url) when another process owns the runtime and
spawn() when you always want an isolated child.
Health and public stats
const live = await unbrowse.liveness();
const ready = await unbrowse.readiness();
const summary = await unbrowse.statsSummary();
const flywheel = await unbrowse.flywheel();liveness() answers whether the process is up. readiness() includes storage
dependency state and returns a typed degraded response when Cloudflare KV is
serving as the fallback, rather than throwing on the readiness HTTP 503.
Credits
Metered work is charged to account credits through the normal account API.
const credits = await unbrowse.credits();
console.log(credits.balance_uc / 1_000_000);An HTTP 402 becomes InsufficientCreditsError. Add credits, then retry the same
request. Executes retain their normal idempotency behavior.
Authentication
Pass apiKey to the constructor/factory or set UNBROWSE_API_KEY. Create a key
with:
unbrowse register --email [email protected]