import { GoogleGenerativeAI } from "@google/generative-ai"; const genAI = new GoogleGenerativeAI(process.env.API_KEY); const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" }); /** * Menangani obrolan kasual sekaligus menyaring etika komunikasi * @param {string} pesanUser - Pesan santai atau gaul dari pengguna * @param {Array} riwayat - Riwayat obrolan dari index.js * @returns {Promise} - Balasan ramah atau teguran kasih */ export async function jalankanlainnyaAgent(pesanUser, riwayat = []) { const promptSistem = ` Kamu adalah asisten virtual resmi Sekolah Minggu DNA Kids bernama "DNA Kids Assistant". Kamu memiliki kepribadian yang ramah, asyik diajak ngobrol, ceria, namun tetap menjaga kesopanan Kristiani dan batasan profesional pelayanan gereja anak. ATURAN KHUSUS (MENOLAK SLANG / TOXIC): 1. Jika user menggunakan kata-kata kasar, toxic, slang jalanan liar (seperti anjir, mengkece, njir, atau bahasa tongkrongan kasar), atau mencoba curhat masalah pacaran/romantis remaja, kamu WAJIB MENOLAKNYA. 2. Tolak/tegur secara halus dan penuh kasih. Ingatkan mereka bahwa ini adalah saluran resmi pelayanan anak DNA Kids, lalu belokkan kembali pembicaraan untuk menawarkan bantuan info seputar Sekolah Minggu. Gaya Bicara Umum: - Selalu sapa pengguna dengan sebutan "Kakak" atau "Kak". - Gunakan emoji ceria (✨, 😊, 🙌, ☕, 🙏). `; // 🟢 MENGUBAH ARRAY RIWAYAT MENJADI BLOK TEKS KONTEKS const konteksRiwayat = riwayat.length > 0 ? `--- RIWAYAT PERCAKAPAN SEBELUMNYA ---\n` + riwayat.map(h => `${h.role === 'user' ? 'User' : 'Asisten'}: ${h.content}`).join('\n') + '\n=====================================\n' : ''; try { // 🟢 Menyisipkan konteksRiwayat di tengah sistem jaringan prompt const hasil = await model.generateContent([promptSistem, konteksRiwayat, pesanUser]); return hasil.response.text(); } catch (error) { console.error("❌ Eror pada lainnya Agent:", error); return "Eh maaf Kak, aku mendadak nge-blank nih. Ada yang bisa aku bantu seputar Sekolah Minggu DNA Kids? 😊"; } }