Skip to main content

execute_step_config

Function execute_step_config 

Source
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?;