Ë
    uPêj+  ã                   óZ   — d 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	m
Z
  G d„ de«      Zy)	zg
MiniMax OpenAI transformation config - extends OpenAI chat config for MiniMax's OpenAI-compatible API
é    )ÚFinalN)ÚOpenAIGPTConfig©Úget_secret_str)ÚAllMessageValuesÚChatCompletionToolParamc                   óü   ‡ — e Zd ZdZeddedz  dedz  fd„«       Ze	 ddedz  defd„«       Z	 ddedz  dedz  ded	ed
ede	dz  defd„Z
	 ddedee   dee   dz  deee   ee   dz  f   fd„Zdedefˆ fd„Zˆ xZS )ÚMinimaxChatConfiga&  
    MiniMax OpenAI configuration that extends OpenAIGPTConfig.
    MiniMax provides an OpenAI-compatible API at:
    - International: https://api.minimax.io/v1
    - China: https://api.minimaxi.com/v1

    Supported models:
    - MiniMax-M2.1
    - MiniMax-M2.1-lightning
    - MiniMax-M2
    NÚapi_keyÚreturnc                 óD   — | xs t        d«      xs t        j                  S )zE
        Get MiniMax API key from environment or parameters.
        ÚMINIMAX_API_KEY)r   Úlitellmr   )r   s    úm/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/minimax/chat/transformation.pyÚget_api_keyzMinimaxChatConfig.get_api_key   s   € ð
 ÒNœ.Ð):Ó;ÒN¼w¿¹ÐNó    Úapi_basec                 ó(   — | xs t        d«      xs dS )z¨
        Get MiniMax API base URL.
        Defaults to international endpoint: https://api.minimax.io/v1
        For China, set to: https://api.minimaxi.com/v1
        ÚMINIMAX_API_BASEzhttps://api.minimax.io/v1r   ©r   s    r   Úget_api_basezMinimaxChatConfig.get_api_base!   s   € ð Ò\œ>Ð*<Ó=Ò\ÐA\Ð\r   ÚmodelÚoptional_paramsÚlitellm_paramsÚstreamc                 ó®   — | j                  |¬«      }|j                  d«      r|S |j                  d«      r|› d�S |j                  d«      r|› d�S |› d�S )zt
        Get the complete URL for MiniMax OpenAI API.
        Override to ensure we use MiniMax's endpoint.
        r   z/chat/completionsz/v1ú/zv1/chat/completionsz/v1/chat/completions)r   Úendswith)Úselfr   r   r   r   r   r   Úbase_urls           r   Úget_complete_urlz"MinimaxChatConfig.get_complete_url,   ss   € ð ×+Ñ+°XÐ+Ó>ˆð ×ÑÐ0Ô1ØˆOØ×Ñ˜uÔ%Ø�ZÐ0Ð1Ð1Ø×Ñ˜sÔ#Ø�ZÐ2Ð3Ð3à�ZÐ3Ð4Ð4r   ÚmessagesÚtoolsc                 ó
   — ||fS )zz
        Override to preserve cache_control for MiniMax.
        MiniMax supports cache_control - don't strip it.
        © )r   r   r"   r#   s       r   Ú1remove_cache_control_flag_from_messages_and_toolszCMinimaxChatConfig.remove_cache_control_flag_from_messages_and_toolsF   s   € ð ˜ˆÐr   c                 ó¬   •— t         ‰| �  |¬«      }dg}	 t        j                  |d¬«      r|j	                  d«       ||z   S # t
        $ r Y ||z   S w xY w)z‰
        Get supported OpenAI parameters for MiniMax.
        Adds reasoning_split and thinking to the list of supported params.
        )r   Úreasoning_splitÚminimax)r   Úcustom_llm_providerÚthinking)ÚsuperÚget_supported_openai_paramsr   Úsupports_reasoningÚappendÚ	Exception)r   r   Úbase_paramsÚadditional_paramsÚ	__class__s       €r   r-   z-MinimaxChatConfig.get_supported_openai_paramsS   sq   ø€ ô
 #™WÑ@ÀuÐ@ÓMˆØ$5Ð#6Ðð	Ü×)Ñ)°È9ÕUØ!×(Ñ(¨Ô4ð Ð.Ñ.Ð.øô ò 	ØàÐ.Ñ.Ð.ð	ús   –(A Á	AÁA)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstaticmethodÚstrr   r   ÚdictÚboolr!   Úlistr   r   Útupler&   r-   Ú__classcell__)r3   s   @r   r
   r
      s3  ø„ ñ
ð ñO˜S 4™Zð O°3¸±:ò Oó ðOð à#ñ]Ø˜‘*ð]à	ò]ó ð]ð" #ñ5à˜‘*ð5ð �t‘ð5ð ð	5ð
 ð5ð ð5ð �t‘ð5ð 
ó5ð< 7;ñ	àðð Ð'Ñ(ðð Ð+Ñ,¨tÑ3ð	ð
 
ˆtÐ$Ñ% tÐ,CÑ'DÀtÑ'KÐKÑ	Lóð/°ð /¸÷ /ñ /r   r
   )r7   Útypingr   r   Ú+litellm.llms.openai.chat.gpt_transformationr   Úlitellm.secret_managers.mainr   Úlitellm.types.llms.openair   r   r
   r%   r   r   ú<module>rC      s)   ðñõ ã Ý GÝ 7ß OôU/˜õ U/r   