Ë
    âß²j¡  ã            	       óp   — d Z ddl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¬«      Z ee«       y)zÇGoogle Gemini (AI Studio) provider profile.

Reports api_mode="chat_completions" but runs on GeminiNativeClient; this
profile carries auth/endpoint metadata and the thinking_config translation hook.
é    )ÚAny)Úregister_provider)ÚProviderProfilec            	       ó:   — e Zd ZdZddœdedz  dedeeef   fd„Zy)ÚGeminiProfileuG   Gemini â€” translate reasoning_config to thinking_config in extra_body.N)Ú
session_idr   ÚcontextÚreturnc                ó  — ddl m}m}m}  ||j	                  d«      xs d|j	                  d«      «      }|si S | j
                  dk(  r9 ||j	                  d«      xs | j                  «      r ||«      }|rdd	d
|iiiS i S d
|iS )zwNative: ``thinking_config``; OpenAI-compat /openai subpath:
        ``extra_body.google.thinking_config`` (snake_case).r   )Ú_build_gemini_thinking_configÚ!_is_gemini_openai_compat_base_urlÚ"_snake_case_gemini_thinking_configÚmodelÚ Úreasoning_configÚgeminiÚbase_urlÚ
extra_bodyÚgoogleÚthinking_config)Ú!agent.transports.chat_completionsr   r   r   ÚgetÚnamer   )Úselfr   r	   r   r   r   Úrawr   s           úL/home/ubuntu/.hermes/hermes-agent/plugins/model-providers/gemini/__init__.pyÚbuild_extra_bodyzGeminiProfile.build_extra_body   s—   € ÷	
ñ 	
ñ ,¨G¯K©K¸Ó,@Ò,FÀBÈÏÉÐTfÓHgÓhˆÙØˆIØ�9‰9˜Ò Ñ%FÀwÇ{Á{ÐS]ÓG^ÒGoÐbf×boÑboÔ%pÙ@ÀÓEˆOÙWf�L 8Ð.?ÀÐ-QÐ"RÐSÐnÐlnÐnØ! 3Ð'Ð'ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   Údictr   © r   r   r   r      s3   „ ÙQà;?ò (¨c°D©jð (ÈCð (ÐTXÐY\Ð^aÐYaÑTbô (r   r   r   )r   zgoogle-geminizgoogle-ai-studioÚchat_completions)ÚGOOGLE_API_KEYÚGEMINI_API_KEYz0https://generativelanguage.googleapis.com/v1betaÚapi_keyzgemini-3.6-flash)r   ÚaliasesÚapi_modeÚenv_varsr   Ú	auth_typeÚdefault_aux_modelN)	r"   Útypingr   Ú	providersr   Úproviders.baser   r   r   r%   r   r   ú<module>r2      sK   ðñõ å 'Ý *ô(�Oô (ñ* 
Ø	ÐJÐUgØ1Ø?È9Ø(ô	
€ñ �&Õ r   