import {clean} from './seguridad.mjs'; export async function accionarAvatar(config,kind,data={}) { if(!config.avatar?.enabled)return false; const action=config.avatar.actions?.[kind]; if(!action)return false; const controller=new AbortController(); const timer=setTimeout(()=>controller.abort(),config.avatar.timeoutMs||1500); try{ const response=await fetch(config.avatar.apiUrl,{method:'POST',signal:controller.signal,headers:{'Content-Type':'application/json'},body:JSON.stringify({action,payload:Object.fromEntries(Object.entries(data).map(([k,v])=>[k,clean(v,100)]))})}); if(!response.ok)throw new Error(`HTTP ${response.status}`); return true; }catch(err){console.warn('[AVATAR] VNyan no respondió:',err.message);return false;}finally{clearTimeout(timer);} }