matrixcode_core/command/
backend_context.rs1use std::sync::{Arc, Mutex};
6
7use crate::{AgentEvent, Config, SessionManager, agent::Agent, providers::Provider, skills::Skill};
8
9pub struct BackendContext<'a> {
14 pub message: &'a str,
16 pub event_tx: &'a tokio::sync::mpsc::Sender<AgentEvent>,
18 pub project_path: Option<&'a std::path::PathBuf>,
20 pub skills: &'a [Skill],
22 pub config: &'a Config,
24 pub model: &'a str,
26 pub session_mgr: &'a mut Option<SessionManager>,
28 pub memory_storage: &'a mut Option<crate::memory::MemoryStorage>,
30 pub agent: &'a mut Agent,
32 pub provider: &'a dyn Provider,
34 pub watcher_handle: Option<&'a Arc<Mutex<Option<tokio::task::JoinHandle<()>>>>>,
36 pub cancel_token: Option<&'a crate::cancel::CancellationToken>,
38}