import type { ExecutionContext, ExecutionHandle, ExecutionInspection, ExecutionSpec, ExecutionStopReason, ExecutionStopResult, ExecutorCapabilities, ExecutorType, } from '../domain/execution'; export interface Executor { readonly type: ExecutorType; capabilities(): ExecutorCapabilities; start( spec: ExecutionSpec, context: ExecutionContext, ): Promise; stop( handle: ExecutionHandle, reason: ExecutionStopReason, ): Promise; inspect(handle: ExecutionHandle): Promise; }