pub trait EventFormatter: Send + Sync {
Show 14 methods
// Required methods
fn print_system(&mut self, msg: &str);
fn print_ai(
&mut self,
msg: &str,
agent: &str,
model_info: &Option<ModelInfo>,
token_usage: &Option<TokenUsage>,
);
fn print_warning(&mut self, msg: &str);
fn print_error(&mut self, msg: &str);
fn print_retry_attempt(
&mut self,
attempt: u32,
max_retries: u32,
error: &str,
);
fn print_tool_request(&mut self, tool_request: &ToolRequest);
fn print_tool_result(
&mut self,
name: &str,
success: bool,
result: ToolExecutionResult,
verbose: bool,
);
fn print_thinking(&mut self);
fn print_task_update(&mut self, task_list: &TaskList);
fn clone_box(&self) -> Box<dyn EventFormatter>;
// Provided methods
fn on_typing_status_changed(&mut self, _typing: bool) { ... }
fn print_stream_start(
&mut self,
_message_id: &str,
_agent: &str,
_model: &Model,
) { ... }
fn print_stream_delta(&mut self, _message_id: &str, _text: &str) { ... }
fn print_stream_end(&mut self, _message: &ChatMessage) { ... }
}Expand description
Trait for formatting and displaying events in the terminal