
    2Rj@5                       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j                  sddlMmNZN ddlOmPZQmRZSmTZT ddlUmVZV ddlWmXZXmYZY ddlZm[Z[m\Z\ ddl] ddl^m_Z_m`Z`  eE         ea       ZbeKD ]  Zcecj                  d      r	 debec   _e        ! d dlZd dlZhd dliZjddl?m'Z'm(Z( dakdeld<   damdeld<   dandeld <   daodeld!<   dapdeld"<   dZqd#eld$<   e'ard%eld&<   e(asd'eld(<   datd)eld*<   daud+eld,<   davd-eld.<   ehj                  d/   Zx ej                  exej                  j                  d0            a|d1eld2<   ej                  j                  d3      a}deld4<   ej                  j                  d5      a~deld6<   ej                  j                  d7      adeld8<   dZd9eld:<   dadeld;<   dZd<eld=<    G d> d?e      Z G d@ dAeeX      Z G dB dCee[      Z G dD dEe-      ZdNdFZdNdGZdNdHZdadIeldJ<   dOdKZdPdLZddMlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ y# efegf$ r Y w xY w)Q    )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)3r   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   BedrockOpenAIAsyncBedrockOpenAIr   r   r   r   r   r4   r6   r5   r9   r:   r.   r3   )	resources)azurebedrockpydantic_function_tool)VERSION)AzureOpenAIAsyncAzureOpenAI)r;   r<   )*)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)rH   r>   amazon-bedrock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_provider_bedrock_api_keyz$_bedrock.BedrockTokenProvider | Nonebedrock_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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 )%_ModuleClientc                    t         S NrJ   selfs    W/var/www/html/meridian/meridian-ai/venv/lib/python3.12/site-packages/openai/__init__.pyrJ   z_ModuleClient.api_key   	         c                    |a y rh   ri   rk   values     rl   rJ   z_ModuleClient.api_key   	     rn   c                    t         S rh   rK   rj   s    rl   rK   z_ModuleClient.admin_api_key   
     rn   c                    |a y rh   rt   rp   s     rl   rK   z_ModuleClient.admin_api_key   	     rn   c                    t         S rh   rL   rj   s    rl   rL   z_ModuleClient.organization   s
     rn   c                    |a y rh   ry   rp   s     rl   rL   z_ModuleClient.organization   s	     rn   c                    t         S rh   rM   rj   s    rl   rM   z_ModuleClient.project   rm   rn   c                    |a y rh   r|   rp   s     rl   rM   z_ModuleClient.project   rr   rn   c                    t         S rh   rN   rj   s    rl   rN   z_ModuleClient.webhook_secret   s
     rn   c                    |a y rh   r   rp   s     rl   rN   z_ModuleClient.webhook_secret   s	     rn   c                V    t         t        j                  t               S t        |    S rh   )rO   _httpxURLsuperrk   	__class__s    rl   rO   z_ModuleClient.base_url   s%     ::h''wrn   c                $    |t               _        y rh   )r   rO   )rk   urlr   s     rl   rO   z_ModuleClient.base_url   s    rn   c                    t         S rh   rQ   rj   s    rl   rQ   z_ModuleClient.timeout   rm   rn   c                    |a y rh   r   rp   s     rl   rQ   z_ModuleClient.timeout   rr   rn   c                    t         S rh   rS   rj   s    rl   rS   z_ModuleClient.max_retries   s
     rn   c                    |a y rh   r   rp   s     rl   rS   z_ModuleClient.max_retries  	     rn   c                    t         S rh   rU   rj   s    rl   _custom_headersz_ModuleClient._custom_headers
  s
     rn   c                    |a y rh   r   rp   s     rl   r   z_ModuleClient._custom_headers  s	      rn   c                    t         S rh   rW   rj   s    rl   _custom_queryz_ModuleClient._custom_query  ru   rn   c                    |a y rh   r   rp   s     rl   r   z_ModuleClient._custom_query  rw   rn   c                (    t         xs
 t        |   S rh   )rX   r   _clientr   s    rl   r   z_ModuleClient._client   s     -ego-rn   c                    |a y rh   )rX   rp   s     rl   r   z_ModuleClient._client%  r   rn   returnrI   rq   rI   r   None)r   z
_httpx.URL)r   z_httpx.URL | strr   r   )r   rP   )rq   rP   r   r   )r   rR   )rq   rR   r   r   )r   rT   )rq   rT   r   r   )r   rV   )rq   rV   r   r   )r   _httpx.Client)rq   r   r   r   )__name__
__module____qualname__propertyr   rJ   setterrK   rL   rM   rN   rO   rQ   rS   r   r   r   __classcell__r   s   @rl   rf   rf      sK       ^^ 
     
     
    ^^ 
     
      __     ^^ 
     
       
     
 .  . ^^ rn   rf   c                      e Zd Zy)_AzureModuleClientN)r   r   r    rn   rl   r   r   ,  s    rn   r   c                       e Zd Zeedd              Zej                  dd       Zed fd       Zed fd       Z xZ	S )	_BedrockModuleClientc                &    t         t         S t        S rh   )rJ   rc   rj   s    rl   rJ   z_BedrockModuleClient.api_key1  s     "-wC3CCrn   c                    |a y rh   )rc   rp   s     rl   rJ   z_BedrockModuleClient.api_key6  s
     !rn   c                8    t         t         S t        | 	         S rh   )rJ   r   _refresh_api_keyr   s    rl   r   z%_BedrockModuleClient._refresh_api_key<  s    Nw'))rn   c                <    t         dt         fS t        | 	         S )Nbearer)rJ   r   _legacy_auth_configurationr   s    rl   r   z/_BedrockModuleClient._legacy_auth_configurationC  s"    g&&w133rn   r   r   )r   str)r   z!_bedrock._LegacyAuthConfiguration)
r   r   r   r   r   rJ   r   r   r   r   r   s   @rl   r   r   0  s_    D  D ^^! !
 * * 4 4rn   r   c                        e Zd Zd fdZ xZS ) _AmbiguousModuleClientUsageErrorc                $    t         |   d       y )NzAmbiguous use of module client; please set `openai.api_type` or the `OPENAI_API_TYPE` environment variable to `openai`, `azure`, or `amazon-bedrock`)r   __init__r   s    rl   r   z)_AmbiguousModuleClientUsageError.__init__K  s     c	
rn   r   r   )r   r   r   r   r   r   s   @rl   r   r   J  s    
 
rn   r   c                 D    t         j                  j                  d      d uS )NOPENAI_API_KEY)_osenvirongetr   rn   rl   _has_openai_credentialsr   Q  s    ;;??+,D88rn   c                 X    t         d uxs! t        j                  j                  d      d uS )NAZURE_OPENAI_API_KEY)r_   r   r   r   r   rn   rl   _has_azure_credentialsr   U  s&    %\9O)PX\)\\rn   c                 l    t         j                  j                  d      d uxs t        d uxs t        d uS )Nr`   )r   r   r   ra   rb   r   rn   rl   _has_azure_ad_credentialsr   Y  s7    /0< 	/%	/"$.rn   zOpenAI | Noner   c                    t         t        t        j                  j	                  d      at
        t        j                  j	                  d      at        t        j                  j	                  d      at        mt               } t               }t               }| r|s|r
t               t
        t        *t        j                  j	                  d      	 
t               |s|rdandat        dk(  rMt        t        t        t        t
        t        t        t         t"        t$        t&        t(        t*              a t         S t        dk(  rHt-        t        t.        t        t0        t2        t         t"        t$        t&        t(        t*        	      a t         S t5        t        t6        t        t0        t2        t         t"        t$        t&        t(        t*        d
      a t         S t         S )Nr^   r`   r\   r   r>   rH   )r]   r_   rJ   ra   rb   rL   rO   rQ   rS   rU   rW   rX   rY   )rJ   rd   rL   rM   rN   rO   rQ   rS   rU   rW   rX   F)rJ   rK   rL   rM   rN   rO   rQ   rS   rU   rW   rX   _enforce_credentials)r   r_   r   r   r   ra   r]   r[   r   r   r   r   rb   r   rJ   rL   rO   rQ   rS   rU   rW   rX   r   rd   rM   rN   rf   rK   )
has_openai	has_azurehas_azure_ads      rl   _load_clientr   d  s}     ! [[__-DEN! [[__-DEN++//*>?K02J.0I46LyL688*.E.QWZWbWbWfWf&XX 788L"#w('--(?)!' /+'G N''*'=)-!' /+'G N'%)#+'#!&
 Nrn   c                     d a y rh   )r   r   rn   rl   _reset_clientr     s	     Grn   )betachatadminaudioevalsfilesimagesmodelsskillsvideosbatchesuploadsrealtimewebhooks	responses
containers
embeddingscompletionsfine_tuningmoderationsconversationsvector_stores)r   bool)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?   _bedrockr@   versionrA   	lib.azurerB   rC   lib.bedrockr;   r<   lib._old_apilib.streamingrE   rF   locals__locals__name
startswithr   	TypeErrorAttributeError_tehttpxr   rJ   __annotations__rK   rL   rM   rN   rO   rQ   rS   rU   rW   rX   Literal_ApiTypecastr   r   r[   r]   r_   ra   rb   rc   rd   rf   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   rn   rl   <module>r     s   #   &  a a a " v v v  , W W W     , \ [ 9 V R4l 
? g g ' W a 
   8 FT"	*2HV'    >  z  j  !
 !$(
! ("1	 1&S &/3, 304- 4$(! (;;:;#BGGHckkoo>O.PQ/ Q++//*>?Z ? [[__-DE
 E [[__-DE
 E>B ; B# * #?C < C|F |~ 4=- 44
{ 
9]  Rj      K
 >* 		s   
J;;KK