| import logging |
| from typing import Any |
| from fastapi import WebSocket |
| from models.session_state import SessionConfig |
| from models.conversation_profile import ConversationProfile |
|
|
| class RuntimeContext: |
| def __init__( |
| self, |
| session_id: str, |
| websocket: WebSocket, |
| event_bus: Any, |
| queue_registry: Any, |
| task_supervisor: Any, |
| cleanup_manager: Any, |
| session_config: SessionConfig, |
| conversation_profile: ConversationProfile, |
| logger: logging.Logger, |
| tts_model: Any = None, |
| nv_client: Any = None, |
| groq_client: Any = None, |
| get_voice_state: Any = None, |
| run_transcription: Any = None, |
| clean_and_check_text: Any = None, |
| available_voices: Any = None, |
| persona_system_prompts: Any = None, |
| audio_buffer: Any = None, |
| ): |
| self.session_id = session_id |
| self.websocket = websocket |
| self.event_bus = event_bus |
| self.queue_registry = queue_registry |
| self.task_supervisor = task_supervisor |
| self.cleanup_manager = cleanup_manager |
| self.session_config = session_config |
| self.conversation_profile = conversation_profile |
| self.logger = logger |
| |
| |
| self.tts_model = tts_model |
| self.nv_client = nv_client |
| self.groq_client = groq_client |
| self.get_voice_state = get_voice_state |
| self.run_transcription = run_transcription |
| self.clean_and_check_text = clean_and_check_text |
| self.available_voices = available_voices or {} |
| self.persona_system_prompts = persona_system_prompts or {} |
| self.audio_buffer = audio_buffer |
| self.turn_id = "" |
| |
| |
| self.turn_manager: Any = None |
| self.transcript_stabilizer: Any = None |
| self.vad_service: Any = None |
| self.asr_service: Any = None |
| self.llm_service: Any = None |
| self.tts_service: Any = None |
| self.sentence_accumulator: Any = None |
| self.error_handler: Any = None |
| self.memory_service: Any = None |
|
|