import type { AdapterHelloCapabilities } from "../protocol/types.js"; import type { PsbtWireFacts } from "../psbt/wire-facts.js"; import type { ScenarioOutcome } from "../scenarios/definition.js"; import type { RunManifest } from "./artifacts.js"; import { type VerifiedReplay } from "./replay.js"; export type RunComparisonChange = { readonly kind: "run-outcome-changed"; readonly before: RunManifest["outcome"]; readonly after: RunManifest["outcome"]; } | { readonly kind: "scenario-added" | "scenario-removed" | "scenario-outcome-changed"; readonly scenarioId: string; readonly before?: ScenarioOutcome; readonly after?: ScenarioOutcome; } | { readonly kind: "assertion-added" | "assertion-removed" | "assertion-changed"; readonly scenarioId: string; readonly assertionName: string; readonly before?: "passed" | "failed"; readonly after?: "passed" | "failed"; } | { readonly kind: "finding-added" | "finding-removed" | "finding-changed"; readonly scenarioId: string; readonly findingId: string; readonly implementation: string; } | { readonly kind: "adapter-added" | "adapter-removed" | "adapter-changed"; readonly adapter: string; readonly before?: string; readonly after?: string; readonly beforeSourceRevision?: string; readonly afterSourceRevision?: string; readonly beforeArtifactDigest?: string; readonly afterArtifactDigest?: string; } | { readonly kind: "adapter-capabilities-changed"; readonly adapter: string; readonly before?: AdapterHelloCapabilities; readonly after?: AdapterHelloCapabilities; } | { readonly kind: "checkpoint-added" | "checkpoint-removed" | "checkpoint-facts-changed"; readonly scenarioId: string; readonly stage: string; readonly beforeSha256?: string; readonly afterSha256?: string; readonly beforeFacts?: PsbtWireFacts; readonly afterFacts?: PsbtWireFacts; }; export interface RunComparison { readonly changed: boolean; readonly base: { readonly runId: string; readonly completedAt: string; readonly outcome: RunManifest["outcome"]; readonly verifiedCheckpoints: number; }; readonly head: { readonly runId: string; readonly completedAt: string; readonly outcome: RunManifest["outcome"]; readonly verifiedCheckpoints: number; }; readonly summary: { readonly runOutcomeChanged: boolean; readonly scenarioChanges: number; readonly assertionChanges: number; readonly findingChanges: number; readonly adapterChanges: number; readonly capabilityChanges: number; readonly checkpointChanges: number; }; readonly changes: readonly RunComparisonChange[]; } export declare function compareVerifiedReplays(base: VerifiedReplay, head: VerifiedReplay): RunComparison; export declare function compareRuns(baseDirectory: string, headDirectory: string): Promise; //# sourceMappingURL=compare.d.ts.map