diff --git a/memento-note/lib/config.ts b/memento-note/lib/config.ts index 4c8776a..5f79950 100644 --- a/memento-note/lib/config.ts +++ b/memento-note/lib/config.ts @@ -1,17 +1,40 @@ import prisma from './prisma' +// "openrouter" était une ancienne valeur de provider — on la normalise en "custom" +function normalizeProvider(val: string | undefined): string { + if (!val) return '' + return val === 'openrouter' ? 'custom' : val +} + // Environment variable fallbacks for system config keys const ENV_FALLBACKS: Record = { - AI_PROVIDER_TAGS: process.env.AI_PROVIDER_TAGS || '', + // AI providers (openrouter → custom) + AI_PROVIDER_TAGS: normalizeProvider(process.env.AI_PROVIDER_TAGS), AI_MODEL_TAGS: process.env.AI_MODEL_TAGS || '', - AI_PROVIDER_EMBEDDING: process.env.AI_PROVIDER_EMBEDDING || '', + AI_PROVIDER_EMBEDDING: normalizeProvider(process.env.AI_PROVIDER_EMBEDDING), AI_MODEL_EMBEDDING: process.env.AI_MODEL_EMBEDDING || '', - AI_PROVIDER_CHAT: process.env.AI_PROVIDER_CHAT || '', + AI_PROVIDER_CHAT: normalizeProvider(process.env.AI_PROVIDER_CHAT), AI_MODEL_CHAT: process.env.AI_MODEL_CHAT || '', OLLAMA_BASE_URL: process.env.OLLAMA_BASE_URL || '', OPENAI_API_KEY: process.env.OPENAI_API_KEY || '', CUSTOM_OPENAI_API_KEY: process.env.CUSTOM_OPENAI_API_KEY || '', CUSTOM_OPENAI_BASE_URL: process.env.CUSTOM_OPENAI_BASE_URL || '', + // Email + EMAIL_PROVIDER: process.env.EMAIL_PROVIDER || (process.env.RESEND_API_KEY ? 'resend' : 'smtp'), + RESEND_API_KEY: process.env.RESEND_API_KEY || '', + SMTP_HOST: process.env.SMTP_HOST || '', + SMTP_PORT: process.env.SMTP_PORT || '587', + SMTP_USER: process.env.SMTP_USER || '', + SMTP_PASS: process.env.SMTP_PASS || '', + SMTP_FROM: process.env.SMTP_FROM || '', + SMTP_SECURE: process.env.SMTP_SECURE || 'false', + SMTP_IGNORE_CERT: process.env.SMTP_IGNORE_CERT || 'false', + // Tools + WEB_SEARCH_PROVIDER: process.env.WEB_SEARCH_PROVIDER || 'searxng', + SEARXNG_URL: process.env.SEARXNG_URL || '', + BRAVE_SEARCH_API_KEY: process.env.BRAVE_SEARCH_API_KEY || '', + JINA_API_KEY: process.env.JINA_API_KEY || '', + // Auth / misc ALLOW_REGISTRATION: process.env.ALLOW_REGISTRATION || '', NEXTAUTH_URL: process.env.NEXTAUTH_URL || '', } @@ -28,6 +51,11 @@ export async function getSystemConfig() { console.error('Failed to load system config from DB:', e) } + // Normalise les valeurs openrouter → custom dans la DB aussi + for (const key of ['AI_PROVIDER_TAGS', 'AI_PROVIDER_EMBEDDING', 'AI_PROVIDER_CHAT']) { + if (dbConfig[key] === 'openrouter') dbConfig[key] = 'custom' + } + // Merge: DB values take precedence, env vars as fallback const merged = { ...ENV_FALLBACKS, ...dbConfig } return merged