// [UPDATE - TEMPS RÉEL] Helper pour émettre des événements Socket.io depuis les API routes Next.js. // Utilise un canal HTTP interne vers le process socket-server.ts séparé. // Non-fatal : en cas d'échec, le client récupérera l'état via React Query polling. export async function emitToSession( sessionId: string, event: string, data: unknown ): Promise { const socketUrl = process.env.SOCKET_INTERNAL_URL || 'http://localhost:3003' const internalKey = process.env.SOCKET_INTERNAL_KEY || '' try { await fetch(`${socketUrl}/emit`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'x-internal-key': internalKey, }, body: JSON.stringify({ sessionId, event, data }), signal: AbortSignal.timeout(2000), // 2s max — ne pas bloquer l'API }) } catch { // Non-fatal — le canal Socket est best-effort // Le client se resynchronise via invalidation React Query } }