/** * Reporter interface — pluggable output formatting for `vally lint`. * * Eval-run reporters live in {@link ./plan-reporter.ts} and consume * the planner-driven event stream described there. */ import type { GraderResult } from "../graders/types.js"; import type { SkillScore } from "../scoring/scorer.js"; import type { DiscoveryError } from "../workspace/discover.js"; import type { Skill } from "../skill/types.js"; import type { RefFinding } from "../skill/reference-scanner.js"; import type { DepFinding } from "../skill/external-dep-checker.js"; export interface LintSkillResult { skill: Skill; graderResults: GraderResult[]; passed: boolean; } export interface LintResults { skillResults: LintSkillResult[]; skillScores: SkillScore[]; discoveryErrors: DiscoveryError[]; referenceFindings?: RefFinding[]; /** Advisory findings about external dependencies (scripts, tool references). */ depFindings?: DepFinding[]; passed: boolean; timestamp: Date; config: Record; } export interface LintReporter { name: string; report(results: LintResults): Promise; } export interface LintReporterRegistry { register(reporter: LintReporter): void; get(name: string): LintReporter | undefined; getAll(): LintReporter[]; } export declare function createLintReporterRegistry(): LintReporterRegistry; //# sourceMappingURL=types.d.ts.map