eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
31 lines (30 loc) • 1.36 kB
TypeScript
import type { JsonObject } from "#shared/json.js";
import type { PreparedDispatchTarget } from "#tools/behavior.js";
/** One model tool call selected for durable execution outside the harness. */
export interface PendingDispatchAction {
readonly callId: string;
readonly description: string;
readonly input: JsonObject;
readonly target: PreparedDispatchTarget;
readonly toolName: string;
}
/** Pending action that delegates work to a prepared agent identity. */
export type PendingAgentDispatchAction = PendingDispatchAction & {
readonly target: Extract<PreparedDispatchTarget, {
readonly kind: "remote-agent-call" | "self-agent-call" | "subagent-call";
}>;
};
/** Pending action that mutates the durable task lifecycle. */
export type PendingTaskControlAction = PendingDispatchAction & {
readonly target: Extract<PreparedDispatchTarget, {
readonly kind: "task-cancel";
}>;
};
/** Pending action that runs a tool's execute body as a durable workflow. */
export type PendingWorkflowToolAction = PendingDispatchAction & {
readonly target: Extract<PreparedDispatchTarget, {
readonly kind: "workflow-tool-call";
}>;
};
/** Fields common to task-control dispatch and its result projection helpers. */
export type TaskControlInvocation = Pick<PendingDispatchAction, "callId" | "input" | "toolName">;