
    i-                    D   U d dl mZ d dlZd dlZd dlmZ ddlm	Z	 ddl
mZmZmZmZmZmZmZmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZ dd	lmZ dd
l m!Z!m"Z" ddl#m$Z$m%Z% ddl&m'Z'm(Z(m)Z) ddl*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z> ddl?m@Z@mAZAmBZB ddlCmDZE ddlFmGZG ddlHmIZImJZJ g dZKejL        sddlMmNZN ddlOmPZQmRZR ddlSmTZT ddlUmVZVmWZW ddlXT ddlYmZZZm[Z[  eE              e\            Z]eKD ]3Z^e^_                    d          s	 de]e^         _`        &# eaebf$ r Y /w xY w4d dlZd dlZcd dldZeddl?m'Z'm(Z( dafdegd<   dahdegd<   daidegd<   dajdegd <   dZkd!egd"<   e'ald#egd$<   e(amd%egd&<   dand'egd(<   daod)egd*<   dapd+egd,<   ecjq        d-         Zr ejs        erejt        u                    d.                    avd/egd0<   ejt        u                    d1          awdegd2<   ejt        u                    d3          axdegd4<   ejt        u                    d5          aydegd6<   dZzd7egd8<    G d9 d:e          Z{ G d; d<e{eV          Z| G d= d>e-          Z}dKdAZ~dKdBZdKdCZdadDegdE<   dLdGZdMdIZddJlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ dS )N    )annotationsN)override   )types)	NOT_GIVENOmitNoneTypeNotGiven	TransportProxiesTypesomit	not_given)file_from_path)	ClientOpenAIStreamTimeoutr   AsyncClientAsyncOpenAIAsyncStreamRequestOptions)	BaseModel)	__title____version__)APIResponseAsyncAPIResponse)DEFAULT_TIMEOUTDEFAULT_MAX_RETRIESDEFAULT_CONNECTION_LIMITS)APIError
OAuthErrorOpenAIErrorConflictErrorNotFoundErrorAPIStatusErrorRateLimitErrorAPITimeoutErrorBadRequestErrorAPIConnectionErrorAuthenticationErrorInternalServerErrorPermissionDeniedErrorLengthFinishReasonErrorWebSocketQueueFullErrorUnprocessableEntityErrorAPIResponseValidationErrorInvalidWebhookSignatureErrorContentFilterFinishReasonErrorWebSocketConnectionClosedError)DefaultHttpxClientDefaultAioHttpClientDefaultAsyncHttpxClient)setup_logging)HttpxBinaryResponseContent)ReconnectingEventReconnectingOverrides)1r   r   r   r	   r   r   r
   r   r   r   r   r"   r    r%   r'   r)   r0   r(   r*   r!   r,   r$   r#   r/   r&   r+   r-   r2   r1   r   r   r   r   r   r   r   r   r   r   r   r   r   r4   r6   r5   r9   r:   r.   r3   )	resources)azurepydantic_function_tool)VERSION)AzureOpenAIAsyncAzureOpenAI)*)AssistantEventHandlerAsyncAssistantEventHandler__openai)r   r   
str | Noneapi_keyorganizationprojectwebhook_secretzstr | _httpx.URL | Nonebase_urlfloat | Timeout | Nonetimeoutintmax_retries_t.Mapping[str, str] | Nonedefault_headers_t.Mapping[str, object] | Nonedefault_queryz_httpx.Client | Nonehttp_client)rE   r<   OPENAI_API_TYPEz_ApiType | Noneapi_typeOPENAI_API_VERSIONapi_versionAZURE_OPENAI_ENDPOINTazure_endpointAZURE_OPENAI_AD_TOKENazure_ad_tokenz"_azure.AzureADTokenProvider | Noneazure_ad_token_providerc                      e Zd Zeed!d                        Zej        d"d            Zeed!d                        Zej        d"d            Zeed!d	                        Zej        d"d
            Zeed!d                        Z	e	j        d"d            Z	eed# fd                        Z
e
j        d$ fd            Z
eed%d                        Zej        d&d            Zeed'd                        Zej        d(d            Zeed)d                        Zej        d*d            Zeed+d                        Zej        d,d            Zeed- fd                        Zej        d.d             Z xZS )/_ModuleClientreturnrF   c                    t           S NrG   selfs    V/home/ubuntu/.hermes/hermes-agent/venv/lib/python3.11/site-packages/openai/__init__.pyrG   z_ModuleClient.api_key   	         valueNonec                
    |a d S rb   rc   re   ri   s     rf   rG   z_ModuleClient.api_key        rh   c                    t           S rb   rH   rd   s    rf   rH   z_ModuleClient.organization   s
     rh   c                
    |a d S rb   ro   rl   s     rf   rH   z_ModuleClient.organization   s     rh   c                    t           S rb   rI   rd   s    rf   rI   z_ModuleClient.project   rg   rh   c                
    |a d S rb   rr   rl   s     rf   rI   z_ModuleClient.project   rm   rh   c                    t           S rb   rJ   rd   s    rf   rJ   z_ModuleClient.webhook_secret   s
     rh   c                
    |a d S rb   ru   rl   s     rf   rJ   z_ModuleClient.webhook_secret   s     rh   
_httpx.URLc                j    t           t          j        t                     S t                      j         S rb   )rK   _httpxURLsuperre   	__class__s    rf   rK   z_ModuleClient.base_url   s(     :h'''wwrh   url_httpx.URL | strc                .    |t                      _        d S rb   )r{   rK   )re   r~   r}   s     rf   rK   z_ModuleClient.base_url   s    rh   rL   c                    t           S rb   rM   rd   s    rf   rM   z_ModuleClient.timeout   rg   rh   c                
    |a d S rb   r   rl   s     rf   rM   z_ModuleClient.timeout   rm   rh   rN   c                    t           S rb   rO   rd   s    rf   rO   z_ModuleClient.max_retries   s
     rh   c                
    |a d S rb   r   rl   s     rf   rO   z_ModuleClient.max_retries        rh   rP   c                    t           S rb   rQ   rd   s    rf   _custom_headersz_ModuleClient._custom_headers   s
     rh   c                
    |a d S rb   r   rl   s     rf   r   z_ModuleClient._custom_headers   s      rh   rR   c                    t           S rb   rS   rd   s    rf   _custom_queryz_ModuleClient._custom_query  s
     rh   c                
    |a d S rb   r   rl   s     rf   r   z_ModuleClient._custom_query  s     rh   _httpx.Clientc                8    t           pt                      j        S rb   )rT   r{   _clientr|   s    rf   r   z_ModuleClient._client  s     -eggo-rh   c                
    |a d S rb   )rT   rl   s     rf   r   z_ModuleClient._client  r   rh   )r`   rF   )ri   rF   r`   rj   )r`   rw   )r~   r   r`   rj   )r`   rL   )ri   rL   r`   rj   )r`   rN   )ri   rN   r`   rj   )r`   rP   )ri   rP   r`   rj   )r`   rR   )ri   rR   r`   rj   )r`   r   )ri   r   r`   rj   )__name__
__module____qualname__propertyr   rG   setterrH   rI   rJ   rK   rM   rO   r   r   r   __classcell__r}   s   @rf   r_   r_      s?           X X ^   ^
    X X    
    X X ^   ^
    X X    
           X X  _     _    X X ^   ^
    X X    
    X X        
    X X    
 . . . . . X X. ^   ^    rh   r_   c                      e Zd ZdS )_AzureModuleClientN)r   r   r    rh   rf   r   r     s        Crh   r   c                        e Zd Zd fdZ xZS ) _AmbiguousModuleClientUsageErrorr`   rj   c                J    t                                          d           d S )NzAmbiguous use of module client; please set `openai.api_type` or the `OPENAI_API_TYPE` environment variable to `openai` or `azure`)r{   __init__r|   s    rf   r   z)_AmbiguousModuleClientUsageError.__init__  s/     P	
 	
 	
 	
 	
rh   r`   rj   )r   r   r   r   r   r   s   @rf   r   r     s=        
 
 
 
 
 
 
 
 
 
rh   r   r`   boolc                 D    t           j                            d          d uS )NOPENAI_API_KEY)_osenvirongetr   rh   rf   _has_openai_credentialsr   #  s    ;??+,,D88rh   c                 V    t           d up t          j                            d          d uS )NAZURE_OPENAI_API_KEY)rZ   r   r   r   r   rh   rf   _has_azure_credentialsr   '  s'    %\9O)P)PX\)\\rh   c                 h    t           j                            d          d upt          d upt          d uS )Nr[   )r   r   r   r\   r]   r   rh   rf   _has_azure_ad_credentialsr   +  s8    /00< 	/%	/"$.rh   zOpenAI | Noner   r   c                    t           t          t          j                            d          at
          t          j                            d          at          t          j                            d          at          t                      } t                      }t                      }| r|s|rt                      t
          t          .t          j                            d          	 t                      |s|rdandat          dk    r^t          t          t          t          t
          t          t          t           t"          t$          t&          t(          t*                    a t           S t-          t          t          t.          t0          t           t"          t$          t&          t(          t*          
  
        a t           S t           S )	NrY   r[   rW   r   r<   rE   )rX   rZ   rG   r\   r]   rH   rK   rM   rO   rQ   rS   rT   )
rG   rH   rI   rJ   rK   rM   rO   rQ   rS   rT   )r   rZ   r   r   r   r\   rX   rV   r   r   r   r   r]   r   rG   rH   rK   rM   rO   rQ   rS   rT   r_   rI   rJ   )
has_openai	has_azurehas_azure_ads      rf   _load_clientr   6  s     ! [__-DEEN! [__-DEEN+//*>??K022J.00I466L 9y 9L 96888*.E.QWZWbWfWf&X XX 7888 $L $"#w('--(?)!' /+'  G N%)#+'#
 
 
 Nrh   rj   c                 
    d a d S rb   )r   r   rh   rf   _reset_clientr   y  s     GGGrh   )betachataudioevalsfilesimagesmodelsskillsvideosbatchesuploadsrealtimewebhooks	responses
containers
embeddingscompletionsfine_tuningmoderationsconversationsvector_stores)r`   r   )r`   r   r   )
__future__r   osr   typing_ttyping_extensionsr    r   _typesr   r   r	   r
   r   r   r   r   _utilsr   r   r   r   r   r   r   r   r   r   _modelsr   _versionr   r   	_responser   r   
_constantsr   r   r   _exceptionsr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   _base_clientr4   r5   r6   _utils._logsr7   _setup_logging_legacy_responser8   types.websocket_reconnectionr9   r:   __all__TYPE_CHECKING_utils._resources_proxyr;   libr<   _azurer=   versionr>   	lib.azurer?   r@   lib._old_apilib.streamingrB   rC   locals__locals__name
startswithr   	TypeErrorAttributeError_tehttpxry   rG   __annotations__rH   rI   rJ   rK   rM   rO   rQ   rS   rT   Literal_ApiTypecastr   r   rV   rX   rZ   r\   r]   r_   r   r   r   r   r   r   r   _module_clientr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rh   rf   <module>r      s8   # " " " " " "         & & & & & &       a a a a a a a a a a a a a a a a a a a a " " " " " " v v v v v v v v v v v v v v v v v v v v v v       , , , , , , , , W W W W W W W W W W W W W W W W W W                                           , \ [ [ [ [ [ [ [ [ [ 9 9 9 9 9 9 V V V V V V R R R R R R R R2 2 2h 
 @?????? R R R R R R R R ' ' ' ' ' ' W W W W W W W W           
     688  FT"" 	*2HV''>* 	 	 	D	             > > > > > > > >            ! ! ! ! !$( ( ( ( ("1 1 1 1 1& & & & &/3 3 3 3 304 4 4 4 4$( ( ( ( (;()#BGHckoo>O.P.PQQ Q Q Q Q+//*>?? ? ? ? ? [__-DEE E E E E [__-DEE E E E E>B  B B B Bq q q q qF q q qh       
 
 
 
 
{ 
 
 
9 9 9 9] ] ] ]        @ @ @ @F                                                  s   D%%D/.D/