codetether_agent/rlm/router/
context.rs1use std::sync::Arc;
8use uuid::Uuid;
9
10use crate::provider::Provider;
11use crate::session::SessionBus;
12
13pub use codetether_rlm::router::ProcessProgress;
15
16pub use codetether_rlm::router::RoutingContext;
18
19pub use codetether_rlm::router::RoutingResult;
21
22pub struct AutoProcessContext<'a> {
28 pub tool_id: &'a str,
29 pub tool_args: serde_json::Value,
30 pub session_id: &'a str,
31 pub abort: Option<tokio::sync::watch::Receiver<bool>>,
32 pub on_progress: Option<Box<dyn Fn(ProcessProgress) + Send + Sync>>,
33 pub provider: Arc<dyn Provider>,
34 pub model: String,
35 pub bus: Option<SessionBus>,
36 pub trace_id: Option<Uuid>,
37 pub subcall_provider: Option<Arc<dyn Provider>>,
38 pub subcall_model: Option<String>,
39}