skailan-conversations
Version:
Servicio de conversaciones y mensajería para Skailan
35 lines • 1.61 kB
JavaScript
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