synapto-interface 0.1.0-dev.8

Interface definitions for the Synapto framework
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use crate::plugin::Plugin;
use crate::sync::{broadcast, mpsc};
use async_trait::async_trait;

#[async_trait]
pub trait ChatPlugin: Plugin + Send + Sync {
    async fn start(
        &self,
        peer_input_text_tx: mpsc::Sender<crate::peer_input_text::PeerInputText>,
        cognitive_output_text_rx: mpsc::Receiver<crate::cognitive_output_text::CognitiveOutputText>,
        cognitive_state_rx: broadcast::Receiver<crate::cognitive::CognitiveStateUpdate>,
    ) -> Result<(), String>;
}