pub async fn execute_step_config(
config: &StepConfig,
provider: &Arc<dyn AgentProvider>,
log_sender: Option<StepLogSender>,
) -> Result<StepOutput, EngineError>Expand description
Execute a StepConfig and return structured output.
When a StepLogSender is provided, executors that support streaming
will emit log lines in real time (e.g. shell stdout/stderr).
§Errors
Returns EngineError::Operation if the operation fails.
§Examples
use ironflow_engine::config::{StepConfig, ShellConfig};
use ironflow_engine::executor::execute_step_config;
use ironflow_core::provider::AgentProvider;
use ironflow_core::providers::claude::ClaudeCodeProvider;
use std::sync::Arc;
let provider: Arc<dyn AgentProvider> = Arc::new(ClaudeCodeProvider::new());
let config = StepConfig::Shell(ShellConfig::new("echo hello"));
let output = execute_step_config(&config, &provider, None).await?;