Ë
    uPêj   ã                   ó„   — d Z ddlmZmZ ddlmZ ddlZddlmZ ddl	m
Z
 ddlmZ ddlmZmZmZ dd	lmZ  G d
„ d«      Zy)zP
Handler for transforming responses api requests to litellm.completion requests
é    )Ú	CoroutineÚMapping)ÚFinalN)Ú"LiteLLMCompletionStreamingIterator)Ú LiteLLMCompletionResponsesConfig)Ú!BaseResponsesAPIStreamingIterator)ÚResponseInputParamÚ!ResponsesAPIOptionalRequestParamsÚResponsesAPIResponse)ÚModelResponsec                   ó¢   — e Zd Z	 	 	 	 ddedeez  dededz  dededz  deeef   dz  d	e	e
z  eeee	e
z  f   z  fd
„Zdedeez  ded	e	e
z  fd„Zy)Ú&LiteLLMCompletionTransformationHandlerNÚmodelÚinputÚresponses_api_requestÚcustom_llm_providerÚ	_is_asyncÚstreamÚextra_headersÚreturnc                 óÞ  — t        j                  d	||||||dœ|¤Ž}	|r | j                  d	|	||dœ|¤ŽS i }
|
j                  |«       |
j                  |	«       d|
d<   t	        j
                  d	i |
¤Ž}t        |t        «      rt        j                  |||¬«      }|S t        |t        j                  «      r!t        ||||||j                  di «      ¬«      S t        dt        |«      › �«      ‚)
N)r   r   r   r   r   r   )Úlitellm_completion_requestÚrequest_inputr   TÚ_skip_responses_api_bridge©Úchat_completion_responser   r   Úlitellm_metadata©r   Úlitellm_custom_stream_wrapperr   r   r   r   úUnexpected response type: © )r   Ú:transform_responses_api_request_to_chat_completion_requestÚasync_response_api_handlerÚupdateÚlitellmÚ
completionÚ
isinstancer   Ú<transform_chat_completion_response_to_responses_api_responseÚCustomStreamWrapperr   ÚgetÚ
ValueErrorÚtype)Úselfr   r   r   r   r   r   r   Úkwargsr   Úcompletion_argsÚlitellm_completion_responseÚresponses_api_responses                ú€/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/responses/litellm_completion_transformation/handler.pyÚresponse_api_handlerz;LiteLLMCompletionTransformationHandler.response_api_handler   s=  € ô  -×gÑgð ØØØ&;Ø$7ØØ+ñð ñð 	#ñ Ø2�4×2Ñ2ð Ø+EØ#Ø&;ñð ñ	ð ð "$ˆØ×Ñ˜vÔ&Ø×ÑÐ9Ô:Ø8<ˆÐ4Ñ5äZa×ZlÑZlñ [
Øñ[
Ð#ô Ð1´=ÔAä0×mÑmØ-HØ"'Ø*?ôð #ð *Ð)äÐ3´W×5PÑ5PÔQÜ5ØØ.IØ#Ø&;Ø$7Ø!'§¡Ð,>ÀÓ!Côð ô Ð5´dÐ;VÓ6WÐ5XÐYÓZÐZó    r   r   c              ‹   ó>  K  — |j                  d«      }|rt        j                  ||¬«      ƒ d {  –—† }i }|j                  |«       |j                  |«       d|d<   t	        j
                  di |¤Žƒ d {  –—† }t        |t        «      rt        j                  |||¬«      }|S t        |t        j                  «      rCt        |j                  d«      xs d||||j                  d«      |j                  d	i «      ¬
«      S t        dt        |«      › �«      ‚7 Œè7 Œ¤­w)NÚprevious_response_id)r6   r   Tr   r   r   Ú r   r   r   r    r!   )r*   r   Ú#async_responses_api_session_handlerr$   r%   Úacompletionr'   r   r(   r)   r   r+   r,   )	r-   r   r   r   r.   r6   Úacompletion_argsr0   r1   s	            r2   r#   zALiteLLMCompletionTransformationHandler.async_response_api_handler[   s>  è ø€ ð 3H×2KÑ2KÐLbÓ2cÐÙÜ/O×/sÑ/sØ%9Ø+Eô0÷ *Ð&ð
 #%ÐØ×Ñ Ô'Ø×ÑÐ :Ô;Ø9=ÐÐ5Ñ6ä`g×`sÑ`sñ a
Øña
÷ [
Ð#ô Ð1´=ÔAä0×mÑmØ-HØ"/Ø*?ôð #ð *Ð)äÐ3´W×5PÑ5PÔQÜ5Ø0×4Ñ4°WÓ=ÒCÀØ.IØ+Ø&;Ø$>×$BÑ$BÐCXÓ$YØ!'§¡Ð,>ÀÓ!Côð ô Ð5´dÐ;VÓ6WÐ5XÐYÓZÐZðE*øð[
ús#   ‚.D°D±ADÁ6DÁ7B#DÄD)NFNN)Ú__name__Ú
__module__Ú__qualname__Ústrr	   r
   Úboolr   Úobjectr   r   r   r3   Údictr#   r!   r4   r2   r   r      sô   „ ð +/ØØ"Ø59ñ@[àð@[ð Ð'Ñ'ð@[ð  Að	@[ð
 ! 4™Zð@[ð ð@[ð �t‘ð@[ð ˜s F˜{Ñ+¨dÑ2ð@[ð 	Ø
+ñ	,à
�F˜FÐ$8Ð;\Ñ$\Ð\Ñ
]ñ	^ó@[ðD+[à$(ð+[ð Ð/Ñ/ð+[ð  Að	+[ð 
Ð AÑ	Aô+[r4   r   )Ú__doc__Úcollections.abcr   r   Útypingr   r%   ÚFlitellm.responses.litellm_completion_transformation.streaming_iteratorr   ÚBlitellm.responses.litellm_completion_transformation.transformationr   Ú$litellm.responses.streaming_iteratorr   Úlitellm.types.llms.openair	   r
   r   Úlitellm.types.utilsr   r   r!   r4   r2   ú<module>rJ      sB   ðñ÷ /Ý ã õõõ S÷ñ õ
 .÷n[ò n[r4   