import 'dotenv/config';
import { Grasp } from '@getgrasp/sdk';
import { chromium } from 'playwright';
async function main() {
const grasp = new Grasp();
const container = await grasp.create();
console.log('Cloud browser is ready!');
console.log('CDP endpoint:', container.browser.wsEndpoint);
console.log('Live view:', container.browser.liveURL);
// Connect to the browser and scrape Hacker News
const browser = await chromium.connectOverCDP(container.browser.wsEndpoint);
const page = await browser.newPage();
await page.goto('https://news.ycombinator.com');
const headlines = await page.$$eval('.titleline > a', (links) =>
links.slice(0, 5).map((link) => link.textContent?.trim())
);
console.log('Top stories:', headlines);
await browser.close();
await container.shutdown();
console.log('Container has been shut down.');
}
main().catch(err => {
console.error(err);
process.exit(1);
});