El problema era que Authentik interceptaba las solicitudes OPTIONS
antes de llegar a la app. Ahora el middleware 00.cors.ts:
- Se ejecuta antes de 01.api-auth.ts
- Responde OPTIONS con 204 y headers CORS
- Permite solicitudes cross-origin desde cualquier dominio
- Valida Bearer token para rutas expuestas (/api/messages/send, /api/mcp)
- Valida x-authentik-username para rutas protegidas por Authentik
- Rutas públicas (/api/health) sin autenticación
- Defensa en profundidad: cualquier endpoint /api/* está protegido