donobu
Version:
Create browser automations with an LLM agent and replay them as Playwright scripts.
250 lines • 10.7 kB
TypeScript
import { z } from 'zod/v4';
export declare const StateSchema: z.ZodEnum<{
UNSTARTED: "UNSTARTED";
INITIALIZING: "INITIALIZING";
QUERYING_LLM_FOR_NEXT_ACTION: "QUERYING_LLM_FOR_NEXT_ACTION";
WAITING_ON_USER_FOR_NEXT_ACTION: "WAITING_ON_USER_FOR_NEXT_ACTION";
PAUSED: "PAUSED";
RESUMING: "RESUMING";
RUNNING_ACTION: "RUNNING_ACTION";
FAILED: "FAILED";
SUCCESS: "SUCCESS";
}>;
export type State = z.infer<typeof StateSchema>;
export declare const FlowMetadataSchema: z.ZodObject<{
target: z.ZodString;
web: 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.ZodNullable<z.ZodArray<z.ZodString>>;
customTools: 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.ZodNullable<z.ZodString>;
allowedTools: z.ZodArray<z.ZodString>;
resultJsonSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
callbackUrl: z.ZodNullable<z.ZodString>;
maxToolCalls: z.ZodNullable<z.ZodNumber>;
videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
id: z.ZodString;
metadataVersion: z.ZodOptional<z.ZodNumber>;
name: z.ZodNullable<z.ZodString>;
createdWithDonobuVersion: z.ZodString;
testId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
gptConfigName: z.ZodNullable<z.ZodString>;
hasGptConfigNameOverride: z.ZodBoolean;
defaultMessageDuration: z.ZodNullable<z.ZodNumber>;
runMode: z.ZodEnum<{
AUTONOMOUS: "AUTONOMOUS";
INSTRUCT: "INSTRUCT";
DETERMINISTIC: "DETERMINISTIC";
}>;
isControlPanelEnabled: z.ZodBoolean;
result: z.ZodNullable<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
inputTokensUsed: z.ZodNumber;
completionTokensUsed: z.ZodNumber;
startedAt: z.ZodNullable<z.ZodNumber>;
completedAt: z.ZodNullable<z.ZodNumber>;
state: z.ZodEnum<{
UNSTARTED: "UNSTARTED";
INITIALIZING: "INITIALIZING";
QUERYING_LLM_FOR_NEXT_ACTION: "QUERYING_LLM_FOR_NEXT_ACTION";
WAITING_ON_USER_FOR_NEXT_ACTION: "WAITING_ON_USER_FOR_NEXT_ACTION";
PAUSED: "PAUSED";
RESUMING: "RESUMING";
RUNNING_ACTION: "RUNNING_ACTION";
FAILED: "FAILED";
SUCCESS: "SUCCESS";
}>;
nextState: z.ZodNullable<z.ZodEnum<{
UNSTARTED: "UNSTARTED";
INITIALIZING: "INITIALIZING";
QUERYING_LLM_FOR_NEXT_ACTION: "QUERYING_LLM_FOR_NEXT_ACTION";
WAITING_ON_USER_FOR_NEXT_ACTION: "WAITING_ON_USER_FOR_NEXT_ACTION";
PAUSED: "PAUSED";
RESUMING: "RESUMING";
RUNNING_ACTION: "RUNNING_ACTION";
FAILED: "FAILED";
SUCCESS: "SUCCESS";
}>>;
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 FlowMetadata = z.infer<typeof FlowMetadataSchema>;
/**
* Query parameters for filtering and paginating flow metadata results.
*/
export declare const FlowsQuerySchema: z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
partialName: z.ZodOptional<z.ZodString>;
startedAfter: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
startedBefore: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
runMode: z.ZodOptional<z.ZodEnum<{
AUTONOMOUS: "AUTONOMOUS";
INSTRUCT: "INSTRUCT";
DETERMINISTIC: "DETERMINISTIC";
}>>;
state: z.ZodOptional<z.ZodEnum<{
UNSTARTED: "UNSTARTED";
INITIALIZING: "INITIALIZING";
QUERYING_LLM_FOR_NEXT_ACTION: "QUERYING_LLM_FOR_NEXT_ACTION";
WAITING_ON_USER_FOR_NEXT_ACTION: "WAITING_ON_USER_FOR_NEXT_ACTION";
PAUSED: "PAUSED";
RESUMING: "RESUMING";
RUNNING_ACTION: "RUNNING_ACTION";
FAILED: "FAILED";
SUCCESS: "SUCCESS";
}>>;
testId: z.ZodOptional<z.ZodString>;
orphaned: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
sortBy: z.ZodOptional<z.ZodEnum<{
name: "name";
state: "state";
created_at: "created_at";
run_mode: "run_mode";
}>>;
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 FlowsQuery = z.infer<typeof FlowsQuerySchema>;
/**
* Checks if a flow state represents completion (either success or failure).
*
* @param state - The state to check
* @returns True if the state represents completion
*/
export declare const isComplete: (state: State) => boolean;
//# sourceMappingURL=FlowMetadata.d.ts.map