eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
42 lines (41 loc) • 1.96 kB
TypeScript
import type { EveEval, EveEvalConfig } from "#evals/types.js";
/**
* Discovers eval files under `<appRoot>/evals/` by recursively
* scanning for files matching `*.eval.ts`.
*
* Returns absolute paths sorted alphabetically by relative path.
*/
export declare function discoverEvalFiles(appRoot: string): Promise<string[]>;
/**
* Returns true when `evalId` matches one of the requested filters. A filter
* matches its exact eval id or any eval nested under it, so `"runtime"`
* matches both `evals/runtime.eval.ts` and every eval in `evals/runtime/`
* (and every entry of an array-exported `evals/runtime.eval.ts`).
*/
export declare function matchesEvalFilter(evalId: string, filters: readonly string[]): boolean;
/**
* Imports a discovered eval file and stamps the path-derived id(s) onto
* the eval definition(s).
*
* The file must `export default` either one `EveEvalDefinition` (produced
* by `defineEval()`) or an array of them. A single definition derives its
* id from the file path; array entries derive `<file-id>/<index>` ids with
* the index zero-padded to four digits (e.g. `"weather/0000"`).
*/
export declare function importEvalFile(appRoot: string, filePath: string): Promise<EveEval[]>;
/**
* Discovers and imports all eval files, optionally filtering by eval id.
* Filters match exactly or by directory prefix (see {@link matchesEvalFilter}).
*
* Throws when two files derive the same eval id (e.g. an array-exported
* `evals/weather.eval.ts` colliding with `evals/weather/0000.eval.ts`).
*/
export declare function discoverAndImportEvals(appRoot: string, evalIds?: readonly string[]): Promise<EveEval[]>;
/**
* Discovers and imports the required `evals/evals.config.ts` run-wide
* configuration (produced by `defineEvalConfig()`).
*
* Throws when the file is missing or does not default-export a valid
* `EveEvalConfig`.
*/
export declare function discoverEvalConfig(appRoot: string): Promise<EveEvalConfig>;