Playwright session + snapshots + selector DSL + real actions.
import { SentienceBrowser, snapshot, find, click } from "@sentienceapi/sdk"
const b = await SentienceBrowser.launch({ apiKey: "sk_live_…" })
await b.page.goto("https://example.com")
const snap = await snapshot(b, {
limit: 50,
filter: { min_area: 100, allowed_roles: ["button", "textbox"] }
})
const login = find(snap, "role=button text~'Sign in'")
await click(b, login.id)
await b.close()