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; //# sourceMappingURL=step-executor.d.ts.map