fix(audit): prototypes Gemini server-side + retire metrics-token du dépôt
Proxy Gemini côté serveur (plus de clé dans le bundle Vite), port prototype 4000, et suppression du token métriques placeholder versionné. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -170,6 +170,38 @@ async function startServer() {
|
||||
res.json(ideas[index]);
|
||||
});
|
||||
|
||||
app.post('/api/gemini/embed', async (req, res) => {
|
||||
const key = process.env.GEMINI_API_KEY;
|
||||
if (!key) {
|
||||
return res.status(503).json({ error: 'GEMINI_API_KEY not configured on server' });
|
||||
}
|
||||
try {
|
||||
const { GoogleGenAI } = await import('@google/genai');
|
||||
const ai = new GoogleGenAI({ apiKey: key });
|
||||
const response = await ai.models.embedContent(req.body);
|
||||
res.json(response);
|
||||
} catch (error) {
|
||||
console.error('Gemini embed error:', error);
|
||||
res.status(500).json({ error: 'Gemini embed failed' });
|
||||
}
|
||||
});
|
||||
|
||||
app.post('/api/gemini/generate', async (req, res) => {
|
||||
const key = process.env.GEMINI_API_KEY;
|
||||
if (!key) {
|
||||
return res.status(503).json({ error: 'GEMINI_API_KEY not configured on server' });
|
||||
}
|
||||
try {
|
||||
const { GoogleGenAI } = await import('@google/genai');
|
||||
const ai = new GoogleGenAI({ apiKey: key });
|
||||
const response = await ai.models.generateContent(req.body);
|
||||
res.json({ text: response.text ?? '' });
|
||||
} catch (error) {
|
||||
console.error('Gemini proxy error:', error);
|
||||
res.status(500).json({ error: 'Gemini request failed' });
|
||||
}
|
||||
});
|
||||
|
||||
// Vite middleware for development
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
const vite = await createViteServer({
|
||||
|
||||
Reference in New Issue
Block a user