UNPKG

skailan-conversations

Version:

Servicio de conversaciones y mensajería para Skailan

35 lines 1.61 kB
import axios from 'axios'; export class SummarizeConversationWithAI { messageRepository; conversationRepository; constructor(messageRepository, conversationRepository) { this.messageRepository = messageRepository; this.conversationRepository = conversationRepository; } async execute(request) { const { organizationId, conversationId, promptName, llmConfigName, parameters } = request; const conversation = await this.conversationRepository.findById(conversationId, organizationId); if (!conversation) { throw new Error('Conversation not found.'); } const messages = await this.messageRepository.findAll(organizationId, conversationId); const conversationText = messages.map(msg => `${msg.senderType}: ${msg.content}`).join('\n'); const AI_SERVICE_URL = process.env.AI_SERVICE_URL || 'http://localhost:3010'; try { const response = await axios.post(`${AI_SERVICE_URL}/ai/process-text`, { text: conversationText, promptName, llmConfigName, parameters, }, { headers: { 'x-tenant-id': organizationId }, }); return response.data.result; } catch (error) { console.error('Error summarizing conversation with AI service:', error.response?.data || error.message); throw new Error(`Failed to summarize conversation: ${error.response?.data?.error || error.message}`); } } } //# sourceMappingURL=SummarizeConversationWithAI.js.map