Skip to main content

Middleware

Trait Middleware 

Source
pub trait Middleware: Send + Sync {
    // Provided methods
    fn before_model_call(
        &self,
        _request: &ProviderRequest,
    ) -> Result<(), CoreError> { ... }
    fn after_model_call(
        &self,
        _request: &ProviderRequest,
        _response: &ModelTurn,
    ) -> Result<(), CoreError> { ... }
    fn pre_tool_call(
        &self,
        _context: &ToolContext,
        _call: &ToolCall,
    ) -> Result<(), CoreError> { ... }
    fn post_tool_call(
        &self,
        _context: &ToolContext,
        _result: &ToolResult,
    ) -> Result<(), CoreError> { ... }
    fn on_run_finished(&self, _output: &RunOutput) -> Result<(), CoreError> { ... }
}

Provided Methods§

Source

fn before_model_call(&self, _request: &ProviderRequest) -> Result<(), CoreError>

Source

fn after_model_call( &self, _request: &ProviderRequest, _response: &ModelTurn, ) -> Result<(), CoreError>

Source

fn pre_tool_call( &self, _context: &ToolContext, _call: &ToolCall, ) -> Result<(), CoreError>

Source

fn post_tool_call( &self, _context: &ToolContext, _result: &ToolResult, ) -> Result<(), CoreError>

Source

fn on_run_finished(&self, _output: &RunOutput) -> Result<(), CoreError>

Implementors§