o
    ưiq	                     @   sD   d Z ddlmZ ddlZddlmZ ddlmZ G dd deZdS )zj
MiniMax Anthropic transformation config - extends AnthropicConfig for MiniMax's Anthropic-compatible API
    )OptionalN)AnthropicMessagesConfigget_secret_strc                   @   s   e Zd ZdZedee fddZeddee dee fddZ	e	dd	ee defd
dZ
	dd	ee dee dedededee defddZdS )MinimaxMessagesConfiga>  
    MiniMax Anthropic configuration that extends AnthropicConfig.
    MiniMax provides an Anthropic-compatible API at:
    - International: https://api.minimax.io/anthropic
    - China: https://api.minimaxi.com/anthropic
    
    Supported models:
    - MiniMax-M2.1
    - MiniMax-M2.1-lightning
    - MiniMax-M2
    returnc                 C   s   dS )NZminimax )selfr   r   c/home/app/Keep/.python/lib/python3.10/site-packages/litellm/llms/minimax/messages/transformation.pycustom_llm_provider   s   z)MinimaxMessagesConfig.custom_llm_providerNapi_keyc                 C   s   | pt dptjS )zE
        Get MiniMax API key from environment or parameters.
        ZMINIMAX_API_KEY)r   litellmr   )r   r   r   r
   get_api_key   s
   z!MinimaxMessagesConfig.get_api_keyapi_basec                 C   s   | pt dpdS )z
        Get MiniMax API base URL.
        Defaults to international endpoint: https://api.minimax.io/anthropic
        For China, set to: https://api.minimaxi.com/anthropic
        ZMINIMAX_API_BASEz,https://api.minimax.io/anthropic/v1/messagesr   r   r   r   r
   get_api_base)   s
   
z"MinimaxMessagesConfig.get_api_basemodeloptional_paramslitellm_paramsstreamc                 C   s8   | j |d}|dr|S |dr| dS | dS )z~
        Get the complete URL for MiniMax API.
        Override to ensure we use MiniMax's endpoint, not Anthropic's.
        r   z/v1/messages/zv1/messages)r   endswith)r	   r   r   r   r   r   r   base_urlr   r   r
   get_complete_url8   s   



z&MinimaxMessagesConfig.get_complete_url)N)__name__
__module____qualname____doc__propertyr   strr   staticmethodr   r   dictboolr   r   r   r   r
   r      s:    
r   )	r   typingr   r   ZHlitellm.llms.anthropic.experimental_pass_through.messages.transformationr   Zlitellm.secret_managers.mainr   r   r   r   r   r
   <module>   s    