
    -`iX                     x    d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	  edee	          Z
de
dede
fd	Zd
efdZdS )    )TypeVar)Request)RequestValidationError)ChatCompletionRequestChatCompletionResponseChoice"ChatCompletionResponseStreamChoice_ChatCompletionResponseChoiceTchoicerequestreturnc                    |j         r| S t          | t                    r+| j        j        r| j        j        dd         | j        _        nAt          | t
                    r,| j        j        r d | j        j        D             | j        _        | S )zAFilter to first tool call only when parallel_tool_calls is False.N   c                 (    g | ]}|j         d k    |S )r   )index).0	tool_calls     q/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/entrypoints/openai/utils.py
<listcomp>z4maybe_filter_parallel_tool_calls.<locals>.<listcomp>$   s,     #
 #
 #
#)/UVBVBVIBVBVBV    )parallel_tool_calls
isinstancer   message
tool_callsr   delta)r
   r   s     r    maybe_filter_parallel_tool_callsr      s    
 " &677 
FN<U 
$*N$=bqb$A!!6=>>
L#
#
 #
'-|'>#
 #
 #
 Mr   raw_requestc                    K   | j                             dd                                          }|                    dd          d         }|dk    rt	          dg	          d S )
Nzcontent-type ;r   )maxsplitr   zapplication/jsonz:Unsupported Media Type: Only 'application/json' is allowed)errors)headersgetlowersplitr   )r   content_type
media_types      r   validate_json_requestr(   +   sx      &**>2>>DDFFL##C!#44Q7J'''$PQ
 
 
 	
 ('r   N)typingr   fastapir   fastapi.exceptionsr   0vllm.entrypoints.openai.chat_completion.protocolr   r   r   r	   r   r(    r   r   <module>r.      s                5 5 5 5 5 5          ")$ &" " *5J#   *
W 
 
 
 
 
 
r   