eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
44 lines (43 loc) • 1.84 kB
TypeScript
import type { RuntimeCompiledArtifactsSource } from "#runtime/compiled-artifacts-source.js";
import { type DurableSessionState } from "#execution/durable-session-store.js";
import type { JsonObject } from "#shared/json.js";
/**
* Result returned by {@link createSessionStep}.
*
* Exposes the projected {@link DurableSessionState} the driver needs to
* drive the turn loop.
*/
export interface CreateSessionStepResult {
readonly state: DurableSessionState;
}
/**
* Creates the durable session and returns the initial snapshot-bearing
* state before the workflow enters its turn loop.
* `nodeId` targets a subagent node in the compiled graph; omitted for
* the root agent.
*
* Emits the session/subagent-root `$eve.*` tags from inside this step
* (so the attribute write folds into a step the session already runs)
* and returns the durable state value the driver consumes.
*/
export declare function createSessionStep(input: {
readonly compiledArtifactsSource: RuntimeCompiledArtifactsSource;
readonly continuationToken: string;
/**
* First user message of the run, used to derive `$eve.title` for
* top-level sessions. Threaded in so the session/subagent-root tags
* can be emitted from inside this step (see the tag write below)
* instead of the workflow body, where each `setEveAttributes` call
* spends a standalone `__builtin_set_attributes` step.
*/
readonly inputMessage: unknown;
readonly outputSchema?: JsonObject;
readonly nodeId?: string;
readonly rootSessionId?: string;
/**
* Shared serialized context, read for `$eve.trigger` (channel kind)
* and to detect whether this run is a delegated subagent root.
*/
readonly serializedContext: Record<string, unknown>;
readonly sessionId: string;
}): Promise<CreateSessionStepResult>;