
    Yffj6                         d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	  G d de	          Z
 e
dd	d
dddddd	  	        Z ee           dS )zNous Portal provider profile.    )Any)get_conversation_contextnous_portal_tags)register_provider)ProviderProfilec                       e Zd ZdZdddedz  deeef         fdZdddd	edz  d
ede	eeef         eeef         f         fdZ
dS )NousProfileuD   Nous Portal — product tags, reasoning with Nous-specific omission.N
session_idr   returnc                    dt          |          i}t                      p|}|r||d<   |                    d          }|r||d<   |S )Ntagsr
   r   provider_preferencesprovider)r   r   get)selfr   contextbody
sticky_keyr   s         K/home/thesage/.hermes/hermes-agent/plugins/model-providers/nous/__init__.pybuild_extra_bodyzNousProfile.build_extra_body   sh     !'(8J(O(O(OP6 .//=:
 	,!+D&{{+ABB 	43D    F)reasoning_configsupports_reasoningr   r   c                    i }|r7|-t          |          }|                    d          du rn||d<   nddd|d<   |i fS )z<Nous: passes full reasoning_config, but OMITS when disabled.NenabledF	reasoningTmedium)r   effort)dictr   )r   r   r   r   
extra_bodyrcs         r   build_api_kwargs_extrasz#NousProfile.build_api_kwargs_extras3   si     
 	P+*++66)$$--.0J{++6:h*O*O
;'2~r   )__name__
__module____qualname____doc__strr    r   r   booltupler#    r   r   r	   r	   
   s        NN +/$ $ $ 4Z$	c3h$ $ $ $R )-#(	   + !	 
tCH~tCH~-	.     r   r	   nous)znous-portalnousresearch)NOUS_API_KEYzNous Researchu%   Nous Research — Hermes model familyzhttps://nousresearch.com/)zhermes-3-405bzhermes-3-70bz)https://inference-api.nousresearch.com/v1oauth_device_code)	namealiasesenv_varsdisplay_namedescription
signup_urlfallback_modelsbase_url	auth_typeN)r'   typingr   agent.portal_tagsr   r   	providersr   providers.baser   r	   r,   r+   r   r   <module>r=      s    # #       H H H H H H H H ' ' ' ' ' ' * * * * * *; ; ; ; ;/ ; ; ;| {	+ 7* 9!    $     r   