magnitude-core
Version:
Magnitude e2e testing agent
30 lines (29 loc) • 1.25 kB
TypeScript
import { BrowserContext, Page } from "playwright";
import { Agent, AgentOptions } from ".";
import { BrowserConnectorOptions } from "@/connectors/browserConnector";
import { Schema, ZodSchema } from "zod";
import z from "zod";
import EventEmitter from "eventemitter3";
export declare function startBrowserAgent(options?: AgentOptions & BrowserConnectorOptions & {
narrate?: boolean;
}): Promise<BrowserAgent>;
type ExtractedOutput = string | number | boolean | bigint | Date | null | undefined | {
[key: string]: ExtractedOutput;
} | ExtractedOutput[];
export interface BrowserAgentEvents {
'nav': (url: string) => void;
'extractStarted': (instructions: string, schema: ZodSchema) => void;
'extractDone': (instructions: string, data: ExtractedOutput) => void;
}
export declare class BrowserAgent extends Agent {
readonly browserAgentEvents: EventEmitter<BrowserAgentEvents>;
constructor({ agentOptions, browserOptions }: {
agentOptions?: Partial<AgentOptions>;
browserOptions?: BrowserConnectorOptions;
});
get page(): Page;
get context(): BrowserContext;
nav(url: string): Promise<void>;
extract<T extends Schema>(instructions: string, schema: T): Promise<z.infer<T>>;
}
export {};