eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
32 lines (31 loc) • 1.52 kB
TypeScript
import type { SessionCapabilities } from "#channel/types.js";
import { type SessionInputQueue } from "#execution/session/input-queue.js";
import type { SessionInboxReader } from "#execution/session-inbox/inbox.js";
import type { SessionStateCursor } from "#execution/session/state-cursor.js";
import type { WorkflowToolRunMessage } from "#execution/tools/workflow/messages.js";
import type { TurnOutcome, TurnStepPayload } from "#execution/session/turn-step-types.js";
import type { RunMode } from "#shared/run-mode.js";
import type { RuntimeActionResult } from "#shared/action-types.js";
export interface SessionExecutionInput {
readonly capabilities?: SessionCapabilities;
readonly cursor: SessionStateCursor;
readonly inbox: SessionInboxReader;
readonly mode: RunMode;
readonly queue: SessionInputQueue;
readonly sessionId: string;
}
/**
* Executes conversational turns inside the owning session workflow: runs
* `turnStep`, services the inbox at committed boundaries, coordinates waits,
* and settles locally. There is no child run and no transport protocol.
*/
export declare class SessionExecution {
private readonly input;
constructor(input: SessionExecutionInput);
get cursor(): SessionStateCursor;
runTurn(delivery: TurnStepPayload | undefined): Promise<TurnOutcome>;
private runTurnSteps;
handleWorkflowMessage(message: WorkflowToolRunMessage): Promise<RuntimeActionResult | undefined>;
private finishCancelledTurn;
private waitForRuntimeActionResults;
}