Ë
    uPêj-  ã                   ó˜   — U d dl mZ d dlmZ d dlZd dlmZmZ d dlm	Z	m
Z
 ddlmZ dd	lmZ d
dlmZ  e«       Zeed<    G d„ de«      Zy)é    )ÚCallable)ÚFinalN)ÚAsyncHTTPHandlerÚHTTPHandler)ÚCustomStreamingDecoderÚModelResponseé   )ÚOpenAILikeChatHandleré   )Ú_get_api_paramsé   )ÚIBMWatsonXChatConfigÚwatsonx_chat_transformationc            !       óÊ   ‡ — e Zd Zˆ fd„Zdi ddddddddœ	dedededz  ded	ed
edededz  dedededz  de	e
j                  z  dz  deez  dz  dedz  dedz  def ˆ fd„Zˆ xZS )ÚWatsonXChatHandlerc                 ó$   •— t        ‰| �  di |¤Ž y )N© )ÚsuperÚ__init__)ÚselfÚkwargsÚ	__class__s     €úf/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/watsonx/chat/handler.pyr   zWatsonXChatHandler.__init__   s   ø€ Ü‰ÑÑ"˜6Ó"ó    NF)	ÚacompletionÚlitellm_paramsÚheadersÚ	logger_fnÚtimeoutÚclientÚcustom_endpointÚstreaming_decoderÚfake_streamÚmodelÚmessagesÚapi_baseÚcustom_llm_providerÚcustom_prompt_dictÚmodel_responseÚprint_verboseÚapi_keyÚoptional_paramsr   r   r   r    r!   r"   r#   c                ól  •— t        ||¬«      }t        j                  |xs i ||||	|¬«      }t        j                  ||¬«      }|j	                  |«       t        j                  ||	||||j                  dd«      ¬«      }t        ‰| �!  |j                  d«      xs d||||||||	|
|||||||d	|¬
«      S )N)Úparamsr$   )r   r$   r%   r,   r+   r   )r$   Ú
api_paramsÚstreamF)r&   r+   r$   r,   r   r0   Úmodel_idÚ T)r$   r%   r&   r'   r(   r)   r*   Úencodingr+   Úlogging_objr,   r   r   r   r   r   r    r!   r"   )	r   r   Úvalidate_environmentÚ_prepare_payloadÚupdateÚget_complete_urlÚgetr   Ú
completion)r   r$   r%   r&   r'   r(   r)   r*   r3   r+   r4   r,   r   r   r   r   r   r    r!   r"   r#   r/   Úwatsonx_auth_payloadr   s                          €r   r:   zWatsonXChatHandler.completion   s	  ø€ ô0 ,°?È%ÔPˆ
ô .×BÑBØ’M˜rØØØ+ØØ)ð Có 
ˆô 'B×&RÑ&RØØ!ð 'Só '
Ðð 	×ÑÐ3Ô4ô /×?Ñ?ØØØØ+Ø)Ø"×&Ñ& x°Ó7ð @ó 
ˆô ‰wÑ!Ø&×*Ñ*¨:Ó6Ò<¸"ØØØ 3Ø1Ø)Ø'ØØØ#Ø+Ø#Ø)ØØØØØ Ø/ð' "ó 
ð 	
r   )Ú__name__Ú
__module__Ú__qualname__r   ÚstrÚlistÚdictr   r   ÚfloatÚhttpxÚTimeoutr   r   Úboolr   r:   Ú__classcell__)r   s   @r   r   r      s  ø„ ô#ð" Ø!Ø#ØØ04Ø8<Ø'+Ø;?Ø!ò-I
ð ðI
ð ð	I
ð
 ˜‘*ðI
ð !ðI
ð !ðI
ð &ðI
ð  ðI
ð �t‘ðI
ð ðI
ð ðI
ð  ˜‘ð!I
ð$ ˜Ÿ™Ñ&¨Ñ-ð%I
ð& Ð.Ñ.°Ñ5ð'I
ð(  ™ð)I
ð* 2°DÑ8ð+I
ð, ÷-I
ñ I
r   r   )Úcollections.abcr   Útypingr   rC   Ú&litellm.llms.custom_httpx.http_handlerr   r   Úlitellm.types.utilsr   r   Úopenai_like.chat.handlerr
   Úcommon_utilsr   Útransformationr   r   Ú__annotations__r   r   r   r   ú<module>rO      s:   ðÞ $Ý ã ç Pß Eå =Ý *Ý 0á%9Ó%;Ð ˜UÓ ;ôM
Ð.õ M
r   