import { Web } from "@webcompute/sdk";
const web = new Web();
const agent = web.agent({
model: {
route: "openrouter",
model: "openai/gpt-5.4-mini",
apiKeyEnv: "OPENROUTER_API_KEY",
},
browser: {
create: { recording: true },
policy: { allowedDomains: ["sec.gov"] },
},
approval: "ask",
outputSchema: filingsSchema,
});
const job = await db.jobs.create({
data: { kind: "filing_lookup", company: "Apple" },
});
const result = await agent.run({
startUrl: "https://www.sec.gov/edgar/search/",
goal: "Find Apple's latest 10-Q filings. Return filing metadata.",
});
if (result.status !== "completed" || !result.output) {
await db.jobs.update({
where: { id: job.id },
data: { status: result.status, error: result.error?.message },
});
await queueReview(result);
} else {
await db.filings.createMany({ data: normalizeFilings(result.output) });
await db.jobs.update({ where: { id: job.id }, data: { status: "completed" } });
}