"""User tools."""

from cerebro_mcp.connection import execute
from cerebro_mcp.converters import user_to_dict


def register(mcp):

    @mcp.tool()
    async def get_current_user() -> str:
        """Получить информацию о текущем залогиненном пользователе."""
        try:
            raw = await execute("current_user")
            if not raw:
                return "Не удалось получить текущего пользователя"
            return str(user_to_dict(raw[0] if isinstance(raw[0], (list, tuple)) else raw))
        except Exception as e:
            return f"Ошибка: {e}"

    @mcp.tool()
    async def get_users() -> str:
        """Получить список всех пользователей Universe."""
        try:
            raw = await execute("users")
            users = [user_to_dict(u) for u in (raw or [])]
            return str(users)
        except Exception as e:
            return f"Ошибка: {e}"
