Ë
    uPêjæ	  ã                   óz   — d dl mZmZ d dlm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e«      Zy)é    )ÚAnyÚFinal)ÚAuthenticationError)ÚOpenAIConfig)ÚAllMessageValuesé   )ÚAuthenticator)ÚGetAccessTokenErrorÚensure_chatgpt_session_idÚget_chatgpt_default_headersé   ©ÚChatGPTToolCallNormalizerc                   óø   ‡ — e Zd Z	 	 	 ddedz  dedz  deddfˆ fd„Zdededz  dedz  dedeedz  edz  ef   f
d„Z	 	 dd	eded
ee	   dedededz  dedz  defˆ fd„Z
dedefd„Zdededededef
ˆ fd„Zˆ xZS )ÚChatGPTConfigNÚapi_keyÚapi_baseÚcustom_llm_providerÚreturnc                 ó@   •— t         ‰| �  «        t        «       | _        y ©N)ÚsuperÚ__init__r	   Úauthenticator)Úselfr   r   r   Ú	__class__s       €úm/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/chatgpt/chat/transformation.pyr   zChatGPTConfig.__init__   s   ø€ ô 	‰ÑÔÜ*›_ˆÕó    Úmodelc                 óÆ   — | j                   j                  «       }	 | j                   j                  «       }|||fS # t        $ r}t	        ||t        |«      ¬«      ‚d }~ww xY w)N)r   Úllm_providerÚmessage)r   Úget_api_baseÚget_access_tokenr
   r   Ústr)r   r   r   r   r   Údynamic_api_baseÚdynamic_api_keyÚes           r   Ú$_get_openai_compatible_provider_infoz2ChatGPTConfig._get_openai_compatible_provider_info   sn   € ð #'×"4Ñ"4×"AÑ"AÓ"CÐð	Ø%)×%7Ñ%7×%HÑ%HÓ%JˆOð   Ð2EÐEÐEøô #ò 	Ü%ØØ0Ü˜A›ôð ûð	ús   œ; »	A ÁAÁA ÚheadersÚmessagesÚoptional_paramsÚlitellm_paramsc           	      ó¦   •— t         ‰| �  |||||||«      }| j                  j                  «       }	t	        |«      }
t        |xs d|	|
«      }i |¥|¥S )NÚ )r   Úvalidate_environmentr   Úget_account_idr   r   )r   r*   r   r+   r,   r-   r   r   Úvalidated_headersÚ
account_idÚ
session_idÚdefault_headersr   s               €r   r0   z"ChatGPTConfig.validate_environment,   si   ø€ ô $)¡7Ñ#?Ø�U˜H o°~ÀwÐPXó$
Ðð !×.Ñ.×=Ñ=Ó?ˆ
Ü5°nÓEˆ
Ü!<¸Wº]ÈÈJÐXbÓ!cˆØ7�/Ð7Ð%6Ð7Ð7r   Ústreamc                 ó   — t        |«      S r   r   )r   r6   s     r   Úpost_stream_processingz$ChatGPTConfig.post_stream_processing?   s   € Ü(¨Ó0Ð0r   Únon_default_paramsÚdrop_paramsc                 óP   •— t         ‰| �  ||||«      }|j                  dd«       |S )Nr6   F)r   Úmap_openai_paramsÚ
setdefault)r   r9   r,   r   r:   r   s        €r   r<   zChatGPTConfig.map_openai_paramsB   s3   ø€ ô  ™'Ñ3Ð4FÈÐY^Ð`kÓlˆØ×"Ñ" 8¨UÔ3ØÐr   )NNÚopenai)NN)Ú__name__Ú
__module__Ú__qualname__r%   r   Útupler)   ÚdictÚlistr   r0   r   r8   Úboolr<   Ú__classcell__)r   s   @r   r   r      sN  ø„ ð #Ø#Ø#+ñ	-à�t‘ð-ð ˜‘*ð-ð !ð	-ð
 
õ-ðFàðFð ˜‘*ðFð �t‘ð	Fð
 !ðFð 
ˆs�T‰z˜3 ™: sÐ*Ñ	+óFð2 #Ø#ñ8àð8ð ð8ð Ð'Ñ(ð	8ð
 ð8ð ð8ð �t‘ð8ð ˜‘*ð8ð 
õ8ð&1¨Sð 1°Só 1ð	à ð	ð ð	ð ð		ð
 ð	ð 
÷	ñ 	r   r   N)Útypingr   r   Úlitellm.exceptionsr   Úlitellm.llms.openai.openair   Úlitellm.types.llms.openair   r   r	   Úcommon_utilsr
   r   r   Ústreaming_utilsr   r   © r   r   ú<module>rN      s/   ðß å 2Ý 3Ý 6å )÷ñ õ
 7ô;�Lõ ;r   