
    `gj              	           d Z ddlZddlZddlZddlmZ ddlmZ ddl	m
Z
  ej                  e      Z G d de
      Z edd	d
dddd      Z ee       y)z"Native Anthropic provider profile.    N)open_credentialed_url)register_provider)ProviderProfilec            
       J    e Zd ZdZdddddedz  dedz  dedee   dz  fd	Zy)
AnthropicProfileu7   Native Anthropic — uses x-api-key header, not Bearer.Ng       @)api_keybase_urltimeoutr   r	   r
   returnc                *   |sy	 t         j                  j                  d      }|j                  d|       |j                  dd       |j                  dd       t	        ||      5 }t        j                  |j                         j                               }ddd       j                  d	g       D cg c]  }t        |t              r	d
|v r|d
    c}S # 1 sw Y   @xY wc c}w # t        $ r }t        j                  d|       Y d}~yd}~ww xY w)z6Anthropic uses x-api-key header and anthropic-version.Nz#https://api.anthropic.com/v1/modelsz	x-api-keyzanthropic-versionz
2023-06-01Acceptzapplication/json)r
   dataidzfetch_models(anthropic): %s)urllibrequestRequest
add_headerr   jsonloadsreaddecodeget
isinstancedict	Exceptionloggerdebug)	selfr   r	   r
   reqrespr   mexcs	            ]/root/.hermes/venv/lib/python3.12/site-packages/plugins/model-providers/anthropic/__init__.pyfetch_modelszAnthropicProfile.fetch_models   s     	..(()NOCNN;0NN.=NN8%78&sG< 8zz$))+"4"4"678 &"-a&419 $ 8 8
  	LL6<	s<   A"C) '2CC) 5 C$C) C!C) )	D2DD)__name__
__module____qualname____doc__strfloatlistr$        r#   r   r      sN    A
 ## t *	
  
cT	r-   r   	anthropic)claudezclaude-oauthzclaude-codeanthropic_messages)ANTHROPIC_API_KEYANTHROPIC_TOKENCLAUDE_CODE_OAUTH_TOKENzhttps://api.anthropic.comr   zclaude-haiku-4-5-20251001)namealiasesapi_modeenv_varsr	   	auth_typedefault_aux_model)r(   r   loggingurllib.requestr   hermes_cli.urllib_securityr   	providersr   providers.baser   	getLoggerr%   r   r   r.   r,   r-   r#   <module>r@      sc    (    < ' *			8	$ < 	5!P(1	 ) r-   