o
    $i2                  
   @   sl   d Z ddlmZ ddlmZmZ ddlmZ e Z	ede
defddZedde
d
ededefddZd	S )z.Registry of connector names for global access.    )Any)	ConnectorConnectorContext)OldAPIStacknameclsc                 C   s,   | t v rdS t|tstd||t | < dS )zRegister a connector for use with RLlib.

    Args:
        name: Name to register.
        cls: Callable that creates an env.
    Nz!Can only register Connector type.)ALL_CONNECTORS
issubclassr   	TypeError)r   r    r   Z/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/ray/rllib/connectors/registry.pyregister_connector
   s
   

r   Nctxparamsreturnc                 C   s"   | t vr	td| t |  ||S )zGet a connector by its name and serialized config.

    Args:
        name: name of the connector.
        ctx: Connector context.
        params: serialized parameters of the connector.

    Returns:
        Constructed connector.
    zconnector not found.)r   	NameError
from_state)r   r   r   r   r   r   get_connector   s   
r   )N)__doc__typingr   ray.rllib.connectors.connectorr   r   ray.rllib.utils.annotationsr   dictr   strr   r   r   r   r   r   <module>   s    "