[{'Text': '"""Authentication utilities for Point Topic MCP.\n\nAuth0 OAuth integration with role-based access control:\n- @public decorator - Tools available to everyone\n- @requires_permissions decorator - Tools requiring specific permissions\n- ptAdmin role - Full access to all tools\n- JWT token claims contain user permissions\n\nUsage:\n    from point_topic_mcp.auth import public, requires_permissions\n\n    @public\n    @mcp.tool()\n    async def health_check():\n        return {"status": "ok"}  # Available to everyone\n\n    @requires_permissions(["read:data"])\n    @mcp.tool()\n    async def query_database():\n        return {"data": "result"}  # Requires permission\n"""\n\n# Permission decorators\nfrom point_topic_mcp.auth.decorators import (\n    public,\n    is_public_tool,\n    PUBLIC_TOOLS,\n    requires_permissions,\n    get_tool_permissions,\n    has_tool_permissions,\n    TOOL_PERMISSIONS,\n)\n\n# Permission middleware\nfrom point_topic_mcp.auth.middleware import (\n    PermissionMiddleware,\n    get_user_permissions,\n    is_pt_admin,\n    check_tool_access,\n)\n\n# Auth0 helpers\nfrom point_topic_mcp.auth.auth0_helpers import (\n    get_user_roles,\n    require_admin_role,\n    has_role,\n    has_any_role,\n    require_role,\n    get_user_info,\n)\n\n__all__ = [\n    # Decorators\n    "public",\n    "is_public_tool",\n    "PUBLIC_TOOLS",\n    "requires_permissions",\n    "get_tool_permissions",\n    "has_tool_permissions",\n    "TOOL_PERMISSIONS",\n    # Middleware\n    "PermissionMiddleware",\n    "get_user_permissions",\n    "is_pt_admin",\n    "check_tool_access",\n    # Auth0 helpers\n    "get_user_roles",\n    "require_admin_role",\n    "has_role",\n    "has_any_role",\n    "require_role",\n    "get_user_info",\n]\n'}]