@hyperbrowser/sdk
Version:
Node SDK for Hyperbrowser API
43 lines (42 loc) • 2.15 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.HyperbrowserClient = exports.HyperbrowserError = void 0;
const sessions_1 = require("./services/sessions");
const scrape_1 = require("./services/scrape");
const crawl_1 = require("./services/crawl");
const profiles_1 = require("./services/profiles");
const extensions_1 = require("./services/extensions");
const extract_1 = require("./services/extract");
const browser_use_1 = require("./services/agents/browser-use");
const cua_1 = require("./services/agents/cua");
const claude_computer_use_1 = require("./services/agents/claude-computer-use");
class HyperbrowserError extends Error {
constructor(message, statusCode) {
super(`[Hyperbrowser]: ${message}`);
this.statusCode = statusCode;
this.name = "HyperbrowserError";
}
}
exports.HyperbrowserError = HyperbrowserError;
class HyperbrowserClient {
constructor(config = {}) {
const apiKey = config.apiKey || process.env["HYPERBROWSER_API_KEY"];
const baseUrl = config.baseUrl || "https://app.hyperbrowser.ai";
const timeout = config.timeout || 30000;
if (!apiKey) {
throw new HyperbrowserError("API key is required - either pass it in config or set HYPERBROWSER_API_KEY environment variable");
}
this.sessions = new sessions_1.SessionsService(apiKey, baseUrl, timeout);
this.scrape = new scrape_1.ScrapeService(apiKey, baseUrl, timeout);
this.crawl = new crawl_1.CrawlService(apiKey, baseUrl, timeout);
this.extract = new extract_1.ExtractService(apiKey, baseUrl, timeout);
this.profiles = new profiles_1.ProfilesService(apiKey, baseUrl, timeout);
this.extensions = new extensions_1.ExtensionService(apiKey, baseUrl, timeout);
this.agents = {
browserUse: new browser_use_1.BrowserUseService(apiKey, baseUrl, timeout),
claudeComputerUse: new claude_computer_use_1.ClaudeComputerUseService(apiKey, baseUrl, timeout),
cua: new cua_1.CuaService(apiKey, baseUrl, timeout),
};
}
}
exports.HyperbrowserClient = HyperbrowserClient;
;