
    `gj                     z    U d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 ee	dZ
eeee   f   ed<   ded	efd
Zg dZy)a  Upstream adapter registry for the local proxy server.

Each adapter wraps a provider's OAuth state and exposes a uniform interface
the proxy server can use to forward requests with a freshly-minted bearer
token. See :class:`UpstreamAdapter` for the contract.
    )DictType)UpstreamAdapter)NousPortalAdapter)XAIGrokAdapter)nousxaiADAPTERSnamereturnc                     | xs dj                         j                         }|t        vr3dj                  t	        t                    xs d}t        d| d|       t        |          S )zwInstantiate an adapter by provider name.

    Raises:
        ValueError: if ``name`` is not a registered adapter.
     z, z(none)z!Unknown proxy upstream provider: z. Available: )striplowerr
   joinsorted
ValueError)r   key	availables      U/root/.hermes/venv/lib/python3.12/site-packages/hermes_cli/proxy/adapters/__init__.pyget_adapterr      sj     :2



$
$
&C
(IIfX./;8	/x}YKP
 	
 C=?    )r   r
   r   N)__doc__typingr   r   hermes_cli.proxy.adapters.baser   %hermes_cli.proxy.adapters.nous_portalr   hermes_cli.proxy.adapters.xair   r
   str__annotations__r   __all__ r   r   <module>r"      sW     : C 8
 .$sD))
* c o  9r   