o
    ·ÏiÔ  ã                   @   sÈ   U d Z ddlmZ ddlmZ dejd d dddiidejdœZee	ef e
d	< 	
ddee	ee	ef f de	de	dedef
dd„Zdee	ee	ef f de	de	defdd„Zdee	ef fdd„ZdS )zÛ
Feature flags module for ComfyUI WebSocket protocol negotiation.

This module handles capability negotiation between frontend and backend,
allowing graceful protocol evolution while maintaining backward compatibility.
é    )ÚAny)ÚargsTi   ÚmanagerÚsupports_v4)Úsupports_preview_metadataÚmax_upload_sizeÚ	extensionÚnode_replacementsÚassetsÚSERVER_FEATURE_FLAGSFÚsockets_metadataÚsidÚfeature_nameÚdefaultÚreturnc                 C   s$   || vr|S | |   di ¡  ||¡S )aM  
    Get a feature flag value for a specific connection.

    Args:
        sockets_metadata: Dictionary of socket metadata
        sid: Session ID of the connection
        feature_name: Name of the feature to check
        default: Default value if feature not found

    Returns:
        Feature value or default if not found
    Úfeature_flags)Úget)r   r   r   r   © r   ú5/mnt/c/Users/fbmor/ComfyUI/comfy_api/feature_flags.pyÚget_connection_feature   s   r   c                 C   s   t | ||dƒdu S )a  
    Check if a connection supports a specific feature.

    Args:
        sockets_metadata: Dictionary of socket metadata
        sid: Session ID of the connection
        feature_name: Name of the feature to check

    Returns:
        Boolean indicating if feature is supported
    FT)r   )r   r   r   r   r   r   Úsupports_feature.   s   r   c                   C   s   t  ¡ S )zb
    Get the server's feature flags.

    Returns:
        Dictionary of server feature flags
    )r   Úcopyr   r   r   r   Úget_server_featuresA   s   r   N)F)Ú__doc__Útypingr   Úcomfy.cli_argsr   r   Úenable_assetsr   ÚdictÚstrÚ__annotations__r   Úboolr   r   r   r   r   r   Ú<module>   s>    
ûüÿþýü
ûÿþý
ü