Skip to main content

SteeringSource

Trait SteeringSource 

Source
pub trait SteeringSource: Plugin {
    // Required method
    fn next_steering_messages<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Vec<AgentMessage>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Source of “steering messages” — extra messages the user / harness wants to inject mid-run.

The loop calls next_steering_messages after the current assistant turn finishes executing its tool calls and before the next LLM call. Returned messages are appended verbatim to the transcript, then the loop continues. Use cases: user typed something while the agent was thinking, harness wants to inject a hint, watchdog wants to force a checkpoint.

Tool calls already in flight are not interrupted — steering messages land between batches.

Required Methods§

Source

fn next_steering_messages<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Vec<AgentMessage>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§