Dashboard

Utilities

Helper functions exported from the SDK for common operations.

sleep(ms)

Pause execution for a given number of milliseconds.

import { sleep } from '@scrayle/sdk';

await sleep(2000); // Wait 2 seconds

retry(fn, options)

Retry an async function with exponential backoff.

import { retry } from '@scrayle/sdk';

const result = await retry(
  async () => {
    const res = await fetch('https://example.com');
    if (!res.ok) throw new Error('Request failed');
    return res.json();
  },
  {
    retries: 3,
    minTimeout: 1000,
    maxTimeout: 10000,
    factor: 2,
  }
);

log / createLogger

Structured logging with configurable levels.

import { log, createLogger } from '@scrayle/sdk';

// Default logger
log.info('Starting scrape');
log.warn('Rate limited');
log.error('Failed', new Error('timeout'));

// Custom logger with prefix
const logger = createLogger('my-scraper');
logger.info('Processing page');
// [my-scraper] INFO: Processing page

Log Levels

Set via the LOG_LEVEL environment variable:

LevelDescription
traceMost verbose - all output
debugDebug messages and above
infoInformational messages (default)
warnWarnings and errors only
errorErrors only

Browser Helpers

import { Playwright, Puppeteer, SeleniumBrowser } from '@scrayle/sdk';

// Playwright connection
const playwright = new Playwright();
const browser = await playwright.connect(wsEndpoint);

// Puppeteer connection
const puppeteer = new Puppeteer();
const browser = await puppeteer.connect(wsEndpoint);

// Selenium connection
const selenium = new SeleniumBrowser();
const driver = await selenium.connect(wsEndpoint);