UNPKG

donobu

Version:

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

38 lines 2.09 kB
import Database from 'better-sqlite3'; 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 persistence implementation that uses SQLite for all data storage, including binary files. */ export declare class FlowsPersistenceSqlite implements FlowsPersistence { private readonly db; private static readonly SCREENSHOT_MIME_TYPE; private static readonly VIDEO_MIME_TYPE; private static readonly BROWSER_STATE_FILE_ID; private static readonly VIDEO_FILE_ID; private constructor(); static create(db: Database.Database): Promise<FlowsPersistenceSqlite>; 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>; close(): void; private getMimeTypeFromFileId; optimize(): Promise<void>; } //# sourceMappingURL=FlowsPersistenceSqlite.d.ts.map