
    i.                    V   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akdegd!<   dZld"egd#<   e'amd$egd%<   e(and&egd'<   daod(egd)<   dapd*egd+<   daqd,egd-<   ecjr        d.         Zs ejt        eseju        v                    d/                    awd0egd1<   eju        v                    d2          axdegd3<   eju        v                    d4          aydegd5<   eju        v                    d6          azdegd7<   dZ{d8egd9<    G d: d;e          Z| G d< d=e|eV          Z} G d> d?e-          Z~dLdBZdLdCZdLdDZdadEegdF<   dMdHZdNdJZddKlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ dS )O    )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admin_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                  N    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#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        d0d"            Z xZS )1_ModuleClientreturnrF   c                    t           S NrG   selfs    V/home/piyush/.hermes/hermes-agent/venv/lib/python3.11/site-packages/openai/__init__.pyrG   z_ModuleClient.api_key   	         valueNonec                
    |a d S rc   rd   rf   rj   s     rg   rG   z_ModuleClient.api_key        ri   c                    t           S rc   rH   re   s    rg   rH   z_ModuleClient.admin_api_key   
     ri   c                
    |a d S rc   rp   rm   s     rg   rH   z_ModuleClient.admin_api_key        ri   c                    t           S rc   rI   re   s    rg   rI   z_ModuleClient.organization   s
     ri   c                
    |a d S rc   ru   rm   s     rg   rI   z_ModuleClient.organization   s     ri   c                    t           S rc   rJ   re   s    rg   rJ   z_ModuleClient.project   rh   ri   c                
    |a d S rc   rx   rm   s     rg   rJ   z_ModuleClient.project   rn   ri   c                    t           S rc   rK   re   s    rg   rK   z_ModuleClient.webhook_secret   s
     ri   c                
    |a d S rc   r{   rm   s     rg   rK   z_ModuleClient.webhook_secret   s     ri   
_httpx.URLc                j    t           t          j        t                     S t                      j         S rc   )rL   _httpxURLsuperrf   	__class__s    rg   rL   z_ModuleClient.base_url   s(     :h'''wwri   url_httpx.URL | strc                .    |t                      _        d S rc   )r   rL   )rf   r   r   s     rg   rL   z_ModuleClient.base_url   s    ri   rM   c                    t           S rc   rN   re   s    rg   rN   z_ModuleClient.timeout   rh   ri   c                
    |a d S rc   r   rm   s     rg   rN   z_ModuleClient.timeout   rn   ri   rO   c                    t           S rc   rP   re   s    rg   rP   z_ModuleClient.max_retries   s
     ri   c                
    |a d S rc   r   rm   s     rg   rP   z_ModuleClient.max_retries        ri   rQ   c                    t           S rc   rR   re   s    rg   _custom_headersz_ModuleClient._custom_headers  s
     ri   c                
    |a d S rc   r   rm   s     rg   r   z_ModuleClient._custom_headers  s      ri   rS   c                    t           S rc   rT   re   s    rg   _custom_queryz_ModuleClient._custom_query  rq   ri   c                
    |a d S rc   r   rm   s     rg   r   z_ModuleClient._custom_query  rs   ri   _httpx.Clientc                8    t           pt                      j        S rc   )rU   r   _clientr   s    rg   r   z_ModuleClient._client  s     -eggo-ri   c                
    |a d S rc   )rU   rm   s     rg   r   z_ModuleClient._client  r   ri   )ra   rF   )rj   rF   ra   rk   )ra   r}   )r   r   ra   rk   )ra   rM   )rj   rM   ra   rk   )ra   rO   )rj   rO   ra   rk   )ra   rQ   )rj   rQ   ra   rk   )ra   rS   )rj   rS   ra   rk   )ra   r   )rj   r   ra   rk   )__name__
__module____qualname__propertyr   rG   setterrH   rI   rJ   rK   rL   rN   rP   r   r   r   __classcell__r   s   @rg   r`   r`      s           X X ^   ^
    X X    
    X X    
    X X ^   ^
    X X    
           X X  _     _    X X ^   ^
    X X    
    X X        
    X X    
 . . . . . X X. ^   ^    ri   r`   c                      e Zd ZdS )_AzureModuleClientN)r   r   r    ri   rg   r   r   %  s        Cri   r   c                        e Zd Zd fdZ xZS ) _AmbiguousModuleClientUsageErrorra   rk   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    rg   r   z)_AmbiguousModuleClientUsageError.__init__*  s/     P	
 	
 	
 	
 	
ri   ra   rk   )r   r   r   r   r   r   s   @rg   r   r   )  s=        
 
 
 
 
 
 
 
 
 
ri   r   ra   boolc                 D    t           j                            d          d uS )NOPENAI_API_KEY)_osenvirongetr   ri   rg   _has_openai_credentialsr   0  s    ;??+,,D88ri   c                 V    t           d up t          j                            d          d uS )NAZURE_OPENAI_API_KEY)r[   r   r   r   r   ri   rg   _has_azure_credentialsr   4  s'    %\9O)P)PX\)\\ri   c                 h    t           j                            d          d upt          d upt          d uS )Nr\   )r   r   r   r]   r^   r   ri   rg   _has_azure_ad_credentialsr   8  s8    /00< 	/%	/"$.ri   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          t2          t           t"          t$          t&          t(          t*          d	          a t           S t           S )
NrZ   r\   rX   r   r<   rE   )rY   r[   rG   r]   r^   rI   rL   rN   rP   rR   rT   rU   F)rG   rH   rI   rJ   rK   rL   rN   rP   rR   rT   rU   _enforce_credentials)r   r[   r   r   r   r]   rY   rW   r   r   r   r   r^   r   rG   rI   rL   rN   rP   rR   rT   rU   r`   rH   rJ   rK   )
has_openai	has_azurehas_azure_ads      rg   _load_clientr   C  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'%)#+'#!&
 
 
 Nri   rk   c                 
    d a d S rc   )r   r   ri   rg   _reset_clientr     s     GGGri   )betachatadminaudioevalsfilesimagesmodelsskillsvideosbatchesuploadsrealtimewebhooks	responses
containers
embeddingscompletionsfine_tuningmoderationsconversationsvector_stores)ra   r   )ra   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httpxr   rG   __annotations__rH   rI   rJ   rK   rL   rN   rP   rR   rT   rU   Literal_ApiTypecastr   r   rW   rY   r[   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   r   ri   rg   <module>r      sS   # " " " " " "         & & & & & &       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| | | | |F | | |~       
 
 
 
 
{ 
 
 
9 9 9 9] ] ] ]        B B B BJ                                                    s   D%%D/.D/