import { BrowserUse } from "browser-use-sdk/v4";
const TERMINAL = new Set(["completed", "failed", "cancelled"]);
const client = new BrowserUse();
const created = await client.runs.create({
task: "Find the top story on Hacker News",
});
let after: number | undefined;
while (true) {
const page = await client.runs.events(created.id, { after, limit: 100 });
for (const event of page.events) {
console.log(event.type, event.data);
}
if (page.nextAfter != null) after = page.nextAfter;
const { status } = await client.runs.status(created.id);
if (TERMINAL.has(status)) break;
await new Promise((resolve) => setTimeout(resolve, 1000));
}
const run = await client.runs.get(created.id);
console.log(run.result);