[{'Text': '"""Auth0 authentication helpers for role-based access control.\n\nThis module provides utilities to check user roles from Auth0 JWT tokens.\nWorks with both the official MCP SDK and FastMCP.\n\nExample:\n    from point_topic_mcp.auth import require_admin_role\n\n    @mcp.tool()\n    async def admin_only_tool(token_claims: dict | None = None):\n        require_admin_role(token_claims)  # Raises PermissionError if not admin\n        return {"message": "Admin access granted"}\n"""\n\nimport logging\nfrom typing import Any\n\nimport httpx\nfrom jose import jwt, JWTError\n\nlogger = logging.getLogger(__name__)\n\n# Thread-local storage for current token context\n# This allows token to be passed without changing function signatures everywhere\n_current_token_claims: dict[str, Any] = {}\n\n\ndef set_current_token_claims(claims: dict | None):\n    """Set the current token claims for this request context.\n\n'}]