UNPKG

evalite

Version:

Test your LLM-powered apps with a TypeScript-native, Vitest-based eval runner. No API key required.

51 lines 1.89 kB
import { type Evalite } from "@evalite/core"; import { type SQLiteDatabase } from "@evalite/core/db"; import type { RunnerTask, RunnerTestFile, TaskResultPack, Test } from "vitest"; import { BasicReporter } from "vitest/reporters"; export interface EvaliteReporterOptions { isWatching: boolean; port: number; logNewState: (event: Evalite.ServerState) => void; db: SQLiteDatabase; scoreThreshold: number | undefined; modifyExitCode: (exitCode: number) => void; } export declare function withLabel(color: "red" | "green" | "blue" | "cyan", label: string, message: string): string; type ReporterEvent = { type: "RUN_BEGUN"; filepaths: string[]; runType: Evalite.RunType; } | { type: "RUN_ENDED"; } | { type: "RESULT_SUBMITTED"; result: Evalite.Result; } | { type: "RESULT_STARTED"; initialResult: Evalite.InitialResult; }; export default class EvaliteReporter extends BasicReporter { private opts; private state; private didLastRunFailThreshold; constructor(opts: EvaliteReporterOptions); onInit(ctx: any): void; onWatcherStart(files?: RunnerTestFile[], errors?: unknown[]): void; updateState(state: Evalite.ServerState): void; /** * Handles the state management for the reporter */ sendEvent(event: ReporterEvent): void; onWatcherRerun(files: string[], trigger?: string): void; onFinished: (files?: RunnerTestFile[], errors?: unknown[]) => Promise<void>; protected printTask(file: RunnerTask): void; reportTestSummary(files: RunnerTestFile[], errors: unknown[]): void; private renderTable; onTestStart(test: Test): void; onTestFinished(test: Test): void; onTestFilePrepare(file: RunnerTestFile): void; onTestFileFinished(file: RunnerTestFile): void; onTaskUpdate(packs: TaskResultPack[]): void; } export {}; //# sourceMappingURL=reporter.d.ts.map