+
    kHàjV  ã                   óŽ   € R t ^ RIHt ^ RIHtHtHt ^ RIHt ^ RI	H
t
  ! R R]
4      t]! RRRR	R
RRRRRRR7      t]! ]4       R# )zgDeepInfra provider profile (chat surface; image-gen/TTS/STT are wired via
their own plugin subsystems).)ÚAny)ÚOPENAI_COMPAT_WIRE_EFFORTSÚclamp_effortÚrequested_effort)Úregister_provider)ÚProviderProfilec                   óD   a € ] tR t^t o RtRR/V 3R lR lltR tRtV tR# )Ú_DeepInfraProfilez‹DeepInfra profile with live vision-default discovery, so shared vision
resolution in ``agent/auxiliary_client.py`` stays provider-agnostic.Úreasoning_configNc          
      ó|   <€ V ^8„  d   QhRS[ R,          RS[RS[S[ S[S[3,          S[ S[S[3,          3,          /# )é   r
   NÚcontextÚreturn)Údictr   ÚtupleÚstr)ÚformatÚ__classdict__s   "€ÚO/home/ubuntu/.hermes/hermes-agent/plugins/model-providers/deepinfra/__init__.pyÚ__annotate__Ú_DeepInfraProfile.__annotate__   sH   ø€ ÷ jñ jÙ#'¨$¥;ðjÙBEðjá	‰t‘C™�H�~™t¡C© H�~Ð-Õ	.ñjó    c               óÄ   € \        V\        4      '       d   VP                  R4      RJ d   / RR/3# \        V4      p\	        V\
        4      pV\
        9   d   / RV/3# / / 3# )uë  Map Hermes reasoning controls to DeepInfra's top-level ``reasoning_effort``.

DeepInfra applies a per-model default when the field is absent (DeepSeek-V4.x off,
GLM/Qwen-Thinking on), so ``none`` is the only working off switch and an unset effort
is omitted rather than guessed. The core ``_supports_reasoning_extra_body`` allowlist
does not know this host, so the transport always passes ``supports_reasoning=False``
here â€” gating on it would make the method a permanent no-op (#111872).
ÚenabledFÚreasoning_effortÚnone)Ú
isinstancer   Úgetr   r   r   )Úselfr
   r   ÚeffortÚclampeds   &$,  r   Úbuild_api_kwargs_extrasÚ)_DeepInfraProfile.build_api_kwargs_extras   st   € ô Ð&¬×-Ò-Ð2B×2FÑ2FÀyÓ2QÐUZÓ2ZØÐ*¨FÐ3Ð3Ð3Ü!Ð"2Ó3ˆÜ˜vÔ'AÓBˆØ6=ÔA[Ô6[�Ð'¨Ð1Ð2ÐiÐbdÐfhÐaiÐir   c                óØ  € ^ RI Hp V! R4      ;'       g    RP                  4       '       g   R#  ^ RIHp V! R4      pT;'       g    .  FŠ  pTP                  R4      ;'       g    / p\        T\        4      '       d   TP                  R4      MRp\        T\        4      '       g   K_  R	T9   g   Kh  TP                  R
4      '       g   K�  TR
,          u # 	  R#   \
         d     R# i ; i)a  First vision-capable *chat* model from the live catalog, or None. Key-gated so a box
without DEEPINFRA_API_KEY never pays the round-trip; requires the ``chat`` surface tag so
an image-gen model carrying a ``vision`` tag can't be picked as a chat vision backend.)Ú
get_secretÚDEEPINFRA_API_KEYÚ N)Ú_fetch_deepinfra_models_by_tagÚchatÚmetadataÚtagsÚvisionÚid)
Úagent.secret_scoper$   ÚstripÚhermes_cli.modelsr'   Ú	Exceptionr   r   r   Úlist)r   r$   r'   ÚitemsÚitemr)   r*   s   &      r   Údefault_vision_modelÚ&_DeepInfraProfile.default_vision_model    sÂ   € õ 	2áÐ.Ó/×5Ð5°2×<Ñ<×>Ò>Ùð	ÝHÙ2°6Ó:ˆEð —K�K˜R’KˆDØ—x‘x 
Ó+×1Ð1¨rˆHÜ+5°hÄ×+EÒ+E�8—<‘< Ô'È4ˆDÜ˜$¤×%Ô%¨(°dÖ*:¸t¿x¹xÈ¿~¼~Ø˜D•zÒ!ñ	  ñ
 øô ô 	Úð	ús   °C ÃC)Ã(C)© )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r!   r4   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r	   r	      s*   ø‡ € ñLðjØ15÷jò j÷"ð r   r	   Ú	deepinfraÚ	DeepInfrau+   DeepInfra â€” 100+ open models, pay-per-usez#https://deepinfra.com/dash/api_keysz#https://api.deepinfra.com/v1/openaiÚapi_keyNzdeepseek-ai/DeepSeek-V4-Flash)ÚnameÚaliasesÚdisplay_nameÚdescriptionÚ
signup_urlÚenv_varsÚbase_urlÚ	auth_typeÚdefault_max_tokensÚdefault_aux_modelÚfallback_models)z
deep-infrazdeepinfra-ai)r%   ÚDEEPINFRA_BASE_URLr6   )r;   Útypingr   Úagent.reasoning_effortr   r   r   Ú	providersr   Úproviders.baser   r	   r>   r6   r   r   Ú<module>rQ      sb   ðñ!õ ç ]Ñ ]Ý 'Ý *ô'˜ô 'ñT Ø	Ð<È;Ø=ÐJoØ8ÐChØØð 6ð ô€	ñ �)Ö r   