UNPKG

@hyperbrowser/agent

Version:

Hyperbrowsers Web Agent

77 lines (76 loc) 2.24 kB
import { z } from "zod"; import { ActionOutput } from "./actions/types"; import { Page } from "playwright"; export declare const AgentOutputFn: (actionsSchema: z.ZodUnion<readonly [z.AnyZodObject, ...z.AnyZodObject[]]>) => z.ZodObject<{ thoughts: z.ZodString; memory: z.ZodString; nextGoal: z.ZodString; actions: z.ZodArray<z.ZodUnion<readonly [z.AnyZodObject, ...z.AnyZodObject[]]>, "many">; }, "strip", z.ZodTypeAny, { thoughts: string; memory: string; nextGoal: string; actions: { [x: string]: any; }[]; }, { thoughts: string; memory: string; nextGoal: string; actions: { [x: string]: any; }[]; }>; export type AgentOutput = z.infer<ReturnType<typeof AgentOutputFn>>; export interface AgentStep { idx: number; agentOutput: AgentOutput; actionOutputs: ActionOutput[]; } export interface TaskParams { maxSteps?: number; debugDir?: string; outputSchema?: z.AnyZodObject; onStep?: (step: AgentStep) => Promise<void> | void; onComplete?: (output: TaskOutput) => Promise<void> | void; debugOnAgentOutput?: (step: AgentOutput) => void; } export interface TaskOutput { status?: TaskStatus; steps: AgentStep[]; output?: string; } export interface Task { getStatus: () => TaskStatus; pause: () => TaskStatus; resume: () => TaskStatus; cancel: () => TaskStatus; } export declare enum TaskStatus { PENDING = "pending", RUNNING = "running", PAUSED = "paused", CANCELLED = "cancelled", COMPLETED = "completed", FAILED = "failed" } export declare const endTaskStatuses: Set<TaskStatus>; export interface TaskState { id: string; task: string; status: TaskStatus; startingPage: Page; steps: AgentStep[]; output?: string; error?: string; } export interface HyperVariable { key: string; value: string; description: string; } export interface HyperPage extends Page { ai: (task: string, params?: TaskParams) => Promise<TaskOutput>; aiAsync: (task: string, params?: TaskParams) => Promise<Task>; extract<T extends z.AnyZodObject | undefined = undefined>(task?: string, outputSchema?: T): Promise<T extends z.AnyZodObject ? z.infer<T> : string>; }