Skip to main content

after_model

Attribute Macro after_model 

Source
#[after_model]
Expand description

Middleware: run a hook after each model call.

The decorated async function must accept &ModelRequest and &mut ModelResponse, returning Result<(), SynapticError>.

§Example

use synaptic_macros::after_model;
use synaptic_middleware::{ModelRequest, ModelResponse};
use synaptic_core::SynapticError;

#[after_model]
async fn log_response(request: &ModelRequest, response: &mut ModelResponse) -> Result<(), SynapticError> {
    println!("Model responded: {}", response.message.content());
    Ok(())
}

let mw = log_response(); // Arc<dyn AgentMiddleware>