/** * Bifrost — gateway LLM (remplace les appels directs Mistral) * Endpoint OpenAI-compatible : POST {bifrostUrl}/v1/chat/completions * Auth : header x-bf-vk * * 2 tiers validés (Mission M3, build Bifrost) : * RAPIDE — défaut, pas de toggle UI mode rapide/approfondi sur le site actuellement * APPROFONDI — activable via body.mode === 'approfondi' (prêt pour un futur toggle front) * * ⚠ openrouter-oai exclu (bug Bifrost confirmé — 404 HTML sur modèles avec slash) * ⚠ gemini-oai exige le préfixe "models/" (sinon 403 silencieux) */ export const BIFROST_TIER_RAPIDE = { model: 'groq/llama-3.1-8b-instant', fallbacks: [ 'cerebras/gemma-4-31b', 'gemini-oai/models/gemini-2.5-flash-lite', 'cohere/command-r-08-2024', ], } export const BIFROST_TIER_APPROFONDI = { model: 'groq/llama-3.3-70b-versatile', fallbacks: [ 'gemini-oai/models/gemini-2.5-flash', 'mistral/mistral-large-latest', 'cohere/command-r-plus-08-2024', ], } /** Sélectionne le tier selon le param optionnel body.mode. */ export function pickBifrostTier(mode?: string) { return mode === 'approfondi' ? BIFROST_TIER_APPROFONDI : BIFROST_TIER_RAPIDE } export interface BifrostChatResponse { choices: { message: { content: string } }[] usage?: { prompt_tokens: number; completion_tokens: number } extra_fields?: { provider?: string; resolved_model_used?: string } }