donobu
Version:
Create browser automations with an LLM agent and replay them as Playwright scripts.
180 lines • 8.1 kB
TypeScript
import { z } from 'zod/v4';
/**
* Suite metadata — a named group of tests with default options that are
* applied to new tests created within the suite. Suites are flat (no
* nesting).
*
* All RunConfig fields are optional on a suite since they serve as defaults
* that can be overridden per-test.
*/
export declare const SuiteMetadataSchema: z.ZodObject<{
target: z.ZodOptional<z.ZodString>;
web: z.ZodOptional<z.ZodOptional<z.ZodObject<{
browser: z.ZodObject<{
initialState: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
type: z.ZodLiteral<"id">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
type: z.ZodLiteral<"name">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
type: z.ZodLiteral<"testId">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
type: z.ZodLiteral<"json">;
value: z.ZodObject<{
cookies: z.ZodArray<z.ZodType<{
name: string;
value: string;
domain: string;
path: string;
expires: number;
httpOnly: boolean;
secure: boolean;
sameSite: "Strict" | "Lax" | "None";
}, unknown, z.core.$ZodTypeInternals<{
name: string;
value: string;
domain: string;
path: string;
expires: number;
httpOnly: boolean;
secure: boolean;
sameSite: "Strict" | "Lax" | "None";
}, unknown>>>;
origins: z.ZodArray<z.ZodType<{
origin: string;
localStorage: Array<{
name: string;
value: string;
}>;
} & {
sessionStorage?: Array<{
name: string;
value: string;
}>;
}, unknown, z.core.$ZodTypeInternals<{
origin: string;
localStorage: Array<{
name: string;
value: string;
}>;
} & {
sessionStorage?: Array<{
name: string;
value: string;
}>;
}, unknown>>>;
}, z.core.$strip>;
}, z.core.$strip>], "type">>;
persistState: z.ZodOptional<z.ZodBoolean>;
using: z.ZodDiscriminatedUnion<[z.ZodObject<{
type: z.ZodLiteral<"device">;
deviceName: z.ZodOptional<z.ZodString>;
headless: z.ZodOptional<z.ZodBoolean>;
proxy: z.ZodOptional<z.ZodObject<{
server: z.ZodString;
bypass: z.ZodOptional<z.ZodString>;
username: z.ZodOptional<z.ZodString>;
password: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
type: z.ZodLiteral<"remoteInstance">;
url: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
type: z.ZodLiteral<"browserBase">;
sessionArgs: z.ZodObject<{
projectId: z.ZodString;
extensionId: z.ZodOptional<z.ZodString>;
browserSettings: z.ZodOptional<z.ZodObject<{
context: z.ZodOptional<z.ZodObject<{
id: z.ZodString;
}, z.core.$strip>>;
extensionId: z.ZodOptional<z.ZodString>;
viewport: z.ZodOptional<z.ZodObject<{
width: z.ZodNumber;
height: z.ZodNumber;
}, z.core.$strip>>;
blockAds: z.ZodOptional<z.ZodBoolean>;
solveCaptchas: z.ZodOptional<z.ZodBoolean>;
advancedStealth: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>>;
timeout: z.ZodOptional<z.ZodNumber>;
keepAlive: z.ZodOptional<z.ZodBoolean>;
proxies: z.ZodUnion<[z.ZodOptional<z.ZodBoolean>, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
type: z.ZodLiteral<"browserbase">;
geolocation: z.ZodOptional<z.ZodObject<{
country: z.ZodString;
state: z.ZodOptional<z.ZodString>;
city: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
domainPattern: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
type: z.ZodLiteral<"external">;
server: z.ZodString;
username: z.ZodOptional<z.ZodString>;
password: z.ZodOptional<z.ZodString>;
domainPattern: z.ZodOptional<z.ZodString>;
}, z.core.$strip>], "type">>]>;
region: z.ZodOptional<z.ZodString>;
userMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, z.core.$strip>;
}, z.core.$strip>], "type">;
}, z.core.$strip>;
targetWebsite: z.ZodString;
}, z.core.$strip>>>;
envVars: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
customTools: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
inputSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
javascript: z.ZodString;
}, z.core.$strip>>>>;
overallObjective: z.ZodOptional<z.ZodNullable<z.ZodString>>;
allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
callbackUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
videoDisabled: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
id: z.ZodString;
metadataVersion: z.ZodOptional<z.ZodNumber>;
name: z.ZodString;
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
provenance: z.ZodOptional<z.ZodObject<{
source: z.ZodEnum<{
DONOBU_STUDIO: "DONOBU_STUDIO";
CODE: "CODE";
}>;
user: z.ZodOptional<z.ZodString>;
os: z.ZodOptional<z.ZodString>;
hostname: z.ZodOptional<z.ZodString>;
ci: z.ZodOptional<z.ZodObject<{
provider: z.ZodOptional<z.ZodString>;
}, z.core.$loose>>;
git: z.ZodOptional<z.ZodObject<{
sha: z.ZodOptional<z.ZodString>;
branch: z.ZodOptional<z.ZodString>;
dirty: z.ZodOptional<z.ZodBoolean>;
}, z.core.$loose>>;
}, z.core.$loose>>;
}, z.core.$loose>;
export type SuiteMetadata = z.infer<typeof SuiteMetadataSchema>;
/**
* Query parameters for filtering and paginating suite results.
*/
export declare const SuitesQuerySchema: z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
partialName: z.ZodOptional<z.ZodString>;
sortBy: z.ZodOptional<z.ZodEnum<{
name: "name";
created_at: "created_at";
}>>;
sortOrder: z.ZodOptional<z.ZodEnum<{
asc: "asc";
desc: "desc";
}>>;
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
pageToken: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SuitesQuery = z.infer<typeof SuitesQuerySchema>;
//# sourceMappingURL=SuiteMetadata.d.ts.map