o
    ùT·j£7  ã                
   @  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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jSsÒddlTmUZU ddlVmWZXmYZZm[Z[ ddl\m]Z] ddl^m_Z_m`Z` ddlambZbmcZc ddldT ejS�rddlemfZfmgZg ndZhd`d d!„Zidad#d$„ZjeJƒ  ekƒ ZleRD ]Zmem nd%¡�s5zd&elem _oW �q epeqf�y4   Y �qw �q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|d0evd1< e-a}d2evd3< da~d4evd5< dad6evd7< da€d8evd9< erj�d: Z‚e ƒe‚ej„ …d;¡¡a†d<evd=< ej„ …d>¡a‡d(evd?< ej„ …d@¡aˆd(evdA< dZ‰d(evdB< dZŠdCevdD< da‹d(evdE< dZŒdFevdG< G dHdI„ dIeƒZ�G dJdK„ dKe�e_ƒZŽG dLdM„ dMe�ebƒZ�G dNdO„ dOe2ƒZ�dbdQdR„Z‘dbdSdT„Z’dbdUdV„Z“dadWevdX< dcdZd[„Z”ddd]d^„Z•dd_l–m—Z—m˜Z˜m™Z™mšZšm›Z›mœZœm�Z�mžZžmŸZŸm Z m¡Z¡m¢Z¢m£Z£m¤Z¤m¥Z¥m¦Z¦m§Z§m¨Z¨m©Z©mªZªm«Z«m¬Z¬m­Z­m®Z®m¯Z¯ dS )eé    )Ú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+   r2   r*   r,   r#   r.   r&   r%   r1   r(   r-   r/   r4   r3   r   r   r:   r   r   r   r   r   r   ÚBedrockOpenAIÚAsyncBedrockOpenAIr   r   r   r    r!   r6   r8   r7   r   r   r<   r=   r0   r5   )Ú	resources)ÚazureÚbedrockÚpydantic_function_tool)ÚVERSION)ÚAzureOpenAIÚAsyncAzureOpenAI)r>   r?   )Ú*)ÚAssistantEventHandlerÚAsyncAssistantEventHandlerÚnameÚstrÚreturnú_t.Anyc                 C  sF   | 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Ú	importlibrN   ÚgetattrÚ__name__ÚglobalsÚAttributeError)rJ   rN   Úvalue© rV   úR/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/openai/__init__.pyÚ__getattr__x   s   
rX   ú	list[str]c                   C  s   t ttƒ ƒttƒB ƒS ©N)ÚsortedÚsetrS   rO   rV   rV   rV   rW   Ú__dir__�   s   r]   Ú__Ú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_   rA   ú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                      s’  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.dd„ƒƒZ
e
jd/dd„ƒZ
eed0‡ fdd„ƒƒZejd1‡ fdd„ƒZeed2dd„ƒƒZejd3dd„ƒZeed4dd „ƒƒZejd5d!d „ƒZeed6d#d$„ƒƒZejd7d%d$„ƒZeed8d'd(„ƒƒZejd9d)d(„ƒZeed:‡ fd+d,„ƒƒZejd;d-d,„ƒZ‡  ZS )<Ú_ModuleClientrL   r`   c                 C  ó   t S rZ   ©ra   ©ÚselfrV   rV   rW   ra   È   ó   z_ModuleClient.api_keyrU   ÚNonec                 C  ó   |a d S rZ   r}   ©r   rU   rV   rV   rW   ra   Í   ó   c                 C  r|   rZ   ©rb   r~   rV   rV   rW   rb   Ó   r€   z_ModuleClient.admin_api_keyc                 C  r‚   rZ   r…   rƒ   rV   rV   rW   rb   Ø   r„   c                 C  r|   rZ   ©rc   r~   rV   rV   rW   rc   Þ   r€   z_ModuleClient.organizationc                 C  r‚   rZ   r†   rƒ   rV   rV   rW   rc   ã   r„   c                 C  r|   rZ   ©rd   r~   rV   rV   rW   rd   é   r€   z_ModuleClient.projectc                 C  r‚   rZ   r‡   rƒ   rV   rV   rW   rd   î   r„   c                 C  r|   rZ   ©re   r~   rV   rV   rW   re   ô   r€   z_ModuleClient.webhook_secretc                 C  r‚   rZ   rˆ   rƒ   rV   rV   rW   re   ù   r„   ú
_httpx.URLc                   s   t d urtt ƒS tƒ j S rZ   )rf   Ú_normalize_httpx_urlÚsuperr~   ©Ú	__class__rV   rW   rf   ÿ   s   z_ModuleClient.base_urlÚurlú_httpx.URL | strc                   s   |t ƒ _d S rZ   )r‹   rf   )r   rŽ   rŒ   rV   rW   rf     s   rg   c                 C  r|   rZ   ©rh   r~   rV   rV   rW   rh     r€   z_ModuleClient.timeoutc                 C  r‚   rZ   r�   rƒ   rV   rV   rW   rh     r„   ri   c                 C  r|   rZ   ©rj   r~   rV   rV   rW   rj     r€   z_ModuleClient.max_retriesc                 C  r‚   rZ   r‘   rƒ   rV   rV   rW   rj     r„   rk   c                 C  r|   rZ   ©rl   r~   rV   rV   rW   Ú_custom_headers!  r€   z_ModuleClient._custom_headersc                 C  r‚   rZ   r’   rƒ   rV   rV   rW   r“   &  r„   rm   c                 C  r|   rZ   ©rn   r~   rV   rV   rW   Ú_custom_query,  r€   z_ModuleClient._custom_queryc                 C  r‚   rZ   r”   rƒ   rV   rV   rW   r•   1  r„   ú_httpx.Clientc                   s   t ptƒ jS rZ   )ro   r‹   Ú_clientr~   rŒ   rV   rW   r—   7  s   z_ModuleClient._clientc                 C  r‚   rZ   )ro   rƒ   rV   rV   rW   r—   <  r„   ©rL   r`   ©rU   r`   rL   r�   )rL   r‰   )rŽ   r�   rL   r�   )rL   rg   )rU   rg   rL   r�   )rL   ri   )rU   ri   rL   r�   )rL   rk   )rU   rk   rL   r�   )rL   rm   )rU   rm   rL   r�   )rL   r–   )rU   r–   rL   r�   )rR   Ú
__module__Ú__qualname__Úpropertyr   ra   Úsetterrb   rc   rd   re   rf   rh   rj   r“   r•   r—   Ú__classcell__rV   rV   rŒ   rW   r{   Ä   sp    r{   c                   @  s   e Zd ZdS )Ú_AzureModuleClientN)rR   rš   r›   rV   rV   rV   rW   rŸ   C  s    rŸ   c                      sV   e Zd Zeeddd„ƒƒZejddd„ƒZed‡ fd	d
„ƒZed‡ fdd„ƒZ‡  Z	S )Ú_BedrockModuleClientrL   r`   c                 C  s   t d urt S tS rZ   )ra   ry   r~   rV   rV   rW   ra   H  s   z_BedrockModuleClient.api_keyrU   r�   c                 C  r‚   rZ   )ry   rƒ   rV   rV   rW   ra   M  r„   rK   c                   s   t d urt S tƒ  ¡ S rZ   )ra   r‹   Ú_refresh_api_keyr~   rŒ   rV   rW   r¡   S  s   
z%_BedrockModuleClient._refresh_api_keyú!_bedrock._LegacyAuthConfigurationc                   s   t d urdt fS tƒ  ¡ S )NÚbearer)ra   r‹   Ú_legacy_auth_configurationr~   rŒ   rV   rW   r¤   Z  s   
z/_BedrockModuleClient._legacy_auth_configurationr˜   r™   )rL   rK   )rL   r¢   )
rR   rš   r›   rœ   r   ra   r�   r¡   r¤   rž   rV   rV   rŒ   rW   r    G  s    r    c                      s   e Zd Zd‡ fdd„Z‡  ZS )Ú _AmbiguousModuleClientUsageErrorrL   r�   c                   s   t ƒ  d¡ d S )Nz”Ambiguous 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~   rŒ   rV   rW   r¦   b  s   ÿz)_AmbiguousModuleClientUsageError.__init__©rL   r�   )rR   rš   r›   r¦   rž   rV   rV   rŒ   rW   r¥   a  s    r¥   Úboolc                   C  s   t j d¡d uS )NÚOPENAI_API_KEY)Ú_osÚenvironÚgetrV   rV   rV   rW   Ú_has_openai_credentialsh  s   r­   c                   C  s   t d uptj d¡d uS )NÚAZURE_OPENAI_API_KEY)rv   rª   r«   r¬   rV   rV   rV   rW   Ú_has_azure_credentialsl  s   r¯   c                   C  s    t j d¡d uptd uptd uS )NÚAZURE_OPENAI_AD_TOKEN)rª   r«   r¬   rw   rx   rV   rV   rV   rW   Ú_has_azure_ad_credentialsp  s
   ÿýr±   zOpenAI | Noner—   r   c                  C  sì   t d u rttd u rtj d¡atd u rtj d¡atd u r7tƒ } tƒ }t	ƒ }| r.|s+|r.t
ƒ ‚|s2|r5dandatdkrMtttttttttttttd�a t S tdkrbt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tdd	�a t S t S )
Nru   rs   rA   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_adrV   rV   rW   Ú_load_client{  sz   ôõôr¶   r�   c                   C  s   d a d S rZ   )r—   rV   rV   rV   rW   Ú_reset_clientÈ  s   r·   )Ú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)rJ   rK   rL   rM   )rL   rY   )rL   r¨   )rL   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.   r/   r0   r1   r2   r3   r4   r5   Ú_base_clientr6   r7   r8   Ú_utils._logsr9   Ú_setup_loggingÚ_data_residencyr:   Ú_legacy_responser;   Útypes.websocket_reconnectionr<   r=   Ú__all__ÚTYPE_CHECKINGÚ_utils._resources_proxyr@   ÚlibrA   Ú_azurerB   Ú_bedrockrC   ÚversionrD   Ú	lib.azurerE   rF   Úlib.bedrockr>   r?   Úlib._old_apiÚlib.streamingrH   rI   rO   rX   r]   ÚlocalsÚ__localsÚ__nameÚ
startswithrš   Ú	TypeErrorrT   Ú_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Ð   rV   rV   rV   rW   Ú<module>   s˜   (,X9

	þý





Mp