Ë
    âß²jË
  ã                   óô   — d Z ddlmZ ddlmZ ddlmZ ddlmZ de	dz  de
fd	„Z G d
„ de«      Z eddddddd¬«      Z eddddddd¬«      Z edddddddddd¬ «
      Z ee«        ee«        ee«       y)!a  MiniMax provider profiles (international, China, OAuth).

Default routes use anthropic_messages (base URLs end in /anthropic). Users can
opt MiniMax-M3 into the OpenAI-compatible https://api.minimax.io/v1 route,
which needs MiniMax-specific reasoning controls in extra_body.
é    )ÚAny)Úurlparse)Úregister_provider)ÚProviderProfileÚbase_urlNÚreturnc                 óì   — t        t        | xs d«      j                  «       «      }|j                  xs dj	                  «       dk(  xr, |j
                  j                  d«      j	                  «       dk(  S )NÚ zapi.minimax.ioú/z/v1)r   ÚstrÚstripÚhostnameÚlowerÚpathÚrstrip)r   Úparseds     úM/home/ubuntu/.hermes/hermes-agent/plugins/model-providers/minimax/__init__.pyÚ"_is_minimax_global_openai_base_urlr      s`   € Ü”c˜(š. bÓ)×/Ñ/Ó1Ó2€FØ�O‰OÒ!˜r×(Ñ(Ó*Ð.>Ñ>ÒkÀ6Ç;Á;×CUÑCUÐVYÓCZ×C`ÑC`ÓCbÐfkÑCkÐkó    c                   óf   — e Zd ZdZddddœdedz  dedz  dedz  dedeeeef   eeef   f   f
d	„Zy)
ÚMiniMaxProfileu4   MiniMax â€” M3 OpenAI-compatible reasoning controls.N)Úreasoning_configÚmodelr   r   r   r   Úcontextr   c                óü   — t        |xs d«      j                  «       j                  «       dv }t        |«      r|si i fS ddi}t	        |t
        «      r|j                  d«      du rddi|d	<   |i fS |�dd
i|d	<   |i fS )z–M3 on api.minimax.io/v1 keeps thinking inline unless ``reasoning_split``
        is sent; effort levels only select adaptive vs disabled ``thinking``.r
   >   ú
minimax-m3úminimax/minimax-m3Úreasoning_splitTÚenabledFÚtypeÚdisabledÚthinkingÚadaptive)r   r   r   r   Ú
isinstanceÚdictÚget)Úselfr   r   r   r   Úis_m3Ú
extra_bodys          r   Úbuild_api_kwargs_extrasz&MiniMaxProfile.build_api_kwargs_extras   s¢   € ô �E’K˜RÓ ×&Ñ&Ó(×.Ñ.Ó0Ð4XÐXˆÜ1°(Ô;Á5Ø�r�6ˆMØ&7¸Ð%>ˆ
ÜÐ&¬Ô-Ð2B×2FÑ2FÀyÓ2QÐUZÑ2ZØ&,¨jÐ%9ˆJ�zÑ"ð ˜2ˆ~Ðð Ð)Ø&,¨jÐ%9ˆJ�zÑ"Ø˜2ˆ~Ðr   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   r   r   Útupler*   © r   r   r   r      sd   „ Ù>ð 26È4Ø#òØ#'¨$¡;ðØ>AÀD¹jðà˜‘*ðà03ðð 
ˆt�C˜�H‰~˜t C¨ H™~Ð-Ñ	.ôr   r   Úminimax)zmini-maxÚanthropic_messages)ÚMINIMAX_API_KEYz https://api.minimax.io/anthropicÚapi_keyz
MiniMax-M3)ÚnameÚaliasesÚapi_modeÚenv_varsr   Ú	auth_typeÚdefault_aux_modelz
minimax-cn)zminimax-chinaÚ
minimax_cn)ÚMINIMAX_CN_API_KEYz"https://api.minimaxi.com/anthropiczminimax-oauth)Úminimax_oauthzminimax-portalzminimax-globalzminimax-oauth-iozMiniMax (OAuth)u6   MiniMax via OAuth browser flow â€” no API key requiredzhttps://api.minimax.io/r0   Úoauth_externalzMiniMax-M2.7)
r5   r6   r7   Údisplay_nameÚdescriptionÚ
signup_urlr8   r   r9   r:   )r.   Útypingr   Úurllib.parser   Ú	providersr   Úproviders.baser   r   Úboolr   r   r1   r;   r=   r0   r   r   ú<module>rG      sÆ   ðñõ Ý !å 'Ý *ðl°°t±ð lÀó lô
�_ô ñ( Ø	˜MÐ4HÐSgØ/¸9ÐXdô€ñ
 Ø	Ð>ÐI]Ø$Ð/SÐ_hØ"ô€
ñ Ø	Ð"kð  wKØ"Ð0hØ(ØØ/Ð;KÐ_mô€ñ �'Ô Ù �*Ô Ù �-Õ  r   