// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../core/resource'; import { APIPromise } from '../../core/api-promise'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; /** * Search and scrape webpages with finance-oriented defaults. */ export class Browser extends APIResource { /** * Launch a new sandboxed cloud browser session backed by Firecrawl. Returns a CDP * WebSocket URL and a session ID. */ create( body: BrowserCreateParams | null | undefined = {}, options?: RequestOptions, ): APIPromise { return this._client.post('/web/browser', { body, ...options }); } /** * Destroy an active cloud browser session and release its resources. */ delete(sessionID: string, options?: RequestOptions): APIPromise { return this._client.delete(path`/web/browser/${sessionID}`, options); } } /** * Successful browser session creation response. */ export interface BrowserCreateResponse { /** * Unique session identifier. */ id: string; /** * WebSocket URL for Chrome DevTools Protocol access. */ cdp_url: string; /** * ISO-8601 timestamp when the session expires. */ expires_at?: string | null; } /** * Successful browser session deletion response. */ export interface BrowserDeleteResponse { /** * Whether the session was successfully destroyed. */ success: boolean; /** * Number of credits billed for the session. */ credits_billed?: number | null; /** * Total session duration in milliseconds. */ session_duration_ms?: number | null; } export interface BrowserCreateParams { /** * Seconds of inactivity before session is destroyed (10-3600). */ activity_ttl?: number; /** * Total session lifetime in seconds (30-3600). Defaults to server-side value when * omitted. */ ttl?: number; } export declare namespace Browser { export { type BrowserCreateResponse as BrowserCreateResponse, type BrowserDeleteResponse as BrowserDeleteResponse, type BrowserCreateParams as BrowserCreateParams, }; }