""" Chat Service - Handles all chat logic """ from typing import Dict import models.registry as model_registry from services.memory_service import MemoryService from services.persona_service import PersonaService from services.model_service import ModelService class ChatService: @staticmethod async def process_message(user_id: str, message: str, model_id: str, **kwargs) -> Dict: try: model_cfg = model_registry.get(model_id) # Get persona persona = kwargs.get("persona", "default") persona_data = PersonaService.get_persona(persona) # Load memory memory = MemoryService.load_recent_memory(user_id, 8) # Call model-specific logic result = await ModelService.get_model_response( user_id=user_id, message=message, model_id=model_id, persona=persona_data, memory=memory, **kwargs ) return result except Exception as e: logging.error(f"[ChatService] Error: {e}") return { "response": "😔 Something went wrong. Please try again.", "error": True }