import { GoogleGenerativeAI } from "@google/generative-ai"; import { ChatHistory, GenerateConfig, ChatSetting } from "../exportType/types"; const apiKey = process.env.GEMINI_API_KEY; if (!apiKey) { throw new Error("api key not found"); } const genAI = new GoogleGenerativeAI(apiKey); export async function chatToGemini( userMessage: string, history: ChatHistory, settings: ChatSetting ): Promise { const model = genAI.getGenerativeModel({ model: settings.model || "gemini-2.5-flash", systemInstruction: settings.systemInstructions || "you are going to create a project idea, explain it in summery first before going to detail", }); const generationConfig: GenerateConfig = { temperature: settings.temperature || 1, topP: 0.9, responseMimeType: "text/plain", maxOutputTokens: 1900, // Increased to allow for longer responses } const chatSession = model.startChat({ generationConfig, history }) try { const result = await chatSession.sendMessage(userMessage); return result.response.text(); } catch (error) { console.error("Gemini API Error:", error); throw error; } }