/** * Loose shapes accepted from MCP local artifact files / in-memory summaries. * Kept structural (no dependency on @sitelensapi/mcp) so reports stays Playwright-free. */ export interface LocalEvidenceStep { viewport?: string; index: number; kind?: "action" | "assert" | "network"; type: string; targetDescription: string; status: string; error?: string; expected?: string; actual?: string; screenshot?: { label: string; path: string; url?: string; }; network?: { url: string; method: string; status?: number; durationMs?: number; bodyPreview?: string; }; storage?: { storage: string; operation: string; keysAffected: string[]; pageUrl: string; }; } export interface LocalEvidenceStepSummary { total?: number; passed?: number; failed?: number; assertionsTotal?: number; assertionsPassed?: number; assertionsFailed?: number; networkTotal?: number; networkFailed?: number; } export interface LocalEvidenceSummary { tool?: string; status: string; testedUrl: string; finalUrl?: string; httpStatus?: number | null; pageTitle?: string; viewports: string[]; localRunId: string; artifactDir?: string; screenshotPaths?: string[]; screenshotsEnabled?: boolean; browserChannelUsed?: string; consoleIssueCount?: number; networkIssueCount?: number; topConsoleIssues?: string[]; topNetworkIssues?: string[]; interpretationNotes?: string[]; authMode?: string; settleWaitMs?: number; readiness?: { gotoWaitUntil?: string; readySelector?: string; readyText?: string; readyTimeoutMs?: number; overallStatus?: string; timedOutViewports?: string[]; unevaluatedViewports?: string[]; }; actionLog?: LocalEvidenceStep[]; stepSummary?: LocalEvidenceStepSummary; nextRecommendedAction?: string; } export interface LocalEvidenceRawViewport { viewport: string; finalUrl: string; httpStatus: number | null; pageTitle: string | null; screenshotPath: string | null; consoleMessages: Array<{ type: string; text: string; }>; pageErrors: string[]; networkFailures: Array<{ url: string; failure?: string; httpStatus?: number; }>; } export interface LocalEvidenceRaw { testedUrl?: string; viewports: LocalEvidenceRawViewport[]; notes?: string[]; } export type LocalEvidenceInventoryRole = "original" | "annotated" | "thumbnail" | "trace" | "video" | "har" | "browser_events" | "diagnostics_bundle" | "response_body" | "console_log" | "network_summary" | "download" | "websocket_log" | "performance_report" | "diagnostic_evidence"; /** Roles that never represent a viewable screenshot asset (excluded from `screenshots`). */ export declare const NON_SCREENSHOT_INVENTORY_ROLES: readonly LocalEvidenceInventoryRole[]; export interface LocalEvidenceInventoryItem { relativePath?: string; /** MCP screenshot-inventory.json field */ relativeFromArtifactDir?: string | null; path?: string; label?: string; width?: number | null; height?: number | null; role?: LocalEvidenceInventoryRole; /** Relative path of the canonical original when this item is a derivative. */ derivedFromRelativePath?: string | null; } export interface LocalEvidenceInventory { items?: LocalEvidenceInventoryItem[]; } /** Loose shape of `BrowserDiagnosticFindingV1` from `@sitelensapi/observe` (structural only). */ export interface LocalEvidenceDiagnosticFinding { findingId: string; ruleId: string; category?: string; severity: "info" | "warning" | "error" | "critical"; title: string; summary?: string; stepId?: string; boundaryId?: string; runId?: string; sessionId?: string; recommendedActions?: Array<{ id: string; label: string; detail?: string; }>; } /** Loose shape of `DiagnosticsReport` from `@sitelensapi/observe` (structural only). */ export interface LocalEvidenceDiagnosticsReport { schemaVersion?: number; generatedAt?: string; findings: LocalEvidenceDiagnosticFinding[]; droppedFindingCount?: number; } export interface LocalScenarioFlowEvidence { flowRef: string; flowId: string; flowName: string; index: number; status: string; testedUrl: string; localRunId: string; artifactDir?: string; reportPath?: string; error?: string; } export interface LocalScenarioEvidence { scenarioId: string; scenarioName: string; status: string; profile?: string; workspaceDir?: string; flowResults: LocalScenarioFlowEvidence[]; sharedSession?: boolean; startedAt: string; finishedAt: string; /** True when the scenario stopped early (failure / abort) before all flows ran. */ incomplete?: boolean; expectedFlowCount?: number; } //# sourceMappingURL=local-evidence.d.ts.map