o
    h+                  
   @  s  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; ddl<m=Z=m>Z>m?Z? ddl@mAZB ddlCmDZD g dZEejFsddlGmHZH ddlImJZKmLZL ddlMmNZN ddlOmPZPmQZQ ddlRT ddlSmTZTmUZU eB  eV ZWeED ]ZXeXYdszdeWeX _ZW q e[e\fy   Y qw qd dlZd dlZ]d dl^Z_ddl<m'Z'm(Z( da`dead< dabdead< dacdead< daddead< dZed ead!< e'afd"ead#< e(agd$ead%< dahd&ead'< daid(ead)< dajd*ead+< e]jkd, Zlemelejnod-apd.ead/< ejnod0aqdead1< ejnod2ardead3< ejnod4asdead5< dZtd6ead7< G d8d9 d9eZuG d:d; d;euePZvG d<d= d=e,ZwdOd@dAZxdOdBdCZydOdDdEZzdadFeadG< dPdIdJZ{dQdLdMZ|ddNl}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ dS )R    )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OpenAIErrorConflictErrorNotFoundErrorAPIStatusErrorRateLimitErrorAPITimeoutErrorBadRequestErrorAPIConnectionErrorAuthenticationErrorInternalServerErrorPermissionDeniedErrorLengthFinishReasonErrorUnprocessableEntityErrorAPIResponseValidationErrorInvalidWebhookSignatureErrorContentFilterFinishReasonError)DefaultHttpxClientDefaultAioHttpClientDefaultAsyncHttpxClient)setup_logging)HttpxBinaryResponseContent),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)   r+   r/   r.   r   r   r   r   r   r   r   r   r   r   r   r   r   r0   r2   r1   )	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)r?   r6   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                      sp  e Zd Zeed+ddZejd,ddZeed+dd	Zejd,d
d	Zeed+ddZejd,ddZeed+ddZ	e	jd,ddZ	eed- fddZ
e
jd. fddZ
eed/ddZejd0ddZeed1ddZejd2ddZeed3d d!Zejd4d"d!Zeed5d$d%Zejd6d&d%Zeed7 fd(d)Zejd8d*d)Z  ZS )9_ModuleClientreturnr@   c                 C     t S NrA   self r_   P/var/www/html/openai_agents/venv/lib/python3.10/site-packages/openai/__init__.pyrA         z_ModuleClient.api_keyvalueNonec                 C     |a d S r[   r\   r^   rb   r_   r_   r`   rA         c                 C  rZ   r[   rB   r]   r_   r_   r`   rB      ra   z_ModuleClient.organizationc                 C  rd   r[   rg   re   r_   r_   r`   rB      rf   c                 C  rZ   r[   rC   r]   r_   r_   r`   rC      ra   z_ModuleClient.projectc                 C  rd   r[   rh   re   r_   r_   r`   rC      rf   c                 C  rZ   r[   rD   r]   r_   r_   r`   rD      ra   z_ModuleClient.webhook_secretc                 C  rd   r[   ri   re   r_   r_   r`   rD      rf   
_httpx.URLc                   s   t d ur	tt S t j S r[   )rE   _httpxURLsuperr]   	__class__r_   r`   rE      s   
z_ModuleClient.base_urlurl_httpx.URL | strc                   s   |t  _d S r[   )rm   rE   )r^   rp   rn   r_   r`   rE      s   rF   c                 C  rZ   r[   rG   r]   r_   r_   r`   rG      ra   z_ModuleClient.timeoutc                 C  rd   r[   rr   re   r_   r_   r`   rG      rf   rH   c                 C  rZ   r[   rI   r]   r_   r_   r`   rI      ra   z_ModuleClient.max_retriesc                 C  rd   r[   rs   re   r_   r_   r`   rI      rf   rJ   c                 C  rZ   r[   rK   r]   r_   r_   r`   _custom_headers   ra   z_ModuleClient._custom_headersc                 C  rd   r[   rt   re   r_   r_   r`   ru      rf   rL   c                 C  rZ   r[   rM   r]   r_   r_   r`   _custom_query   ra   z_ModuleClient._custom_queryc                 C  rd   r[   rv   re   r_   r_   r`   rw      rf   _httpx.Clientc                   s   t pt jS r[   )rN   rm   _clientr]   rn   r_   r`   ry     s   z_ModuleClient._clientc                 C  rd   r[   )rN   re   r_   r_   r`   ry     rf   )rY   r@   )rb   r@   rY   rc   )rY   rj   )rp   rq   rY   rc   )rY   rF   )rb   rF   rY   rc   )rY   rH   )rb   rH   rY   rc   )rY   rJ   )rb   rJ   rY   rc   )rY   rL   )rb   rL   rY   rc   )rY   rx   )rb   rx   rY   rc   )__name__
__module____qualname__propertyr   rA   setterrB   rC   rD   rE   rG   rI   ru   rw   ry   __classcell__r_   r_   rn   r`   rX      sf    rX   c                   @  s   e Zd ZdS )_AzureModuleClientN)rz   r{   r|   r_   r_   r_   r`   r     s    r   c                      s   e Zd Zd fddZ  ZS ) _AmbiguousModuleClientUsageErrorrY   rc   c                   s   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`)rm   __init__r]   rn   r_   r`   r     s   z)_AmbiguousModuleClientUsageError.__init__rY   rc   )rz   r{   r|   r   r   r_   r_   rn   r`   r     s    r   rY   boolc                   C  s   t jdd uS )NOPENAI_API_KEY)_osenvirongetr_   r_   r_   r`   _has_openai_credentials  s   r   c                   C  s   t d uptjdd uS )NAZURE_OPENAI_API_KEY)rT   r   r   r   r_   r_   r_   r`   _has_azure_credentials  s   r   c                   C  s    t jdd uptd uptd uS )NrU   )r   r   r   rV   rW   r_   r_   r_   r`   _has_azure_ad_credentials"  s
   r   zOpenAI | Nonery   r   c                  C  s   t d u rztd u rtjdatd u rtjdatd u r"tjdatd u rTt } t	 }t
 }| r8|s5|r8t td us@td urKtjdd urKt |sO|rRdandatdkrjtttttttttttttda t S tttttttttttd
a t S t S )	NrS   rU   rQ   r   r6   r?   )rR   rT   rA   rV   rW   rB   rE   rG   rI   rK   rM   rN   )
rA   rB   rC   rD   rE   rG   rI   rK   rM   rN   )ry   rT   r   r   r   rV   rR   rP   r   r   r   r   rW   r   rA   rB   rE   rG   rI   rK   rM   rN   rX   rC   rD   )
has_openai	has_azurehas_azure_adr_   r_   r`   _load_client-  sh   r   rc   c                   C  s   d a d S r[   )ry   r_   r_   r_   r`   _reset_clientp  s   r   )betachataudioevalsfilesimagesmodelsbatchesuploadsrealtimewebhooks	responses
containers
embeddingscompletionsfine_tuningmoderationsconversationsvector_stores)rY   r   )rY   r   r   )
__future__r   osr   typing_ttyping_extensionsr    r   _typesr   r   r   r	   r
   r   r   r   _utilsr   ry   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.   r/   _base_clientr0   r1   r2   _utils._logsr3   _setup_logging_legacy_responser4   __all__TYPE_CHECKING_utils._resources_proxyr5   libr6   _azurer7   versionr8   	lib.azurer9   r:   lib._old_apilib.streamingr<   r=   locals__locals__name
startswithr{   	TypeErrorAttributeError_tehttpxrk   rA   __annotations__rB   rC   rD   rE   rG   rI   rK   rM   rN   Literal_ApiTypecastr   r   rP   rR   rT   rV   rW   rX   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`   <module>   s   (,L/

t




CX