Ë
    âß²jÜ  ã            
       ór   — 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d¬«      Z ee«       y)as  Google Vertex AI provider profile: Gemini via Google Cloud's OpenAI-compatible endpoint.

Auth is OAuth2 (service-account JSON or ADC), not a static key: ``agent/vertex_adapter.py``
mints ``(token, base_url)`` and the token is passed as ``api_key``. ``auth_type="vertex"``
keeps it out of the api_key provider path so a credentials-file path is never mistaken for a key.
é    )Ú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)ÚVertexProfileuH   Vertex AI â€” reuse Gemini's thinking_config translation for extra_body.N)Ú
session_idr   ÚcontextÚreturnc                ó˜   — ddl m}m}  ||j                  d«      xs d|j                  d«      «      }|r ||«      nd}|rddd	|iiiS i S )
z`Emit ``extra_body.google.thinking_config`` like the ``gemini`` provider's OpenAI-compat subpath.r   )Ú_build_gemini_thinking_configÚ"_snake_case_gemini_thinking_configÚmodelÚ Úreasoning_configNÚ
extra_bodyÚgoogleÚthinking_config)Ú!agent.transports.chat_completionsr   r   Úget)Úselfr   r	   r   r   Úrawr   s          úL/home/ubuntu/.hermes/hermes-agent/plugins/model-providers/vertex/__init__.pyÚbuild_extra_bodyzVertexProfile.build_extra_body   sV   € çwá+¨G¯K©K¸Ó,@Ò,FÀBÈÏÉÐTfÓHgÓhˆÙEHÑ<¸SÔAÈdˆÙSb�˜xÐ*;¸_Ð)MÐNÐOÐjÐhjÐjó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   Údictr   © r   r   r   r      s7   „ ÙRà;?ò k¨c°D©jð kÈCð kÐTXÐY\Ð^aÐYaÑTbô kr   r   Úvertex)zgoogle-vertexz	vertex-aiz
gcp-vertexÚvertexaiÚchat_completionsr!   z!https://aiplatform.googleapis.comzgoogle/gemini-3.6-flashF)ÚnameÚaliasesÚapi_modeÚenv_varsÚbase_urlÚ	auth_typeÚdefault_aux_modelÚsupports_model_listingN)	r   Útypingr   Ú	providersr   Úproviders.baser   r   r"   r!   r   r   ú<module>r0      sQ   ðñõ å 'Ý *ô	k�Oô 	kñ 
Ø	ÐSÐ^pØØ0ØÐ*CØ ô
€ñ �&Õ r   