
    Oj7                       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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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZC ddlDmEZEmFZFmGZG ddlHmIZJ ddlKmLZL ddlMmNZN ddlOmPZPmQZQ g dZRej                  sddlTmUZU ddlVmWZXmYZZm[Z[ ddl\m]Z] ddl^m_Z_m`Z` ddlambZbmcZc ddld ej                  r	ddlemfZfmgZg n
dZhdQdZidRdZj eJ         ek       ZleRD ]  Zmemj                  d      r	 delem   _o        ! d dlZd dlZrd dlsZtdd lDm,Z,m-Z- daud!evd"<   dawd!evd#<   daxd!evd$<   dayd!evd%<   dazd!evd&<   dZ{d'evd(<   e,a|d)evd*<   e-a}d+evd,<   da~d-evd.<   dad/evd0<   dad1evd2<   erj                  d3   Z ej                  eej                  j                  d4            ad5evd6<   ej                  j                  d7      ad!evd8<   ej                  j                  d9      ad!evd:<   dZd!evd;<   dZd<evd=<   dad!evd><   dZd?evd@<    G dA dBe      Z G dC dDee_      Z G dE dFeeb      Z G dG dHe2      ZdSdIZdSdJZdSdKZdadLevdM<   dTdNZdUdOZddPlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ y# epeqf$ r Y w xY w)V    )annotationsN)override   )types)	NOT_GIVENOmitNoneTypeNotGiven	TransportProxiesTypesomit	not_given)file_from_path)	ClientOpenAIStreamTimeoutr   AsyncClientAsyncOpenAIAsyncStreamRequestOptions)DefaultHttpx2ClientDefaultAsyncHttpx2Clientnormalize_httpx_url)	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)DataResidency)HttpxBinaryResponseContent)ReconnectingEventReconnectingOverrides)6r   r   r   r	   r   r   r
   r   r   r   r   r%   r#   r(   r*   r,   r3   r+   r-   r$   r/   r'   r&   r2   r)   r.   r0   r5   r4   r   r   r;   r   r   r   r   r   r   BedrockOpenAIAsyncBedrockOpenAIr   r   r    r!   r"   r7   r9   r8   r   r   r=   r>   r1   r6   )	resources)azurebedrockpydantic_function_tool)VERSION)AzureOpenAIAsyncAzureOpenAI)r?   r@   )*)AssistantEventHandlerAsyncAssistantEventHandlerc                    | t         v r,ddlm} t         |dt              |       }|t               | <   |S t        dt        d|       )Nr   )import_modulez.lib.streamingzmodule z has no attribute )_STREAMING_EXPORTS	importlibrL   getattr__name__globalsAttributeError)namerL   values      f/var/www/origus_pro_usr/data/www/origus.pro/core/.venv/lib/python3.12/site-packages/openai/__init__.py__getattr__rV   x   sK    %%/M*:HEtLE#GIdOLwxl2DTHMNN    c                 Z    t        t        t                     t        t              z        S N)sortedsetrQ   rM    rW   rU   __dir__r]      s    c')ns+='>>??rW   __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)r_   rB   amazon-bedrockOPENAI_API_TYPEz_ApiType | Noneapi_typeOPENAI_API_VERSIONapi_versionAZURE_OPENAI_ENDPOINTazure_endpoint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 rY   ra   selfs    rU   ra   z_ModuleClient.api_key   	     rW   c                    |a y rY   r~   r   rT   s     rU   ra   z_ModuleClient.api_key   	     rW   c                    t         S rY   rb   r   s    rU   rb   z_ModuleClient.admin_api_key   
     rW   c                    |a y rY   r   r   s     rU   rb   z_ModuleClient.admin_api_key   	     rW   c                    t         S rY   rc   r   s    rU   rc   z_ModuleClient.organization   s
     rW   c                    |a y rY   r   r   s     rU   rc   z_ModuleClient.organization   s	     rW   c                    t         S rY   rd   r   s    rU   rd   z_ModuleClient.project   r   rW   c                    |a y rY   r   r   s     rU   rd   z_ModuleClient.project   r   rW   c                    t         S rY   re   r   s    rU   re   z_ModuleClient.webhook_secret   s
     rW   c                    |a y rY   r   r   s     rU   re   z_ModuleClient.webhook_secret   s	     rW   c                B    t         t        t               S t        |    S rY   )rf   _normalize_httpx_urlsuperr   	__class__s    rU   rf   z_ModuleClient.base_url   s!     '11wrW   c                $    |t               _        y rY   )r   rf   )r   urlr   s     rU   rf   z_ModuleClient.base_url  s    rW   c                    t         S rY   rh   r   s    rU   rh   z_ModuleClient.timeout  r   rW   c                    |a y rY   r   r   s     rU   rh   z_ModuleClient.timeout  r   rW   c                    t         S rY   rj   r   s    rU   rj   z_ModuleClient.max_retries  s
     rW   c                    |a y rY   r   r   s     rU   rj   z_ModuleClient.max_retries  	     rW   c                    t         S rY   rl   r   s    rU   _custom_headersz_ModuleClient._custom_headers!  s
     rW   c                    |a y rY   r   r   s     rU   r   z_ModuleClient._custom_headers&  s	      rW   c                    t         S rY   rn   r   s    rU   _custom_queryz_ModuleClient._custom_query,  r   rW   c                    |a y rY   r   r   s     rU   r   z_ModuleClient._custom_query1  r   rW   c                (    t         xs
 t        |   S rY   )ro   r   _clientr   s    rU   r   z_ModuleClient._client7  s     -ego-rW   c                    |a y rY   )ro   r   s     rU   r   z_ModuleClient._client<  r   rW   returnr`   rT   r`   r   None)r   z
_httpx.URL)r   z_httpx.URL | strr   r   )r   rg   )rT   rg   r   r   )r   ri   )rT   ri   r   r   )r   rk   )rT   rk   r   r   )r   rm   )rT   rm   r   r   )r   _httpx.Client)rT   r   r   r   )rP   
__module____qualname__propertyr   ra   setterrb   rc   rd   re   rf   rh   rj   r   r   r   __classcell__r   s   @rU   r|   r|      sK       ^^ 
     
     
    ^^ 
     
      __     ^^ 
     
       
     
 .  . ^^ rW   r|   c                      e Zd Zy)_AzureModuleClientN)rP   r   r   r\   rW   rU   r   r   C  s    rW   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 rY   )ra   ry   r   s    rU   ra   z_BedrockModuleClient.api_keyH  s     "-wC3CCrW   c                    |a y rY   )ry   r   s     rU   ra   z_BedrockModuleClient.api_keyM  s
     !rW   c                8    t         t         S t        | 	         S rY   )ra   r   _refresh_api_keyr   s    rU   r   z%_BedrockModuleClient._refresh_api_keyS  s    Nw'))rW   c                <    t         dt         fS t        | 	         S )Nbearer)ra   r   _legacy_auth_configurationr   s    rU   r   z/_BedrockModuleClient._legacy_auth_configurationZ  s"    g&&w133rW   r   r   )r   str)r   z!_bedrock._LegacyAuthConfiguration)
rP   r   r   r   r   ra   r   r   r   r   r   s   @rU   r   r   G  s_    D  D ^^! !
 * * 4 4rW   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    rU   r   z)_AmbiguousModuleClientUsageError.__init__b  s     c	
rW   r   r   )rP   r   r   r   r   r   s   @rU   r   r   a  s    
 
rW   r   c                 D    t         j                  j                  d      d uS )NOPENAI_API_KEY)_osenvirongetr\   rW   rU   _has_openai_credentialsr   h  s    ;;??+,D88rW   c                 X    t         d uxs! t        j                  j                  d      d uS )NAZURE_OPENAI_API_KEY)rv   r   r   r   r\   rW   rU   _has_azure_credentialsr   l  s&    %\9O)PX\)\\rW   c                 l    t         j                  j                  d      d uxs t        d uxs t        d uS )NAZURE_OPENAI_AD_TOKEN)r   r   r   rw   rx   r\   rW   rU   _has_azure_ad_credentialsr   p  s7    /0< 	/%	/"$.rW   zOpenAI | Noner   c                 
   t         wt        t        j                  j	                  d      at
        t        j                  j	                  d      at        7t               } t               }t               }| r|s|r
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 )
Nru   rs   rB   r_   )rt   rv   ra   rw   rx   rc   rf   rh   rj   rl   rn   ro   rp   )ra   rz   rc   rd   re   rf   rh   rj   rl   rn   ro   F)ra   rb   rc   rd   re   rf   rh   rj   rl   rn   ro   _enforce_credentials)r   rv   r   r   r   rt   rr   r   r   r   r   r   ra   rw   rx   rc   rf   rh   rj   rl   rn   ro   r   rz   rd   re   r|   rb   )
has_openai	has_azurehas_azure_ads      rU   _load_clientr   {  s,     ! [[__-DEN++//*>?K02J.0I46LyL688L"#w('--(?)!' /+'G N''*'=)-!' /+'G N'%)#+'#!&
 NrW   c                     d a y rY   )r   r\   rW   rU   _reset_clientr     s	     GrW   )betachatliveadminaudioevalsfilesimagesmodelssafetyskillsvideosbatchesuploadsrealtimewebhooks	responses
containers
embeddingscompletionsfine_tuningmoderationsconversationsvector_storescontent_provenance_checks)rS   r   r   z_t.Any)r   z	list[str])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   _httpx2r   r   r   r   _modelsr   _versionr   r   	_responser   r   
_constantsr    r!   r"   _exceptionsr#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   _base_clientr7   r8   r9   _utils._logsr:   _setup_logging_data_residencyr;   _legacy_responser<   types.websocket_reconnectionr=   r>   __all__TYPE_CHECKING_utils._resources_proxyrA   librB   _azurerC   _bedrockrD   versionrE   	lib.azurerF   rG   lib.bedrockr?   r@   lib._old_apilib.streamingrI   rJ   rM   rV   r]   locals__locals__name
startswithr   	TypeErrorrR   _tehttpx2_httpxra   __annotations__rb   rc   rd   re   rf   rh   rj   rl   rn   ro   Literal_ApiTypecastr   r   rr   rt   rv   rw   rx   ry   rz   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   r   r   r\   rW   rU   <module>r"     s   #   &  a a a " v v v o o  , W W W     , \ [ 9 * V R7r 
? g g ' W a  
 QO@   8 FT"	*2HV'    >  z  j  !
 !$(
! ("1	 1&S &/3, 304- 4$(! (;;:;#BGGHckkoo>O.PQ/ Q++//*>?Z ? [[__-DE
 E "
 !>B ; B# * #?C < C|F |~ 4=- 44
{ 
9]  JZ      }	 >* 		s   
KK"!K"