donobu
Version:
Create browser automations with an LLM agent and replay them as Playwright scripts.
35 lines • 1.76 kB
TypeScript
import type { PaginatedResult } from '../../models/PaginatedResult';
import type { TestListItem, TestMetadata, TestsQuery } from '../../models/TestMetadata';
import type { FlowsPersistence } from '../flows/FlowsPersistence';
import type { TestsPersistence } from './TestsPersistence';
/**
* A volatile (in-memory) implementation of TestsPersistence.
*/
export declare class TestsPersistenceVolatile implements TestsPersistence {
private readonly tests;
/**
* Optional flows-source callback used to compute flow-derived sort
* keys (`flow_count`, `latest_flow_created_at`). When supplied, the
* volatile layer can natively sort by those keys; otherwise they
* fall back to the existing best-effort string-index lookup. The
* callback is async so the registry can resolve the flows
* persistence layer lazily.
*/
private readonly flowsSource?;
constructor(tests?: Map<string, TestMetadata>,
/**
* Optional flows-source callback used to compute flow-derived sort
* keys (`flow_count`, `latest_flow_created_at`). When supplied, the
* volatile layer can natively sort by those keys; otherwise they
* fall back to the existing best-effort string-index lookup. The
* callback is async so the registry can resolve the flows
* persistence layer lazily.
*/
flowsSource?: (() => Promise<FlowsPersistence>) | undefined);
createTest(testMetadata: TestMetadata): Promise<void>;
updateTest(testMetadata: TestMetadata): Promise<void>;
getTestById(testId: string): Promise<TestMetadata>;
getTests(query: TestsQuery): Promise<PaginatedResult<TestListItem>>;
deleteTest(testId: string): Promise<void>;
}
//# sourceMappingURL=TestsPersistenceVolatile.d.ts.map