UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

65 lines (64 loc) 2.84 kB
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; }