def destination(
    name: str,
    short_name: str,
    auth_type: Optional[AuthType] = None,
    auth_config_class: Optional[str] = None,
    labels: Optional[List[str]] = None,
) -> Callable[[type], type]:
    """Class decorator to mark a class as representing an Airweave destination.

    Args:
    ----
        name (str): The name of the destination.
        short_name (str): The short name of the destination.
        auth_type (AuthType): The authentication type of the destination.
        auth_config_class (str): The authentication config class of the destination.
        labels (Optional[List[str]]): Labels categorizing this destination (e.g., "Vector", "Graph")

    Returns:
    -------
        Callable[[type], type]: The decorated class.

    """

    def decorator(cls: type) -> type:
        cls._is_destination = True
        cls._name = name
        cls._short_name = short_name
        cls._auth_type = auth_type
        cls._auth_config_class = auth_config_class
        cls._labels = labels or []
        return cls

    return decorator
Class decorator to mark a class as representing an Airweave destination.

    Args:
    ----
        name (str): The name of the destination.
        short_name (str): The short name of the destination.
        auth_type (AuthType): The authentication type of the destination.
        auth_config_class (str): The authentication config class of the destination.
        labels (Optional[List[str]]): Labels categorizing this destination (e.g., "Vector", "Graph")

    Returns:
    -------
        Callable[[type], type]: The decorated class.

    
backend/airweave/platform/decorators.py