export async function embedText(text: string, apiKey?: string): Promise { const key = apiKey ?? process.env.GOOGLE_AI_API_KEY if (!key) throw new Error('GOOGLE_AI_API_KEY is not set') const res = await fetch( `https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:embedContent?key=${key}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'models/text-embedding-004', content: { parts: [{ text }] }, }), } ) if (!res.ok) throw new Error(`Gemini embed failed: ${res.status}`) const json = await res.json() as { embedding: { values: number[] } } return json.embedding.values }