
    &`i                         d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ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 G d d                      ZdS )	    N)DictListOptional)get_ray_jars_dir)update_envs)Language)DeveloperAPIc                       e Zd ZdZ	 	 	 	 	 ddee         deeef         dee         dee         dee         f
dZd	efd
Z	e
d             Zdee         defdZdS )RuntimeEnvContextz3A context used to describe the created runtime env.Ncommand_prefixenv_varspy_executableoverride_worker_entrypoint	java_jarsc                 p    |pg | _         |pi | _        |pt          j        | _        || _        |pg | _        d S N)r   r   sys
executabler   r   r   )selfr   r   r   r   r   s         t/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/_private/runtime_env/context.py__init__zRuntimeEnvContext.__init__   sB     -2 B*<cn9S'"b    returnc                 4    t          j        | j                  S r   )jsondumps__dict__)r   s    r   	serializezRuntimeEnvContext.serialize#   s    z$-(((r   c                 >    t          di t          j        |           S )N )r   r   loads)json_strings    r   deserializezRuntimeEnvContext.deserialize&   s      ;;4:k#:#:;;;r   passthrough_argslanguagec                   
 t          | j                   |t          j        k    rt          j        dk    r	| j        g}n|t          j        k    r
d| j        g}n|t          j        k    rdg}t          j	        
                    t                      d          }g }| j        D ]/}|                    | d           |                    |           0d|dz   t          d
                    |                    z   g}||z   }nt          j        dk    rg }ndg}| j        r6t                               d|d	          d
| j         d           | j        |d	<   t          j        dk    red 

fd|D             }g | j        ||}t                               d|            t'          j        |d                                           d S d |D             }g | j        ||}d}	|	t          j        v r+|                    d	|	 dt          j        |	                     t                               d|            t          j        dddd
                    |          g           d S )Nwin32execjava*z/*z-cp:z$Changing the worker entrypoint from r   z to .c                 2    |                      dd          } | S )N&z%26)replace)ss    r   quotez,RuntimeEnvContext.exec_worker.<locals>.quoteN   s    IIc5))r   c                 &    g | ]} |          S r    r    ).0r0   r1   s     r   
<listcomp>z1RuntimeEnvContext.exec_worker.<locals>.<listcomp>R   s!    CCCQaCCCr   zExec'ing worker with command: T)shellc                 6    g | ]}t          j        |          S r    )shlexr1   )r3   r0   s     r   r4   z1RuntimeEnvContext.exec_worker.<locals>.<listcomp>Z   s     III1AIIIr   DYLD_LIBRARY_PATH=bashz-c )args)r   r   r   PYTHONr   platformr   JAVAospathjoinr   r   appendstrr   loggerdebugr   
subprocessPopenwaitenvironinsertexecvp)r   r$   r%   r   ray_jarslocal_java_jarsjava_jarclass_path_argscmdMACOS_LIBRARY_PATH_ENV_NAMEr1   s             @r   exec_workerzRuntimeEnvContext.exec_worker*   s   DM"""x&&3<7+B+B,-JJ(( $"45JJ&& Jw||$4$6$6<<H O N 1 1&&(777&&x0000$hns388O;T;T7U7U&UVO.1AA\W$$JJ J * 	BLL67G7J 6 626 6 6   #'"AQ<7""    DCCC2BCCCHD'H*H7GHCLL?#??@@@S---2244444  JI8HIIIHD'H*H7GHC +>'*bj88

2 A Az"=>A A  
 LL?#??@@@ IfFD#((3--#@AAAAAAr   )NNNNN)__name__
__module____qualname____doc__r   rD   r   r   r   r   staticmethodr#   r   rS   r    r   r   r   r      s        == %)#''+48#) )S	) sCx.)  }	)
 %-SM) 9) ) ) ))3 ) ) ) ) < < \<BBDI BB BB BB BB BB BB BBr   r   )r   loggingr@   r7   rG   r   typingr   r   r   ray._private.servicesr   ray._private.utilsr   ray.core.generated.common_pb2r   ray.util.annotationsr	   	getLoggerrT   rE   r   r    r   r   <module>r`      s     				      



 ' ' ' ' ' ' ' ' ' ' 2 2 2 2 2 2 * * * * * * 2 2 2 2 2 2 - - - - - -		8	$	$ ZB ZB ZB ZB ZB ZB ZB ZB ZB ZBr   