def transformer(
    name: str,
    auth_type: Optional[AuthType] = None,
    auth_config_class: Optional[str] = None,
    config_schema: Optional[dict] = None,
) -> Callable[[Callable], Callable]:
    """Method decorator to mark a function as an Airweave transformer.

    Args:
        name (str): The name of the transformer.
        short_name (str): The short name of the transformer.
        auth_type (AuthType, optional): The authentication type.
        auth_config_class (str, optional): The auth config class.
        config_schema (dict, optional): Configuration schema for the transformer.

    Returns:
        Callable: The decorated function.
    """

    def decorator(func: Callable) -> Callable:
        @wraps(func)
        async def wrapper(*args, **kwargs):
            return await func(*args, **kwargs)

        # Add transformer metadata
        wrapper._is_transformer = True
        wrapper._name = name
        wrapper._auth_type = auth_type
        wrapper._auth_config_class = auth_config_class
        wrapper._config_schema = config_schema or {}
        wrapper.__doc__ = func.__doc__
        wrapper._method_name = func.__name__

        return wrapper

    return decorator
Method decorator to mark a function as an Airweave transformer.

    Args:
        name (str): The name of the transformer.
        short_name (str): The short name of the transformer.
        auth_type (AuthType, optional): The authentication type.
        auth_config_class (str, optional): The auth config class.
        config_schema (dict, optional): Configuration schema for the transformer.

    Returns:
        Callable: The decorated function.
    
backend/airweave/platform/decorators.py