evalite
Version:
Test your LLM-powered apps with a TypeScript-native, Vitest-based eval runner. No API key required.
51 lines • 1.89 kB
TypeScript
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