// AUTO-GENERATED by scripts/generate.ts from .generated-specs. Do not edit. import * as S from "@distilled.cloud/core/schema"; import * as API from "@distilled.cloud/core/api"; import * as T from "../traits.ts"; import { CloudflareProtocol, type CloudflareOpError, type CloudflareOpContext, } from "../protocol.ts"; import { CloudflareError, CloudflareRateLimited } from "../errors.ts"; import * as Retry from "../retry.ts"; export type { CloudflareOpError, CloudflareOpContext }; /** Fallback camelCase→wire mapping for opaque content (mined from the distilled SDK). */ const KEY_DICTIONARY: Record> = { browser: "Browser", customAi: "custom_ai", jobId: "job_id", jsonSchema: "json_schema", protocolVersion: "Protocol-Version", responseFormat: "response_format", userAgent: "User-Agent", v8Version: "V8-Version", webKitVersion: "WebKit-Version", }; export interface ActivateDevtoolBrowserTargetRequest { /** Account ID. */ accountId: string; /** Browser session ID. */ sessionId: string; /** Target ID to activate. */ targetId: string; } export const ActivateDevtoolBrowserTargetRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), sessionId: S.String.pipe(T.Label("session_id")), targetId: S.String.pipe(T.Label("target_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}/json/activate/{target_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ActivateDevtoolBrowserTargetRequest", }) as any as S.Schema; /** Raw response payload (operation does not use the standard v4 result envelope). */ export interface ActivateDevtoolBrowserTargetResponse { /** Target activated. */ message: string; } export const ActivateDevtoolBrowserTargetResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ message: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ActivateDevtoolBrowserTargetResponse", }) as any as S.Schema; export interface CloseDevtoolBrowserTargetRequest { /** Account ID. */ accountId: string; /** Browser session ID. */ sessionId: string; /** Target ID to close. */ targetId: string; } export const CloseDevtoolBrowserTargetRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), sessionId: S.String.pipe(T.Label("session_id")), targetId: S.String.pipe(T.Label("target_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}/json/close/{target_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CloseDevtoolBrowserTargetRequest", }) as any as S.Schema; /** Raw response payload (operation does not use the standard v4 result envelope). */ export interface CloseDevtoolBrowserTargetResponse { /** Target is closing. */ message: string; } export const CloseDevtoolBrowserTargetResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ message: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CloseDevtoolBrowserTargetResponse", }) as any as S.Schema; export interface ConnectDevtoolBrowserRequest { /** Account ID. */ accountId: string; /** Browser session ID to connect to. */ sessionId: string; /** Keep-alive time in ms (only valid when acquiring new session). */ keepAlive?: number; /** Use experimental browser. */ lab?: boolean; recording?: boolean; } export const ConnectDevtoolBrowserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), sessionId: S.String.pipe(T.Label("session_id")), keepAlive: S.optional(S.Number.pipe(T.Query("keep_alive"))), lab: S.optional(S.Boolean.pipe(T.Query())), recording: S.optional(S.Boolean.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ConnectDevtoolBrowserRequest", }) as any as S.Schema; export interface ConnectDevtoolBrowserResponse {} export const ConnectDevtoolBrowserResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ConnectDevtoolBrowserResponse", }) as any as S.Schema; export interface ContentCreateRequestAddScriptTagItem { id?: string; content?: string; type?: string; url?: string; } export const ContentCreateRequestAddScriptTagItem = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.optional(S.String), content: S.optional(S.String), type: S.optional(S.String), url: S.optional(S.String), }), ).annotate({ identifier: "ContentCreateRequestAddScriptTagItem", }) as any as S.Schema; export type ContentCreateRequestAddScriptTagList = Array; export const ContentCreateRequestAddScriptTagList = /*@__PURE__*/ S.Array( ContentCreateRequestAddScriptTagItem, ) as any as S.Schema; export interface ContentCreateRequestAddStyleTagItem { content?: string; url?: string; } export const ContentCreateRequestAddStyleTagItem = /*@__PURE__*/ S.suspend(() => S.Struct({ content: S.optional(S.String), url: S.optional(S.String), }), ).annotate({ identifier: "ContentCreateRequestAddStyleTagItem", }) as any as S.Schema; export type ContentCreateRequestAddStyleTagList = Array; export const ContentCreateRequestAddStyleTagList = /*@__PURE__*/ S.Array( ContentCreateRequestAddStyleTagItem, ) as any as S.Schema; export type ContentCreateRequestAllowRequestPatternList = Array; export const ContentCreateRequestAllowRequestPatternList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type ContentCreateRequestAllowResourceTypesItem = | "document" | "stylesheet" | "image" | "media" | "font" | "script" | "texttrack" | "xhr" | "fetch" | "prefetch" | "eventsource" | "websocket" | "manifest" | "signedexchange" | "ping" | "cspviolationreport" | "preflight" | "other"; export const ContentCreateRequestAllowResourceTypesItem = /*@__PURE__*/ S.String; export type ContentCreateRequestAllowResourceTypesList = Array< ContentCreateRequestAllowResourceTypesItem | (string & {}) >; export const ContentCreateRequestAllowResourceTypesList = /*@__PURE__*/ S.Array( ContentCreateRequestAllowResourceTypesItem, ) as any as S.Schema; export interface ContentCreateRequestAuthenticate { password: string; username: string; } export const ContentCreateRequestAuthenticate = /*@__PURE__*/ S.suspend(() => S.Struct({ password: S.String, username: S.String, }), ).annotate({ identifier: "ContentCreateRequestAuthenticate", }) as any as S.Schema; export type ContentCreateRequestCookiesItemPriority = "Low" | "Medium" | "High"; export const ContentCreateRequestCookiesItemPriority = /*@__PURE__*/ S.String; export type ContentCreateRequestCookiesItemSameSite = "Strict" | "Lax" | "None"; export const ContentCreateRequestCookiesItemSameSite = /*@__PURE__*/ S.String; export type ContentCreateRequestCookiesItemSourceScheme = | "Unset" | "NonSecure" | "Secure"; export const ContentCreateRequestCookiesItemSourceScheme = /*@__PURE__*/ S.String; export interface ContentCreateRequestCookiesItem { /** Cookie name. */ name: string; value: string; domain?: string; expires?: number; httpOnly?: boolean; partitionKey?: string; path?: string; priority?: ContentCreateRequestCookiesItemPriority | (string & {}); sameParty?: boolean; sameSite?: ContentCreateRequestCookiesItemSameSite | (string & {}); secure?: boolean; sourcePort?: number; sourceScheme?: ContentCreateRequestCookiesItemSourceScheme | (string & {}); url?: string; } export const ContentCreateRequestCookiesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, value: S.String, domain: S.optional(S.String), expires: S.optional(S.Number), httpOnly: S.optional(S.Boolean), partitionKey: S.optional(S.String), path: S.optional(S.String), priority: S.optional(ContentCreateRequestCookiesItemPriority), sameParty: S.optional(S.Boolean), sameSite: S.optional(ContentCreateRequestCookiesItemSameSite), secure: S.optional(S.Boolean), sourcePort: S.optional(S.Number), sourceScheme: S.optional(ContentCreateRequestCookiesItemSourceScheme), url: S.optional(S.String), }), ).annotate({ identifier: "ContentCreateRequestCookiesItem", }) as any as S.Schema; export type ContentCreateRequestCookiesList = Array; export const ContentCreateRequestCookiesList = /*@__PURE__*/ S.Array( ContentCreateRequestCookiesItem, ) as any as S.Schema; export type ContentCreateRequestGotoOptionsWaitUntilCase0 = | "load" | "domcontentloaded" | "networkidle0" | "networkidle2"; export const ContentCreateRequestGotoOptionsWaitUntilCase0 = /*@__PURE__*/ S.String; export type ContentCreateRequestGotoOptionsWaitUntilCase1Item = | "load" | "domcontentloaded" | "networkidle0" | "networkidle2"; export const ContentCreateRequestGotoOptionsWaitUntilCase1Item = /*@__PURE__*/ S.String; export type ContentCreateRequestGotoOptionsWaitUntilCase1List = Array< ContentCreateRequestGotoOptionsWaitUntilCase1Item | (string & {}) >; export const ContentCreateRequestGotoOptionsWaitUntilCase1List = /*@__PURE__*/ S.Array( ContentCreateRequestGotoOptionsWaitUntilCase1Item, ) as any as S.Schema; export type ContentCreateRequestGotoOptionsWaitUntil = | ContentCreateRequestGotoOptionsWaitUntilCase0 | (string & {}) | ContentCreateRequestGotoOptionsWaitUntilCase1List; export const ContentCreateRequestGotoOptionsWaitUntil = /*@__PURE__*/ S.Unknown.pipe(T.UnionCases([[], []])); export interface ContentCreateRequestGotoOptions { referer?: string; referrerPolicy?: string; timeout?: number; waitUntil?: ContentCreateRequestGotoOptionsWaitUntil; } export const ContentCreateRequestGotoOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ referer: S.optional(S.String), referrerPolicy: S.optional(S.String), timeout: S.optional(S.Number), waitUntil: S.optional(ContentCreateRequestGotoOptionsWaitUntil), }), ).annotate({ identifier: "ContentCreateRequestGotoOptions", }) as any as S.Schema; export type ContentCreateRequestRejectRequestPatternList = Array; export const ContentCreateRequestRejectRequestPatternList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type ContentCreateRequestRejectResourceTypesItem = | "document" | "stylesheet" | "image" | "media" | "font" | "script" | "texttrack" | "xhr" | "fetch" | "prefetch" | "eventsource" | "websocket" | "manifest" | "signedexchange" | "ping" | "cspviolationreport" | "preflight" | "other"; export const ContentCreateRequestRejectResourceTypesItem = /*@__PURE__*/ S.String; export type ContentCreateRequestRejectResourceTypesList = Array< ContentCreateRequestRejectResourceTypesItem | (string & {}) >; export const ContentCreateRequestRejectResourceTypesList = /*@__PURE__*/ S.Array( ContentCreateRequestRejectResourceTypesItem, ) as any as S.Schema; export type ContentCreateRequestSetExtraHTTPHeadersMap = { [key: string]: string | undefined; }; export const ContentCreateRequestSetExtraHTTPHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export interface ContentCreateRequestViewport { height: number; width: number; deviceScaleFactor?: number; hasTouch?: boolean; isLandscape?: boolean; isMobile?: boolean; } export const ContentCreateRequestViewport = /*@__PURE__*/ S.suspend(() => S.Struct({ height: S.Number, width: S.Number, deviceScaleFactor: S.optional(S.Number), hasTouch: S.optional(S.Boolean), isLandscape: S.optional(S.Boolean), isMobile: S.optional(S.Boolean), }), ).annotate({ identifier: "ContentCreateRequestViewport", }) as any as S.Schema; export interface ContentCreateRequestWaitForSelector { selector: string; hidden?: boolean; timeout?: number; visible?: boolean; } export const ContentCreateRequestWaitForSelector = /*@__PURE__*/ S.suspend(() => S.Struct({ selector: S.String, hidden: S.optional(S.Boolean), timeout: S.optional(S.Number), visible: S.optional(S.Boolean), }), ).annotate({ identifier: "ContentCreateRequestWaitForSelector", }) as any as S.Schema; export interface CreateContentRequest { /** Account ID. */ accountId: string; /** Cache TTL default is 5s. Set to 0 to disable. */ cacheTTL?: number; /** URL to navigate to, eg. `https://example.com`. */ url?: string; /** The maximum duration allowed for the browser action to complete after the page has loaded (such as taking screenshots, extracting content, or generating PDFs). If this time limit is exceeded, the action stops and returns a timeout error. */ actionTimeout?: number; /** Adds a `