import { GoogleGenAI, Type } from "@google/genai"; const API_KEY = process.env.API_KEY; if (!API_KEY) { console.warn("Gemini API key not found. AI features will be disabled. Please set process.env.API_KEY."); } const ai = new GoogleGenAI({ apiKey: API_KEY! }); export const generateServiceDescription = async (serviceName: string): Promise => { if (!API_KEY) { return `A local instance of ${serviceName}.`; } try { const response = await ai.models.generateContent({ model: "gemini-2.5-flash", contents: `Provide a concise, one-sentence description for a self-hosted service named "${serviceName}". This description will be shown on a personal dashboard.`, config: { responseMimeType: "application/json", responseSchema: { type: Type.OBJECT, properties: { description: { type: Type.STRING, description: "The generated one-sentence description for the service.", }, }, }, }, }); const jsonText = response.text.trim(); const result = JSON.parse(jsonText); return result.description || `A local instance of ${serviceName}.`; } catch (error) { console.error("Error fetching description from Gemini:", error); return `A local instance of ${serviceName}.`; } };