+
    kHàj   ã                   ó–   € R t ^ RIHt ^ RIHtHtHt ^ RIHt ^ RI	H
t
 ^ RIHt  ! R R]4      t]! RRRR	R
RRRRR7	      t]
! ]4       R# )zNous Portal provider profile.)ÚAny)Úget_affinity_scopeÚget_conversation_contextÚnous_portal_tags)Ú_cache_scope_from_session_id)Úregister_provider)ÚProviderProfilec                   ó¤   a € ] tR t^t o RtRR/V 3R lR lltRRR]! 4       /V 3R	 lR
 llt]V 3R lR l4       t	RRRRRR/V 3R lR llt
RtV tR# )ÚNousProfileuD   Nous Portal â€” product tags, reasoning with Nous-specific omission.ÚvisionFc                ó&   <€ V ^8„  d   QhRS[ RS[/# )é   r   Úreturn)ÚboolÚstr)ÚformatÚ__classdict__s   "€ÚJ/home/ubuntu/.hermes/hermes-agent/plugins/model-providers/nous/__init__.pyÚ__annotate__ÚNousProfile.__annotate__   s   ø€ ÷ ñ ©4ð ¹Cñ ó    c               óZ   €  ^ RI Hp V! VR7      ;'       g    R#   \         d     R# i ; i)zQPortal's tier-aware ``/api/nous/recommended-models`` pick (cached, offline-safe).)Úget_nous_recommended_aux_model)r   Ú )Úhermes_cli.modelsr   Ú	Exception)Úselfr   r   s   &$ r   Úresolve_aux_modelÚNousProfile.resolve_aux_model   s/   € ð	ÝHá1¸Ô@×FÐFÀBÐFøÜô 	Úð	ús   ‚ ˜ ›*©*Ú
session_idNÚdata_usec                ó`   <€ V ^8„  d   QhRS[ R,          RS[S[ ,          RS[S[ S[3,          /# )r   r   Nr    r   )r   Ú	frozensetÚdictr   )r   r   s   "€r   r   r      s5   ø€ ÷ ñ Ù  4�ZðÙ:CÁC½.ðá	‰c‘3ˆh�ñr   c               óÐ   € R \        VR7      /p\        \        4       ;'       g    \        4       ;'       g    T4      pV'       d   WTR&   V'       d   RR/RV9   d   RR/M/ CVR&   V# )	Útags)r   r   Údata_collectionÚdenyÚzero_retentionÚzdrTÚprovider)r   r   r   r   )r   r   r    ÚcontextÚbodyÚ
sticky_keys   &$$,  r   Úbuild_extra_bodyÚNousProfile.build_extra_body   sr   € ð !'Ô(8ÀJÔ(OÐPˆô
 2Ô2DÓ2F×2rÐ2rÔJbÓJd×2rÐ2rÐhrÓsˆ
ßØ!+�Ñ÷ Ø 1°6ÐuÐO_ÐckÔOk¸uÀd¹mÐqsÐuˆD�ÑØˆr   c                ó4   <€ V ^8„  d   QhRS[ R,          RS[/# )r   ÚmodelNr   )r   r   )r   r   s   "€r   r   r   )   s#   ø€ ÷ Qñ Q©¨t­ð Q¹ñ Qr   c                óÔ   €  ^ RI HpHp V! V 4      pVf
   V! 4        R#  TP	                  R4      '       * ;'       g    \        TP	                  R4      4      #   \         d     R# i ; i)z®True when ``reasoning: {enabled: false}`` would 400 on *model*. Cache-only catalog
lookup; unknown/cold (warmer kicked) and no-reasoning routes both answer True (omit > 400).)Ú!nous_model_reasoning_capabilitiesÚwarm_nous_reasoning_caps_asyncTÚsupports_reasoningÚ	mandatory)Ú hermes_cli.models_reasoning_capsr3   r4   r   Úgetr   )r1   r3   r4   Úcapss   &   r   Ú_cannot_disable_reasoningÚ%NousProfile._cannot_disable_reasoning(   sf   € ð	ßzá4°UÓ;ˆDØŠ|Ù.Ô0Ùð ð
 —8‘8Ð0Ó1Ô1×PÐP´T¸$¿(¹(À;Ó:OÓ5PÐPøô ô 	Úð	ús   ‚A ÁA'Á&A'Úreasoning_configr5   r1   c                ó�   <€ V ^8„  d   QhRS[ R,          RS[RS[R,          RS[S[ S[S[3,          S[ S[S[3,          3,          /# )r   r<   Nr5   r1   r   )r#   r   r   Útupler   )r   r   s   "€r   r   r   7   sQ   ø€ ÷ %ñ %Ù#'¨$¥;ð%ÙKOð%á�T�zð%ñ 
‰t‘C™�H�~™t¡C© H�~Ð-Õ	.ñ%r   c               ó¸   € V'       g   / / 3# Vf   RRRRR/// 3# \        V4      pVP                  R4      RJ d   V P                  V4      '       d   / / 3# RV// 3# )z‘Pass the full reasoning_config, disable included (the Portal honors it;
omitting it means the upstream default, thinking ON for V4-class models).Ú	reasoningÚenabledTÚeffortÚmediumF)r#   r8   r:   )r   r<   r5   r1   r+   Úrcs   &$$$, r   Úbuild_api_kwargs_extrasÚ#NousProfile.build_api_kwargs_extras7   st   € ÷ "Ø�r�6ˆMØÒ#Ø )¨T°8¸XÐ!FÐGÈÐKÐKÜÐ"Ó#ˆØ�6‰6�)Ó Ó%¨$×*HÑ*HÈ×*OÒ*OØ�r�6ˆMØ˜RÐ  "Ð$Ð$r   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r"   r.   Ústaticmethodr:   rE   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r
   r
      sr   ø‡ € ÙNð°%÷ ò ðØ*.ðÙKTË;÷ò ð" ÷Qó ðQð%Ø15ð%ØRWð%à ÷%÷ %ð %r   r
   ÚnouszNous Researchu%   Nous Research â€” Hermes model familyzhttps://nousresearch.com/z)https://inference-api.nousresearch.com/v1Úoauth_device_code)	ÚnameÚaliasesÚenv_varsÚdisplay_nameÚdescriptionÚ
signup_urlÚfallback_modelsÚbase_urlÚ	auth_typeN)znous-portalÚnousresearch)ÚNOUS_API_KEY)zhermes-3-405bzhermes-3-70b)rL   Útypingr   Úagent.portal_tagsr   r   r   Úagent.transports.codexr   Ú	providersr   Úproviders.baser   r
   rP   rG   r   r   Ú<module>rb      sX   ðÙ #å ç \Ñ \Ý ?Ý 'Ý *ô9%�/ô 9%ñx Ø	Ð8ÐCTØ Ð.UØ*Ð<]Ø8ÐDWô	€ñ �$Ö r   