donobu
Version:
Create browser automations with an LLM agent and replay them as Playwright scripts.
36 lines • 1.89 kB
TypeScript
import { FlowMetadata } from '../models/FlowMetadata';
import { ToolCall } from '../models/ToolCall';
import { VideoSegment } from '../models/VideoSegment';
import { FlowsPersistence, PaginatedFlowsResult } from './FlowsPersistence';
import { BrowserStorageState } from '../models/BrowserStorageState';
import { FlowsQuery } from '../models/FlowsQuery';
/**
* A volatile (in-memory) implementation of FlowsPersistence.
*/
export declare class FlowsPersistenceVolatile implements FlowsPersistence {
private readonly flows;
private readonly screenshots;
private readonly toolCalls;
private readonly videos;
private readonly files;
private readonly browserStates;
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[]>;
/**
* Get flows with pagination and filtering from in-memory storage.
*/
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>;
}
//# sourceMappingURL=FlowsPersistenceVolatile.d.ts.map