*/ class NewMessagesSummarizeListener implements IEventListener { public function __construct( private LoggerInterface $logger, private AiIntegrationsService $aiService, private IAppConfig $appConfig, ) { } #[\Override] public function handle(Event $event): void { if ($this->appConfig->getAppValueBool('llm_processing', false) === false) { return; } if (!($event instanceof NewMessagesSynchronized)) { return; } try { $this->aiService->summarizeMessages( $event->getAccount(), $event->getMessages(), ); } catch (ServiceException $e) { $this->logger->error('Could not initiate a message summarize task(s): ' . $e->getMessage(), [ 'exception' => $e, ]); } } }