donobu
Version:
Create browser automations with an LLM agent and replay them as Playwright scripts.
31 lines • 1.72 kB
TypeScript
import type { AiQuery } from '../models/AiQuery';
import type { BrowserStorageState } from '../models/BrowserStorageState';
import type { DonobuDeploymentEnvironment } from '../models/DonobuDeploymentEnvironment';
import type { FlowMetadata, FlowsQuery } from '../models/FlowMetadata';
import type { PaginatedResult } from '../models/PaginatedResult';
import type { ToolCall } from '../models/ToolCall';
import type { FlowsPersistenceRegistry } from '../persistence/flows/FlowsPersistenceRegistry';
import type { FlowRuntime } from './FlowRuntime';
/**
* Centralized access layer for flow metadata, tool calls, and browser state.
*
* Responsibilities:
* - Prefer in-memory runtime state when running locally (so callers see live mutations)
* - Federate reads across all configured persistence layers with simple pagination merge
* - Provide a single surface for flow metadata, tool call history, browser state, and deletes
*/
export declare class FlowCatalog {
private readonly flowsPersistenceRegistry;
private readonly flowRuntime;
private readonly deploymentEnvironment;
constructor(flowsPersistenceRegistry: FlowsPersistenceRegistry, flowRuntime: FlowRuntime, deploymentEnvironment: DonobuDeploymentEnvironment);
getFlowById(flowId: string): Promise<FlowMetadata>;
getFlowByName(flowName: string): Promise<FlowMetadata>;
getToolCalls(flowId: string): Promise<ToolCall[]>;
getAiQueries(flowId: string): Promise<AiQuery[]>;
deleteFlow(flowId: string): Promise<void>;
getBrowserState(flowId: string): Promise<BrowserStorageState | null>;
getFlows(query: FlowsQuery): Promise<PaginatedResult<FlowMetadata>>;
private isLocal;
}
//# sourceMappingURL=FlowCatalog.d.ts.map