UNPKG

donobu

Version:

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

33 lines 1.74 kB
/** * @fileoverview Pure in-memory merge of two `DonobuReport`s. * * Combines the initial Playwright run and an auto-heal rerun into a single * report that carries both attempts and annotates any test whose outcome * flipped from failing → passing as `self-healed`. The result is destined for * the HTML renderer (and, for back-compat, the on-disk Playwright JSON that * downstream dashboards consume). * * This module intentionally owns zero I/O. Callers load the reports off disk, * call `mergeReports`, then persist / relocate attachments / re-render as * needed. Keeping the merge pure makes it trivial to test and reason about. */ import type { DonobuReport, HealedTestDescriptor } from './model'; export interface MergeReportsParams { /** Pre-loaded initial report, or null when the initial run produced none. */ initialReport: DonobuReport | null; /** Pre-loaded heal-run report, or null when the heal run produced none. */ healReport: DonobuReport | null; /** Tests the orchestrator declared healed — used when the heal report * doesn't expose them under a matching key (e.g. filter rewrites). */ healedTests: HealedTestDescriptor[]; /** Whether the heal rerun exited cleanly. */ healSucceeded: boolean; /** Recorded in the merged report metadata for triage auto-discovery. */ triageRunDir?: string; /** Recorded in the merged report metadata purely for provenance. */ initialReportSourcePath?: string; healReportSourcePath?: string; } export declare function mergeReports(params: MergeReportsParams): DonobuReport | null; export declare function buildTestKey(file?: string, projectName?: string, title?: string): string; //# sourceMappingURL=merge.d.ts.map