Spaces:
Sleeping
Sleeping
| # 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) |