
    &`i                     R   d dl mZmZ d dlmZmZ d dlZd dlmZ d dl	m
Z
 d dlmZ  ed           G d	 d
e                      Z ed           G d de                      Z ed           G d de                      Z ed           G d de                      ZdS )    )ABCabstractmethod)	dataclassfieldsN)DeploymentHandleSource)%RAY_SERVE_RUN_ROUTER_IN_SEPARATE_LOOP)DEFAULTT)frozenc                   p    e Zd ZU dZdZeed<   ej        Z	eed<   e
Zeed<   eed	d                        ZdS )
InitHandleOptionsBasezInit options for each ServeHandle instance.

    These fields can be set by calling `.init()` on a handle before
    sending the first request.
    F_prefer_local_routing_source_run_router_in_separate_loopreturnc                     t           N)NotImplementedError)clskwargss     u/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/serve/_private/handle_options.pycreatezInitHandleOptionsBase.create   s
     "!    N)r   r   )__name__
__module____qualname____doc__r   bool__annotations__r   UNKNOWNr   r   r   classmethodr   r    r   r   r   r   
   s           #(4'''&<&DG#DDD)N $NNN" " " ^ [" " "r   r   c                   &    e Zd Zedd            ZdS )InitHandleOptionsr   c                     t          |                                          D ]}||         t          j        k    r||= d|vr2t          j        j                                        t          j	        |d<    | di |S )Nr   r!   )
listkeysr	   VALUErayservecontext_get_internal_replica_contextr   REPLICA)r   r   ks      r   r   zInitHandleOptions.create   s}    fkkmm$$ 	 	AayGM))1I V##	!??AAM 6 >F9s}}V}}r   N)r   r#   )r   r   r   r    r   r!   r   r   r#   r#      s2           [  r   r#   c                   V    e Zd ZU dZdZeed<   dZeed<   dZe	ed<   e
dd	            Zd
S )DynamicHandleOptionsBasezyDynamic options for each ServeHandle instance.

    These fields can be changed by calling `.options()` on a handle.
    __call__method_name multiplexed_model_idFstreamr   c                     d S r   r!   )selfr   s     r   copy_and_updatez(DynamicHandleOptionsBase.copy_and_update:   s    r   N)r   r/   )r   r   r   r   r1   strr   r3   r4   r   r   r7   r!   r   r   r/   r/   /   sq          
 "K!!! "#"""FD   ^  r   r/   c                   &    e Zd ZU dZeed<   ddZdS )DynamicHandleOptionsT_by_referencer   c                     i }t          |           D ]Y}|j        |vs||j                 t          j        k    rt	          | |j                  ||j        <   D||j                 ||j        <   Zt          di |S )Nr!   )r   namer	   r'   getattrr:   )r6   r   
new_kwargsfs       r   r7   z$DynamicHandleOptions.copy_and_updateC   s    
 	4 	4AvV##vaf~'F'F%,T16%:%:
16""%+AF^
16""#11j111r   N)r   r:   )r   r   r   r;   r   r   r7   r!   r   r   r:   r:   ?   s:         M4	2 	2 	2 	2 	2 	2r   r:   )abcr   r   dataclassesr   r   r(   ray.serve._private.commonr   ray.serve._private.constantsr   ray.serve._private.utilsr	   r   r#   r/   r:   r!   r   r   <module>rF      s   # # # # # # # # ) ) ) ) ) ) ) ) 



 < < < < < < N N N N N N , , , , , , $" " " " "C " " "" $    -   $ $    s    $2 2 2 2 23 2 2 2 2 2r   