eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
31 lines (30 loc) • 1.2 kB
TypeScript
import type { Client } from "#client/client.js";
import type { AssertionResult, EveEval, EveEvalTargetHandle, EveEvalTaskResult } from "#evals/types.js";
/**
* Options for executing one eval's task.
*/
interface ExecuteTaskOptions {
readonly client: Client;
readonly evaluation: EveEval;
/** Receives each `t.log` line as it is written (used by `--verbose`). */
readonly onLog?: (message: string) => void;
readonly target: EveEvalTargetHandle;
readonly timeoutMs?: number;
}
/**
* Task result plus the assertions the eval's `test(t)` recorded. `error` is
* set when the `test` body threw (e.g. a failed `expectOk()` or a bespoke
* `throw`); the partial run is still captured so recorded assertions report.
*/
export interface ExecuteTaskResult {
readonly result: EveEvalTaskResult;
readonly assertions: readonly AssertionResult[];
readonly error?: string;
}
/**
* Executes one eval's `test(t)` against an eve agent target: drives the
* session(s), captures the run, then finalizes the recorded assertions
* against the completed task result.
*/
export declare function executeTask(options: ExecuteTaskOptions): Promise<ExecuteTaskResult>;
export {};