UNPKG

@ejazullah/smart-browser-automation

Version:

A smart AI-driven browser automation library and REST API server using MCP (Model Context Protocol) and LangChain for multi-step task execution. Includes both programmatic library usage and HTTP API server for remote automation.

66 lines 3.06 kB
import { JwtHeader, JwtPayload, SupportedStorage, User } from './types'; export declare function expiresAt(expiresIn: number): number; export declare function uuid(): string; export declare const isBrowser: () => boolean; /** * Checks whether localStorage is supported on this browser. */ export declare const supportsLocalStorage: () => boolean; /** * Extracts parameters encoded in the URL both in the query and fragment. */ export declare function parseParametersFromURL(href: string): { [parameter: string]: string; }; declare type Fetch = typeof fetch; export declare const resolveFetch: (customFetch?: Fetch) => Fetch; export declare const looksLikeFetchResponse: (maybeResponse: unknown) => maybeResponse is Response; export declare const setItemAsync: (storage: SupportedStorage, key: string, data: any) => Promise<void>; export declare const getItemAsync: (storage: SupportedStorage, key: string) => Promise<unknown>; export declare const removeItemAsync: (storage: SupportedStorage, key: string) => Promise<void>; /** * A deferred represents some asynchronous work that is not yet finished, which * may or may not culminate in a value. * Taken from: https://github.com/mike-north/types/blob/master/src/async.ts */ export declare class Deferred<T = any> { static promiseConstructor: PromiseConstructor; readonly promise: PromiseLike<T>; readonly resolve: (value?: T | PromiseLike<T>) => void; readonly reject: (reason?: any) => any; constructor(); } export declare function decodeJWT(token: string): { header: JwtHeader; payload: JwtPayload; signature: Uint8Array; raw: { header: string; payload: string; }; }; /** * Creates a promise that resolves to null after some time. */ export declare function sleep(time: number): Promise<null>; /** * Converts the provided async function into a retryable function. Each result * or thrown error is sent to the isRetryable function which should return true * if the function should run again. */ export declare function retryable<T>(fn: (attempt: number) => Promise<T>, isRetryable: (attempt: number, error: any | null, result?: T) => boolean): Promise<T>; export declare function generatePKCEVerifier(): string; export declare function generatePKCEChallenge(verifier: string): Promise<string>; export declare function getCodeChallengeAndMethod(storage: SupportedStorage, storageKey: string, isPasswordRecovery?: boolean): Promise<string[]>; export declare function parseResponseAPIVersion(response: Response): Date | null; export declare function validateExp(exp: number): void; export declare function getAlgorithm(alg: 'HS256' | 'RS256' | 'ES256'): RsaHashedImportParams | EcKeyImportParams; export declare function validateUUID(str: string): void; export declare function userNotAvailableProxy(): User; /** * Deep clones a JSON-serializable object using JSON.parse(JSON.stringify(obj)). * Note: Only works for JSON-safe data. */ export declare function deepClone<T>(obj: T): T; export {}; //# sourceMappingURL=helpers.d.ts.map