eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
30 lines (29 loc) • 1.28 kB
TypeScript
import type { Client } from "#client/client.js";
import type { EveEval, EveEvalResult, EveEvalTargetHandle } from "#evals/types.js";
import type { EvalSessionStartedEvent } from "#evals/session.js";
/**
* Options for executing one eval.
*/
export interface ExecuteEvalOptions {
readonly evaluation: EveEval;
/** Receives `t.log` lines as the eval runs (used by `--verbose`). */
readonly onLog?: (message: string) => void;
/** Receives the first trace context observed for each session. */
readonly onSessionStart?: (event: EvalSessionStartedEvent) => void;
readonly target: EveEvalTargetHandle;
/** Overrides the eval's own `timeoutMs` when set (CLI `--timeout`). */
readonly timeoutMs?: number;
/** Runner-owned start time, shared with reporter lifecycle events. */
readonly startedAt?: string;
/**
* Pre-configured client for communicating with the eve agent.
* The CLI constructs this once with the appropriate auth and headers,
* and every eval creates fresh sessions from it.
*/
readonly client: Client;
}
/**
* Executes one eval end to end: runs `test(t)`, collects its assertions, and
* computes the verdict.
*/
export declare function executeEval(options: ExecuteEvalOptions): Promise<EveEvalResult>;