# agents/specialized/__init__.py # # Fachada pública del módulo. main.py sigue importando: # from agents.specialized import run_specialized_agent # sin necesitar ningún cambio. from agents.specialized import ( analyst, backend_dev, frontend_dev, writer, image_agent, ) # Mapa agente_key → módulo _AGENT_MAP = { "analyst": analyst, "backend_dev": backend_dev, "frontend_dev": frontend_dev, "writer": writer, "image_agent": image_agent, } async def run_specialized_agent(agent_key: str, task: str, context: dict = None) -> dict: """ Punto de entrada único. Delega al módulo correspondiente según agent_key. Si el agente no existe devuelve un error estructurado (no lanza excepción). """ module = _AGENT_MAP.get(agent_key) if module is None: return { "agent": agent_key, "error": f"Agente '{agent_key}' no implementado aún", "success": False, } return await module.run(task, context)