#pragma once #include #include "r1_voice/llm.hh" #include "r1_voice/stt.hh" #include "r1_voice/tts.hh" #include "r1_voice/vision_context.hh" namespace r1_voice { struct ConversationConfig { SttConfig stt; LlmConfig llm; TtsConfig tts; VisionConfig vision; }; class Conversation { public: explicit Conversation( ConversationConfig config ); bool init( const std::string& network_interface ); void run(); private: ConversationConfig config_; SpeechToText stt_; LLM llm_; TextToSpeech tts_; VisionContext vision_; }; } // namespace r1_voice