synapto_interface/chat.rs
1use crate::plugin::Plugin;
2use crate::sync::{broadcast, mpsc};
3use async_trait::async_trait;
4
5#[async_trait]
6pub trait ChatPlugin: Plugin + Send + Sync {
7 async fn start(
8 &self,
9 peer_input_text_tx: mpsc::Sender<crate::peer_input_text::PeerInputText>,
10 cognitive_output_text_rx: mpsc::Receiver<crate::cognitive_output_text::CognitiveOutputText>,
11 cognitive_state_rx: broadcast::Receiver<crate::cognitive::CognitiveStateUpdate>,
12 ) -> Result<(), String>;
13}