algocline_core/
observer.rs1use crate::{ExecutionSpec, LlmQuery, QueryId, TokenUsage};
2
3pub trait ExecutionObserver: Send + Sync {
8 fn on_started(&self, _spec: &ExecutionSpec) {}
9 fn on_paused(&self, _queries: &[LlmQuery]) {}
11 fn on_partial_feed(&self, _query_id: &QueryId, _remaining: usize) {}
13 fn on_response_fed(&self, _query_id: &QueryId, _response: &str, _usage: Option<&TokenUsage>) {}
16 fn on_resumed(&self) {}
18 fn on_completed(&self, _result: &serde_json::Value) {}
19 fn on_failed(&self, _error: &str) {}
20 fn on_cancelled(&self) {}
22}