rust_agent/callbacks/
handler.rs

1// Callback handler interface definition
2use crate::agents::{AgentAction, AgentFinish};
3
4// Minimal callback system (aligned with langchain-core)
5pub trait CallbackHandler: Send + Sync {
6    // LLM related callbacks (core)
7    fn on_llm_start(&self, _model_name: &str, _prompts: &[String]) {}
8    
9    fn on_llm_new_token(&self, _token: &str) {}
10    
11    fn on_llm_end(&self, _model_name: &str) {}
12    
13    fn on_llm_error(&self, _model_name: &str, _error: &str) {}
14    
15    // Tool related callbacks (core)
16    fn on_tool_start(&self, _tool_name: &str, _input: &str) {}
17    
18    fn on_tool_end(&self, _tool_name: &str, _output: &str) {}
19    
20    fn on_tool_error(&self, _tool_name: &str, _error: &str) {}
21    
22    // Chain related callbacks (core)
23    fn on_chain_start(&self, _chain_name: &str) {}
24    
25    fn on_chain_end(&self, _chain_name: &str) {}
26    
27    fn on_chain_error(&self, _chain_name: &str, _error: &str) {}
28    
29    // Agent related callbacks
30    fn on_agent_action(&self, _action: &AgentAction) {}
31    
32    fn on_agent_finish(&self, _finish: &AgentFinish) {}
33}