
    .`i              
          d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ  ee          Zdede
fdZ e            Ze                    d	           ed
           ed          fdedededefd            Ze                    d          dedefd            Ze                    d          dedefd            ZdefdZdS )    )
HTTPStatus)	APIRouterFastAPIQueryRequest)JSONResponse)EngineClient)init_loggerrequestreturnc                 $    | j         j        j        S N)appstateengine_client)r   s    z/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/entrypoints/serve/rlhf/api_router.pyr   r      s    ;**    z/pauseFTraw_requestwait_for_inflight_requestsclear_cachec                   K   t          |           }	 |                    ||           d{V  t          ddit          j        j                  S # t          $ r9}t          dt          |          it          j        j                  cY d}~S d}~wt          $ rI}t                              d           t          dd| it          j        j                  cY d}~S d}~ww xY w)	aO  Pause generation requests to allow weight updates.

    Args:
        wait_for_inflight_requests: When ``True`` waits for in-flight
            requests to finish before pausing. When ``False`` (default),
            aborts any in-flight requests immediately.
        clear_cache: Whether to clear KV/prefix caches after draining.
    )r   r   Nstatuspausedcontentstatus_codeerrorzFailed to pause generationzFailed to pause generation: )r   pause_generationr   r   OKvalue
ValueErrorstrBAD_REQUEST	Exceptionlogger	exceptionINTERNAL_SERVER_ERROR)r   r   r   engineerrs        r   r   r      sc      ;''F
%%'A# & 
 
 	
 	
 	
 	
 	
 	
 	
 x("+
 
 
 	

  
 
 
c#hh'".4
 
 
 	
 	
 	
 	
 	
 	
  
 
 
5666BSBBC"8>
 
 
 	
 	
 	
 	
 	
 	

s/   >A 
C&.B
C&C&>C!C&!C&z/resumec                 J  K   t          |           }	 |                                 d{V  t          ddit          j        j                  S # t          $ rI}t                              d           t          dd| it          j	        j                  cY d}~S d}~ww xY w)z Resume generation after a pause.Nr   resumedr   zFailed to resume generationr   zFailed to resume generation: )
r   resume_generationr   r   r   r    r$   r%   r&   r'   )r   r(   r)   s      r   r,   r,   ?   s       ;''F
&&(((((((((y)"+
 
 
 	
  
 
 
6777CcCCD"8>
 
 
 	
 	
 	
 	
 	
 	

s   ;A 
B">BB"B"z
/is_pausedc                 ,  K   t          |           }	 |                                 d{V }nV# t          $ rI}t                              d           t          dd| it          j        j                  cY d}~S d}~ww xY wt          d|i          S )z Return the current pause status.NzFailed to fetch pause statusr   zFailed to fetch pause status: r   	is_paused)r   )	r   r.   r$   r%   r&   r   r   r'   r    )r   r(   r   r)   s       r   r.   r.   S   s       ;''F
'')))))))) 
 
 
7888DsDDE"8>
 
 
 	
 	
 	
 	
 	
 	

 f 56666s   . 
B>A<6B<Br   c                 :    |                      t                     d S r   )include_routerrouter)r   s    r   attach_routerr2   e   s    vr   N)httpr   fastapir   r   r   r   fastapi.responsesr   vllm.engine.protocolr	   vllm.loggerr
   __name__r%   r   r1   postboolr   r,   getr.   r2    r   r   <module>r=      s  
       6 6 6 6 6 6 6 6 6 6 6 6 * * * * * * - - - - - - # # # # # #	X		+7 +| + + + + 
 X (-uU||d$
 $
$
 $$
 $
 	$
 $
 $
 $
N Y
 
\ 
 
 
 
& L7 7\ 7 7 7 7"w      r   