/** * Module d'intégration IA principal */ import { AIClient } from './client.js'; import { ProviderConfig } from './types.js'; export async function initAI(config: any, auth: any): Promise { const keyManager = auth.getKeyManager(); const keys = keyManager.loadKeys(); const providerConfig: ProviderConfig = { openai: { apiKey: keys.openai || '', model: config.ai.openai?.model || 'gpt-4o-mini', baseUrl: config.ai.openai?.baseUrl }, mistral: { apiKey: keys.mistral || '', model: config.ai.mistral?.model || 'mistral-large-latest', baseUrl: config.ai.mistral?.baseUrl }, defaultProvider: keys.openai ? 'openai' : 'mistral' }; // Ajuster le provider par défaut selon les clés disponibles if (config.ai.defaultProvider && keys[config.ai.defaultProvider as keyof typeof keys]) { providerConfig.defaultProvider = config.ai.defaultProvider; } return new AIClient(providerConfig); } export { AIClient } from './client.js'; export * from './types.js';