
    .`i                        d dl mZ d dlmZ d dl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mZmZ d dlmZ d dlmZ d d	lmZmZ d d
lmZ  ee          Z e            Zdededz  fdZdeedf         deedf         fdZ e!                    d ee          gej"        j#        ddi iiej$        j#        deiej%        j#        deiej&        j#        deii          eededefd                                    Z'e(                    d          e	 	 d"dedede)dz  de*dz  fd                        Z+e!                    d          ededefd                        Z,d efd!Z-dS )#    )AsyncGenerator)
HTTPStatus)	APIRouterDependsFastAPIRequest)JSONResponseStreamingResponse)ErrorResponse)ResponsesRequestResponsesResponseStreamingResponsesResponse)OpenAIServingResponses)validate_json_request)load_aware_callwith_cancellation)init_loggerrequestreturnNc                 $    | j         j        j        S N)appstateopenai_serving_responses)r   s    /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/entrypoints/openai/responses/api_router.py	responsesr      s    ;55    	generatorc                   K   | 2 3 d{V }t          |dd          }d| d|                    d           d}|W V  ;6 dS )z9Convert the generator to a stream of events in SSE formatNtypeunknownzevent: z
data: )indentz

)getattrmodel_dump_json)r   event
event_type
event_datas       r   _convert_stream_to_sse_eventsr(   "   s       !       eUFI66
 SjRR%*?*?t*?*L*LRRR 	  !yys   A z/v1/responsescontenttext/event-streammodel)dependenciesr   raw_requestc                 8  K   t          |          }|'|j        j        j        }|                    d          S 	 |                    | |           d {V }n,# t          $ r}|                    |          cY d }~S d }~ww xY wt          |t                    r-t          |
                                |j        j                  S t          |t                    r"t          |
                                          S t          t          |          d          S )N(The model does not support Responses APImessager)   status_coder)   r*   r)   
media_type)r   r   r   openai_serving_tokenizationcreate_error_responsecreate_responses	Exception
isinstancer   r	   
model_dumperrorcoder   r
   r(   )r   r-   handlerbase_serverr   es         r   r9   r9   /   sO      $$G!o+G00> 1 
 
 	
0!227KHHHHHHHH		 0 0 0,,Q////////0 )]++ <((**	8L
 
 
 	
 
I0	1	1 <I$8$8$:$:;;;;-i88EX   s   A 
B#A=7B=Bz/v1/responses/{response_id}Fresponse_idstarting_afterstreamc                 <  K   t          |          }|'|j        j        j        }|                    d          S 	 |                    | ||           d {V }n,# t          $ r}|                    |          cY d }~S d }~ww xY wt          |t                    r-t          |
                                |j        j                  S t          |t                    r"t          |
                                          S t          t          |          d          S )Nr/   r0   )rC   rD   r2   r4   r*   r5   )r   r   r   r7   r8   retrieve_responsesr:   r;   r   r	   r<   r=   r>   r   r
   r(   )rB   r-   rC   rD   r?   r@   responserA   s           r   rF   rF   S   sk      $$G!o+G00> 1 
 
 	
0 33) 4 
 
 
 
 
 
 
 

  0 0 0,,Q////////0 (M** ;''))x~7J
 
 
 	
 
H/	0	0 ;H$7$7$9$9::::-h77DW   s   A 
B%A?9B?Bz"/v1/responses/{response_id}/cancelc                   K   t          |          }|'|j        j        j        }|                    d          S 	 |                    |            d {V }n,# t          $ r}|                    |          cY d }~S d }~ww xY wt          |t                    r-t          |
                                |j        j                  S t          |
                                          S )Nr/   r0   r2   r4   )r   r   r   r7   r8   cancel_responsesr:   r;   r   r	   r<   r=   r>   )rB   r-   r?   r@   rG   rA   s         r   rI   rI   v   s      $$G!o+G00> 1 
 
 	
0 11+>>>>>>>> 0 0 0,,Q////////0 (M** 
''))x~7J
 
 
 	
  3 3 5 56666s   A 
B"A<6B<Br   c                 :    |                      t                     d S r   )include_routerrouter)r   s    r   attach_routerrM      s    vr   )NF).collections.abcr   httpr   fastapir   r   r   r   fastapi.responsesr	   r
   'vllm.entrypoints.openai.engine.protocolr   *vllm.entrypoints.openai.responses.protocolr   r   r   )vllm.entrypoints.openai.responses.servingr   vllm.entrypoints.openai.utilsr   vllm.entrypoints.utilsr   r   vllm.loggerr   __name__loggerrL   r   strr(   postOKvalueBAD_REQUEST	NOT_FOUNDINTERNAL_SERVER_ERRORr9   getintboolrF   rI   rM    r   r   <module>re      s  
 + * * * * *       8 8 8 8 8 8 8 8 8 8 8 8 = = = = = = = = A A A A A A         
 M L L L L L ? ? ? ? ? ?        $ # # # # #	X			6w 6#9D#@ 6 6 6 6
8$>?
CI
 
 
 
 '/001i*=r)BC$w&>"Wm$<(.-0H	  	 	 $4 7     	 	0 )** "&	  $J 4K	    +*B 1227 7' 7 7 7  327(w      r   