""" GreetingWorker - Thread per generazione saluto LLM senza bloccare UI """ from PyQt6.QtCore import QThread, pyqtSignal class GreetingWorker(QThread): """ Worker thread per generare il saluto di benvenuto dinamico. Emette segnali quando completa o incontra errori. """ # Segnali finished = pyqtSignal(str) # Saluto generato error = pyqtSignal(str) # Errore durante la generazione def __init__(self, kernel, session_id="desktop_session"): """ Args: kernel: JarvisKernel instance session_id: ID della sessione (per memoria conversazione) """ super().__init__() self.kernel = kernel self.session_id = session_id def run(self): """Esegue la generazione del saluto (chiamato automaticamente da start())""" try: # Recupera il CognitiveService dal kernel cognitive_service = self.kernel.get_service("CognitiveService") if not cognitive_service: self.error.emit("CognitiveService non disponibile nel Kernel") return # Genera il saluto dinamico greeting = cognitive_service.generate_greeting(self.session_id) # Emette il saluto al thread principale (UI) self.finished.emit(greeting) except Exception as e: # In caso di errore, notifica l'UI error_msg = f"Errore durante la generazione del saluto: {str(e)}" self.error.emit(error_msg)