
    hX                     F    d Z ddlmZmZ ddlmZ ddlmZ  G d de      Zy)	z
Transform request from OpenAI format to Morph format.

[TODO] Docs: Morph supports the OpenAI API format.
https://docs.morphllm.com/quickstart
    )OptionalTupleget_secret_str   )OpenAILikeChatConfigc            	       r    e Zd ZdZedee   fd       Zdee   dee   deee   ee   f   fdZ	dede
fdZy	)
MorphChatConfigz?
    Transform request from OpenAI format to Morph format.
    returnc                      y)Nmorph )selfs    b/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/llms/morph/chat/transformation.pycustom_llm_providerz#MorphChatConfig.custom_llm_provider   s        api_baseapi_keyc                 N    |xs t        d      xs d}|xs t        d      }||fS )NMORPH_API_BASEzhttps://api.morphllm.com/v1MORPH_API_KEYr   )r   r   r   dynamic_api_keys       r   $_get_openai_compatible_provider_infoz4MorphChatConfig._get_openai_compatible_provider_info   s>      -./-, 	
 "D^O%D((r   modelc                 
    g dS )N)messagesr   streamr   )r   r   s     r   get_supported_openai_paramsz+MorphChatConfig.get_supported_openai_params#   s    
 	
r   N)__name__
__module____qualname____doc__propertyr   strr   r   r   listr   r   r   r   r
   r
      sp     Xc]  	) 	)08	)	x}hsm+	,	)
 
 
r   r
   N)	r"   typingr   r   litellm.secret_managers.mainr   openai_like.chat.transformationr   r
   r   r   r   <module>r)      s"    # 7 C
* 
r   