o
    i/                     @   s   d Z ddlmZ ddl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 ddlmZmZmZmZmZ dd	lmZmZ G d
d dZdS )zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.   )SDKConfiguration    N)modelsutils)AfterErrorContextAfterSuccessContextBeforeRequestContext)RetryConfigSerializedRequestBodyget_body_content)CallableListMappingOptionalTuple)parse_qsurlparsec                   @   s  e Zd ZU eed< dZee ed< 	 	ddedee ddfddZdd	 Z							dd
ee
 deeg ee f  dee deeeef  dejf
ddZ						dd
ee
 deeg ee f  dee deeeef  dejf
ddZ						dd
ee
 deeg ee f  dee deeeef  dejf
ddZ		ddeeeee f  dejfddZ		ddeeeee f  dejfddZdS )BaseSDKsdk_configurationN
parent_ref
sdk_configreturnc                 C   s   || _ || _d S N)r   r   )selfr   r    r   W/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/mistralai/basesdk.py__init__   s   
zBaseSDK.__init__c                 C   s2   | j  \}}|d u r|}|d u r|}t||S r   )r   get_server_detailsr   template_url)r   base_urlurl_variablessdk_urlsdk_variablesr   r   r   _get_url    s   zBaseSDK._get_url
timeout_msget_serialized_bodyurl_overridehttp_headersc                 C   2   | j j}| ||||||||||	|
||||||S r   )r   async_client_build_request_with_clientr   methodpathr   r    requestrequest_body_requiredrequest_has_path_paramsrequest_has_query_paramsuser_agent_headeraccept_header_value_globalssecurityr$   r%   r&   r'   clientr   r   r   _build_request_async+   (   zBaseSDK._build_request_asyncc                 C   r(   r   )r   r6   r*   r+   r   r   r   _build_requestU   r8   zBaseSDK._build_requestc              
   C   s  i }|}|d u r+t | ||||r|nd |r|nd }t |	r"|nd |	r'|nd }ntt|}t|jdd}t ||}||d< | j	j
||
< |d urSt|rS| }t |tj}|d urqt |\}}i ||}i ||}t }|d ur| }|r|d u rtd|d ur|}|jd ur|jdvr|j|d< |d ur| D ]\}}|||< q|d ur|d nd }|j||||j|j|j||dS )	NT)keep_blank_valuesAcceptzrequest body is required)zmultipart/form-datazmultipart/mixedzcontent-typei  )paramscontentdatafilesheaderstimeout)r   generate_urlr#   get_query_paramsr   strr   queryget_headersr   
user_agentcallableget_security_from_envr   Securityget_securityr
   
ValueError
media_typeitemsbuild_requestr=   r>   r?   )r   r6   r,   r-   r   r    r.   r/   r0   r1   r2   r3   r4   r5   r$   r%   r&   r'   query_paramsurlparsed_overrider@   security_headerssecurity_query_paramsserialized_request_bodyrbheadervaluerA   r   r   r   r*      sh   







z"BaseSDK._build_request_with_clientFretry_configc                    s   | j j | j j| j jd  fdd}|d ur-t|t|d |d }n| }t|js?	t
|}|S )N_hooksc               
      sN  d } z' t}d|j|j|jt|  d u r!td j|d} W n* t	yS } z
td |\}}|d urIjddd |W Y d }~nd }~ww | d u rbd tdd	| j| j| jrod
n| j t| jr
t| d \}}|d urjddd ||d ur|} | S d td| | S Nz0Request:
Method: %s
URL: %s
Headers: %s
Body: %szclient is required)streamzRequest ExceptionT)exc_infozRaising no response SDK errorzNo response receivedz6Response:
Status Code: %s
URL: %s
Headers: %s
Body: %sz<streaming response>zRaising unexpected SDK errorzUnexpected error occurredbefore_requestr   debugr,   rQ   r@   r   rL   send	Exceptionafter_errorr   r   NoResponseErrorstatus_codetextr   match_status_codesSDKErrorhttp_resreqe_resulterrr6   error_status_codeshook_ctxhooksloggerr.   r\   r   r   do   sX   



zBaseSDK.do_request.<locals>.dor   r   )r   r6   debug_logger__dict__r   retryRetriesrg   re   after_successr   r   rr   r.   rq   r\   rY   ru   rj   r   rp   r   
do_request   s   1zBaseSDK.do_requestc                    s   | j j | j j| j jd  fdd}|d ur1t|t|d |d I d H }n| I d H }t|jsF	t
|}|S )NrZ   c               
      sV  d } z* t}d|j|j|jt|  d u r"td j|dI d H } W n* t	yW } z
td |\}}|d urMjddd |W Y d }~nd }~ww | d u rfd tdd	| j| j| jrsd
n| j t| jr
t| d \}}|d urjddd ||d ur|} | S d td| | S r[   r^   ri   rp   r   r   ru   1  sZ   



z$BaseSDK.do_request_async.<locals>.dor   r   )r   r)   rv   rw   r   retry_asyncry   rg   re   rz   r   r{   r   rp   r   do_request_async$  s   1zBaseSDK.do_request_asyncr   )NNNNNN)FN)__name__
__module____qualname__r   __annotations__r   r   objectr   r#   intr   r
   rD   r   httpxRequestr7   r9   r*   r   r	   r   Responser|   r~   r   r   r   r   r      s   
 

6
7
b
Mr   )__doc__sdkconfigurationr   r   	mistralair   r   mistralai._hooksr   r   r   mistralai.utilsr	   r
   r   typingr   r   r   r   r   urllib.parser   r   r   r   r   r   r   <module>   s    