Ë
    uPêj"  ã                   óN   — d Z ddlmZmZ ddlZddlmZ ddlmZ  G d„ de«      Z	y)zj
MiniMax Anthropic transformation config - extends AnthropicConfig for MiniMax's Anthropic-compatible API
é    )ÚAnyÚFinalN)ÚAnthropicMessagesConfig©Úget_secret_strc                   ó  ‡ — e Zd ZdZededz  fd„«       Zdef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edee   dedededz  dedz  deeedz  f   fˆ 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ˆ xZ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
    ÚreturnNc                  ó   — y)NÚminimax© ©Úselfs    úq/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/minimax/messages/transformation.pyÚcustom_llm_providerz)MinimaxMessagesConfig.custom_llm_provider   s   € àó    c                  ó   — y)NTr   r   s    r   Úshould_strip_billing_metadataz3MinimaxMessagesConfig.should_strip_billing_metadata   s   € Ør   Úapi_keyc                 ó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    r   Úget_api_keyz!MinimaxMessagesConfig.get_api_key"   s   € ð
 ÒNœ.Ð):Ó;ÒN¼w¿¹ÐNr   Úapi_basec                 ó(   — | xs t        d«      xs 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
        ÚMINIMAX_API_BASEz,https://api.minimax.io/anthropic/v1/messagesr   ©r   s    r   Úget_api_basez"MinimaxMessagesConfig.get_api_base)   s   € ð Òoœ>Ð*<Ó=ÒoÐAoÐor   ÚheadersÚmodelÚmessagesÚoptional_paramsÚlitellm_paramsc           
      óP   •— t         ‰| �  |||||| j                  |¬«      |¬«      S )Nr   )r    r!   r"   r#   r$   r   r   )ÚsuperÚ'validate_anthropic_messages_environmentr   )	r   r    r!   r"   r#   r$   r   r   Ú	__class__s	           €r   r'   z=MinimaxMessagesConfig.validate_anthropic_messages_environment4   s?   ø€ ô ‰wÑ>ØØØØ+Ø)Ø×$Ñ$¨WÐ$Ó5Øð ?ó 
ð 	
r   Ústreamc                 ó‚   — | j                  |¬«      }|j                  d«      r|S |j                  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_urls           r   Úget_complete_urlz&MinimaxMessagesConfig.get_complete_urlH   sV   € ð ×+Ñ+°XÐ+Ó>ˆð ×Ñ˜^Ô,ØˆOð ×Ñ˜SÔ!Ø�Z˜{Ð+Ð+à�Z˜|Ð,Ð,r   )N)NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚpropertyÚstrr   Úboolr   Ústaticmethodr   r   ÚdictÚlistr   Útupler'   r.   Ú__classcell__)r(   s   @r   r	   r	      s_  ø„ ñ
ð ð S¨4¡Zò ó ðð¨tó ð ñO˜S 4™Zð O°3¸±:ò Oó ðOð à#ñpØ˜‘*ðpà	òpó ðpð" #Ø#ñ
àð
ð ð
ð �s‘)ð	
ð
 ð
ð ð
ð �t‘ð
ð ˜‘*ð
ð 
ˆt�S˜4‘ZÐÑ	 õ
ð6 #ñ-à˜‘*ð-ð �t‘ð-ð ð	-ð
 ð-ð ð-ð �t‘ð-ð 
÷-r   r	   )
r2   Útypingr   r   r   ÚHlitellm.llms.anthropic.experimental_pass_through.messages.transformationr   Úlitellm.secret_managers.mainr   r	   r   r   r   ú<module>r>      s+   ðñ÷ ã õõ 8ôR-Ð3õ R-r   