eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
65 lines (64 loc) • 2.84 kB
TypeScript
import type { Client } from "#client/client.js";
import type { ClientSession } from "#client/session.js";
import type { CancelSessionResult, SendTurnInput, SessionState } from "#client/types.js";
import type { HandleMessageStreamEvent, TurnFailureStreamEvent } from "#protocol/message.js";
import type { InputRequest, InputResponse } from "#runtime/input/types.js";
import { AssertionCollector } from "#evals/assertions/collector.js";
import type { EveEvalAssertions, EveEvalLiveTurn, EveEvalOutputAssertions, EveEvalSession, EveEvalSessionResult, EveEvalTurn } from "#evals/types.js";
import type { EveEvalInputRequestMatchOptions } from "#evals/match.js";
/**
* Error thrown by {@link EveEvalTurn.expectOk} when a turn failed.
*/
export declare class EveEvalTurnFailedError extends Error {
readonly event: TurnFailureStreamEvent | undefined;
readonly turn: EveEvalTurn;
constructor(turn: EveEvalTurn);
}
export interface EvalSessionDriver extends EveEvalAssertions, EveEvalOutputAssertions {
}
export declare class EvalSessionDriver implements EveEvalSession {
#private;
constructor(input: {
readonly collector: AssertionCollector;
readonly session: ClientSession;
readonly signal?: AbortSignal;
});
get events(): readonly HandleMessageStreamEvent[];
get lastTurn(): EveEvalTurn | undefined;
get pendingInputRequests(): readonly InputRequest[];
get sessionId(): string | undefined;
get state(): SessionState;
cancel(): Promise<CancelSessionResult>;
requireInputRequest(filter?: EveEvalInputRequestMatchOptions): InputRequest;
respond(...responses: InputResponse[]): Promise<EveEvalTurn>;
respondAll(optionId: string): Promise<EveEvalTurn>;
send(input: SendTurnInput): Promise<EveEvalTurn>;
start(input: SendTurnInput): Promise<EveEvalLiveTurn>;
sendFile(text: string, filePath: string, mediaType?: string): Promise<EveEvalTurn>;
readTurn(options?: {
readonly startIndex?: number;
}): Promise<EveEvalTurn>;
watchTurn(options?: {
readonly startIndex?: number;
}, sessionId?: string): EveEvalLiveTurn;
snapshot(primary: boolean): EveEvalSessionResult;
}
export declare class EvalSessionManager {
#private;
constructor(input: {
readonly client: Client;
readonly collector?: AssertionCollector;
readonly signal?: AbortSignal;
});
get primary(): EvalSessionDriver;
newSession(): EvalSessionDriver;
attachSession(sessionId: string, options?: {
readonly startIndex?: number;
}): Promise<EvalSessionDriver>;
watchTurn(sessionId: string, options?: {
readonly startIndex?: number;
}): EveEvalLiveTurn;
snapshots(): readonly EveEvalSessionResult[];
lastTurnSession(): EvalSessionDriver | undefined;
hasActivity(): boolean;
}