§
    ÷žyjî  ã                  ó„   — d Z ddlmZ ddlZddlZddlZddlmZ ddlm	Z	m
Z
  ej        e¦  «        Zdd
„Zddddœdd„ZdS )z8TLS verify resolution for httpx/OpenAI provider clients.é    )ÚannotationsN)ÚPath)ÚAnyÚOptionalÚ
ssl_verifyr   ÚreturnÚboolc                ó�   — | du rdS t          | t          ¦  «        r*|                      ¦   «                              ¦   «         dv rdS dS )NFT>   Ú0ÚnoÚoffÚfalse)Ú
isinstanceÚstrÚstripÚlower)r   s    ú6/home/ragecks/.hermes/hermes-agent/agent/ssl_verify.pyÚ_coerce_insecurer      sQ   € Ø�UÐÐØˆtÝ�*�cÑ"Ô"ð  z×'7Ò'7Ñ'9Ô'9×'?Ò'?Ñ'AÔ'AÐE`Ð'`Ð'`ØˆtØˆ5ó    Ú )Ú	ca_bundler   Úbase_urlr   úOptional[str]r   r   úbool | ssl.SSLContextc                óÄ  — t          |¦  «        rt                               d|pd¦  «         dS | pd                     ¦   «         p›t	          j        dd¦  «                             ¦   «         ptt	          j        dd¦  «                             ¦   «         pMt	          j        dd¦  «                             ¦   «         p&t	          j        dd¦  «                             ¦   «         }|r}t          t          |¦  «                             ¦   «         ¦  «        }t          j	         
                    |¦  «        rt          j        |¬	¦  «        S t                               d
|¦  «         dS )u±  Resolve httpx ``verify`` for provider HTTP clients.

    Priority:
    1. ``ssl_verify: false`` â€” disable verification (local dev only)
    2. explicit ``ca_bundle`` (per-provider ``ssl_ca_cert`` config field)
    3. ``HERMES_CA_BUNDLE``, ``SSL_CERT_FILE``, ``REQUESTS_CA_BUNDLE``,
       ``CURL_CA_BUNDLE`` env vars
    4. ``True`` (httpx/certifi default)

    ``base_url`` is used only for the insecure-mode warning message.
    u§   TLS certificate verification DISABLED (ssl_verify: false) for %s â€” this is intended for local development only and is unsafe on any network you do not fully control.za custom provider endpointFr   ÚHERMES_CA_BUNDLEÚSSL_CERT_FILEÚREQUESTS_CA_BUNDLEÚCURL_CA_BUNDLE)ÚcafileuJ   CA bundle path does not exist: %s â€” falling back to default certificatesT)r   ÚloggerÚwarningr   ÚosÚgetenvr   r   Ú
expanduserÚpathÚisfileÚsslÚcreate_default_context)r   r   r   Úeffective_caÚca_paths        r   Úresolve_httpx_verifyr,      sZ  € õ" ˜
Ñ#Ô#ð Ý�Šð0ð Ð4Ð4ñ		
ô 	
ð 	
ð ˆuð 
ˆ�b×ÒÑ!Ô!ð 	3ÝŒ9Ð'¨Ñ,Ô,×2Ò2Ñ4Ô4ð	3åŒ9�_ bÑ)Ô)×/Ò/Ñ1Ô1ð	3õ Œ9Ð)¨2Ñ.Ô.×4Ò4Ñ6Ô6ð	3õ Œ9Ð% rÑ*Ô*×0Ò0Ñ2Ô2ð ð ð 
Ý•d˜<Ñ(Ô(×3Ò3Ñ5Ô5Ñ6Ô6ˆÝŒ7�>Š>˜'Ñ"Ô"ð 	>ÝÔ-°WÐ=Ñ=Ô=Ð=Ý�ŠØXØñ	
ô 	
ð 	
ð ˆ4r   )r   r   r   r	   )r   r   r   r   r   r   r   r   )Ú__doc__Ú
__future__r   Úloggingr#   r(   Úpathlibr   Útypingr   r   Ú	getLoggerÚ__name__r!   r   r,   © r   r   ú<module>r5      s»   ðØ >Ð >à "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  à	ˆÔ	˜8Ñ	$Ô	$€ðð ð ð ð  $ØØð	)ð )ð )ð )ð )ð )ð )ð )r   