UNPKG

donobu

Version:

Create browser automations with an LLM agent and replay them as Playwright scripts.

71 lines 3.26 kB
import { FlowsPersistence, PaginatedFlowsResult } from './FlowsPersistence'; import { FlowMetadata } from '../models/FlowMetadata'; import { ToolCall } from '../models/ToolCall'; import { VideoSegment } from '../models/VideoSegment'; import { BrowserStorageState } from '../models/BrowserStorageState'; import { FlowsQuery } from '../models/FlowsQuery'; /** * A persistence implementation that uses Google Cloud Storage. * * If you are running locally, be sure to have the Google Cloud CLI installed * so that you can authenticate using `gcloud auth application-default login` * before running Donobu. * * If Donobu is being run in the Google cloud, be sure that the service account * in which it is being run has permissions to read and write the Google Cloud * Storage bucket specified as a constructor argument. */ export declare class FlowsPersistenceGoogleCloudStorage implements FlowsPersistence { private readonly bucket; private static readonly NAME_INDEX_PREFIX; private static readonly RUN_MODE_INDEX_PREFIX; private static readonly STATE_INDEX_PREFIX; private static readonly RUN_MODE_STATE_INDEX_PREFIX; private static readonly METADATA_FILENAME; private static readonly BROWSER_STATE_FILENAME; private static readonly SCREENSHOT_FILENAME_SUFFIX; private static readonly TOOL_CALL_FILENAME_SUFFIX; private static readonly VIDEO_FILENAME; /** * Dynamically imports the Google Cloud Storage library. * This helps to delay loading the library until it's actually needed. */ private static importGoogleCloudStorage; static create(bucketName: string): Promise<FlowsPersistenceGoogleCloudStorage>; private constructor(); saveMetadata(flowMetadata: FlowMetadata): Promise<void>; getMetadataByFlowId(flowId: string): Promise<FlowMetadata>; getMetadataByFlowName(flowName: string): Promise<FlowMetadata>; savePngScreenShot(flowId: string, bytes: Buffer): Promise<string>; getPngScreenShot(flowId: string, screenShotId: string): Promise<Buffer | null>; saveToolCall(flowId: string, toolCall: ToolCall): Promise<void>; getToolCalls(flowId: string): Promise<ToolCall[]>; getFlows(query: FlowsQuery): Promise<PaginatedFlowsResult>; setVideo(flowId: string, bytes: Buffer): Promise<void>; getVideoSegment(flowId: string, startOffset: number, length: number): Promise<VideoSegment | null>; getFlowFile(flowId: string, fileId: string): Promise<Buffer | null>; setFlowFile(flowId: string, fileId: string, fileBytes: Buffer): Promise<void>; setBrowserState(flowId: string, browserState: BrowserStorageState): Promise<void>; getBrowserState(flowId: string): Promise<BrowserStorageState | null>; deleteFlow(flowId: string): Promise<void>; private uploadString; private uploadBytes; private downloadString; /** * Update name-to-id index. */ private updateNameIndex; /** * Update runMode-to-id index. */ private updateRunModeIndex; /** * Update state-to-id index. */ private updateStateIndex; /** * Update combined runMode+state-to-id index. */ private updateRunModeStateIndex; } //# sourceMappingURL=FlowsPersistenceGoogleCloudStorage.d.ts.map