
    &`i,
                        d dl Z d dlmZmZmZmZmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ  e j        e          Z ed                    d	 e             d
                    	 	 	 	 	 ddddddededeeeef                  dededededed         deeeef                  deeef         fd            Z ed                    d	 e             d                    d             ZdS )    N)AnyDictListOptionalTuple)_explicitly_enable_client_mode_set_client_hook_status)get_ray_doc_version)	JobConfig)
Deprecated)rayzfUse ray.init(ray://<head_node_ip_address>:<ray_client_server_port>) instead. See detailed usage at {}.zhttps://docs.ray.io/en/z#/ray-core/package-ref.html#ray-init)messageF   )ignore_version_credentialsray_init_kwargsconn_strsecuremetadataconnection_retries
job_config	namespacer   r   zgrpc.ChannelCredentialsr   returnc                v   t          j                    rk|                    dd          }	|	rDt                              d           t          j                    j                                        S t          d          t          d           t                       t          j        | ||||||||	  	        }
|
S )Nignore_reinit_errorFzfCalling ray.init() again after it has already been called. Reusing the existing Ray client connection.z`Ray Client is already connected. Maybe you called ray.init("ray://<address>") twice by accident?T)r   r   r   r   r   r   r   r   )r   is_connectedgetloggerinfoget_contextclient_workerconnection_infoRuntimeErrorr	   r   connect)r   r   r   r   r   r   r   r   r   r   conns              k/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/util/client_connect.pyr$   r$      s    $  
-112GOO 	EKK>   ?$$2BBDDD=
 
 	
 D!!!"$$$
 ;-%!'
 
 
D K    z5Use ray.shutdown() instead. See detailed usage at {}.z'/ray-core/package-ref.html#ray-shutdownc                  (    t          j                    S )z'Disconnects from server; is idempotent.)r   
disconnect r'   r&   r)   r)   E   s     >r'   )FNr   NN)loggingtypingr   r   r   r   r   ray._private.client_mode_hookr   r	   ray._private.utilsr
   ray.job_configr   ray.util.annotationsr   ray.util.clientr   	getLogger__name__r   formatstrboolintr$   r)   r*   r'   r&   <module>r8      s4    3 3 3 3 3 3 3 3 3 3 3 3 3 3        3 2 2 2 2 2 $ $ $ $ $ $ + + + + + +      		8	$	$ ))/\"5"5"7"7\\\* *   &* , !8<04, , ,,, 5c?#, 	,
 , , , 45, d38n-, 
#s(^, , , ,^ CJJ`"5"5"7"7```   
  
  r'   