@intuned/browser
v0.1.11
Published
runner package for intuned functions
Maintainers
Keywords
Readme
title: "TypeScript SDK" sidebarTitle: "@intuned/browser" icon: cube
Browser automation helpers for TypeScript/JavaScript, built on Playwright. This package provides utilities for common automation tasks—AI-powered data extraction, navigation with retries, pagination handling, and more.
Installation
npm install @intuned/browserQuick example
import { Page, BrowserContext } from "playwright";
import { extractStructuredData, isPageLoaded } from "@intuned/browser/ai";
import { goToUrl } from "@intuned/browser";
interface Params {}
export default async function automation(
params: Params,
page: Page,
context: BrowserContext
) {
await goToUrl(page, "https://books.toscrape.com");
const loaded = await isPageLoaded({ source: page });
if (!loaded) {
throw new Error("Page is not loaded, cannot extract data");
}
// Extract all book listings from the page
const books = await extractStructuredData({
source: page,
dataSchema: {
type: "object",
properties: {
products: {
type: "array",
items: {
type: "object",
properties: {
title: { type: "string" },
price: { type: "string" },
},
},
},
},
},
prompt: "Extract all book listings with their titles and prices",
strategy: "HTML",
model: "claude-haiku-4-5-20251001",
});
return books;
}AI module
AI-powered utilities for data extraction and page analysis. These functions use AI and incur costs.
| Function | Description |
| --- | --- |
| extractStructuredData | Extract structured data from pages using AI with JSON Schema or Zod validation |
| isPageLoaded | Detect when a page has finished loading |
AI functions support caching and matching to reduce costs.
Helpers module
| Function | Description |
| --- | --- |
| goToUrl | Navigate with automatic retries and error handling |
| withNetworkSettledWait | Wait for network requests to complete |
| waitForDomSettled | Wait for DOM mutations to finish |
| scrollToLoadContent | Load infinite-scroll content |
| clickUntilExhausted | Click "Load More" buttons until all content loads |
| extractMarkdown | Convert pages to markdown |
| downloadFile | Download files with different triggers |
| saveFileToS3 | Download and upload files to S3 |
| uploadFileToS3 | Upload files with custom S3 configurations |
| filterEmptyValues | Remove empty values from data |
| validateDataUsingSchema | Validate data against schemas |
| processDate | Parse and normalize dates |
| sanitizeHtml | Clean and sanitize HTML |
| resolveUrl | Resolve relative URLs to absolute paths |
Requirements
- Node.js 18+
- Playwright (
npm install playwright && npx playwright install) - For AI functions: API key for your AI provider (set via environment variable or function parameter)
