eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
48 lines • 1.61 kB
TypeScript
import type { World } from '#compiled/@workflow/world/index.js';
import type { CryptoKey } from '../encryption.js';
export interface StepExecutorParams {
world: World;
workflowRunId: string;
/** Deployment that owns the workflow run, for forwarded writable streams. */
workflowDeploymentId?: string;
workflowName: string;
workflowStartedAt: number;
stepId: string;
stepName: string;
encryptionKey?: CryptoKey;
/**
* The workflow run's specVersion, used to gate payload compression.
* Step outputs/errors are only gzip-compressed when the run is marked
* as possibly containing compressed payloads (specVersion >= 5).
*/
runSpecVersion?: number;
}
/**
* Result of a step execution attempt. The caller decides what to do
* based on the result type (e.g., queue workflow continuation, replay inline, etc.).
*/
export type StepExecutionResult = {
type: 'completed';
hasPendingOps?: boolean;
} | {
type: 'failed';
} | {
type: 'retry';
timeoutSeconds: number;
} | {
type: 'skipped';
} | {
type: 'gone';
} | {
type: 'throttled';
timeoutSeconds: number;
};
/**
* Executes a single step: creates step_started event, hydrates input,
* runs the step function, creates step_completed/step_failed/step_retrying events.
*
* Does NOT queue workflow continuation messages — the caller decides what to do next.
* Used by both the V1 step handler and the V2 combined handler.
*/
export declare function executeStep(params: StepExecutorParams): Promise<StepExecutionResult>;
//# sourceMappingURL=step-executor.d.ts.map