const axios = require('axios'); const dotenv = require('dotenv'); dotenv.config(); const apiKey = process.env.GOOGLE_GEMINI_API_KEY; /** * Genera un borrador de correo electrónico en base a una descripción y un tono. * @param {String} description - Descripción del contenido del correo. * @param {String} tone - Tono del correo, 'formal' o 'informal'. * @returns {Promise} - Borrador de correo electrónico. */ const draftEmail = async (description, tone = 'formal') => { const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent?key=${apiKey}`; // Define el prompt para pedir un correo con el tono adecuado const prompt = ` Por favor, redacta un correo electrónico en tono ${tone} basado en la siguiente descripción. Asegúrate de que sea claro y apropiado para el contexto. Descripción del correo: ${description} `; try { const response = await axios.post( url, { contents: [{ parts: [{ text: prompt }] }] }, { headers: { 'Content-Type': 'application/json' } } ); // Extrae el borrador de correo de la respuesta const emailDraft = response.data.candidates[0].content.parts[0].text; return emailDraft; } catch (error) { console.error('Error al generar el borrador de correo:', JSON.stringify(error.response?.data, null, 2)); return 'Hubo un problema al generar el borrador de correo electrónico.'; } }; module.exports = { draftEmail };