o
    i3                     @   s   d Z ddlmZ ddlZddlmZmZ ddlmZ ddl	m
Z
mZ ddlmZ dd	lmZ dd
lmZmZmZmZ G dd deZdS )zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.   )BaseSDK    N)modelsutils)HookContext)OptionalNullableUNSET)get_security_from_env)unmarshal_json_response)ListMappingOptionalUnionc                   @   sX  e Zd ZdZdedddddeejejf de	ej
 deej de	e de	e d	e	eeef  d
ejfddZdedddddeejejf de	ej
 deej de	e de	e d	e	eeef  d
ejfddZddeeeeedddd
de	e de	e deeej  deeej  dee deej
 deej de	e de	e d	e	eeef  d
ejfddZddeeeeedddd
de	e de	e deeej  deeej  dee deej
 deej de	e de	e d	e	eeef  d
ejfddZedddddedeej de	e de	e d	e	eeef  d
ejfddZedddddedeej de	e de	e d	e	eeef  d
ejfdd Zedddddedeej de	e de	e d	e	eeef  d
ejfd!d"Zedddddedeej de	e de	e d	e	eeef  d
ejfd#d$Zedddddedeej de	e de	e d	e	eeef  d
e j!fd%d&Z"edddddedeej de	e de	e d	e	eeef  d
e j!fd'd(Z#d)edddd*ded+e	e deej de	e de	e d	e	eeef  d
ej$fd,d-Z%d)edddd*ded+e	e deej de	e de	e d	e	eeef  d
ej$fd.d/Z&dS )0Filesz	Files APIN)purposeretries
server_url
timeout_mshttp_headersfiler   r   r   r   r   returnc                   s\  d}d}|du r| j j}|dur|}n| ||}tj|t|tjd | jdd|| ddddd|| j j	 fd	d
|d}	|t
krL| j jt
urL| j j}d}
t|tjrZ|g df}
| jt| j |pbddg t| j j	tjd|	ddg|
d}t|ddrttj|S t|ddrt|}td||t|ddrt|}td||td|)  Upload File

        Upload a file that can be used across various endpoints.

        The size of individual files can be a maximum of 512 MB. The Fine-tuning API only supports .jsonl files.

        Please contact us if you need to increase these storage limits.

        :param file: The File object (not file name) to be uploaded.  To upload a file and specify a custom file name you should format your request as such:  ```bash  file=@path/to/your/file.jsonl;filename=custom_name.jsonl  ```  Otherwise, you can just keep the original file name:  ```bash  file=@path/to/your/file.jsonl  ```
        :param purpose:
        :param retries: Override the default retry configuration for this method
        :param server_url: Override the default server URL for this method
        :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
        :param http_headers: Additional headers to set or replace on requests.
        Nr   r   POST	/v1/filesTF
user-agentapplication/jsonc                         t  dddtjS NF	multipartr   serialize_request_bodyr   +FilesAPIRoutesUploadFileMultiPartBodyParams requestr#   U/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/mistralai/files.py<lambda>E       zFiles.upload.<locals>.<lambda>methodpathbase_urlurl_variablesr%   request_body_requiredrequest_has_path_paramsrequest_has_query_paramsuser_agent_headeraccept_header_valuer   securityget_serialized_bodyr   429500502503504 files_api_routes_upload_fileconfigr,   operation_idoauth2_scopessecurity_source4XX5XXhook_ctxr%   error_status_codesretry_config200*API error occurredUnexpected response received)sdk_configurationr   _get_urlr   r"   r   get_pydantic_modelFile_build_requestr3   r   rG   
isinstanceRetryConfig
do_requestr   r	   Securitymatch_responser
   UploadFileOutstream_to_textSDKErrorselfr   r   r   r   r   r   r,   r-   reqrG   http_reshttp_res_textr#   r$   r&   upload   sp   

	

zFiles.uploadc                   sp  d}d}|du r| j j}|dur|}n| ||}tj|t|tjd | jdd|| ddddd|| j j	 fd	d
|d}	|t
krM| j jt
urM| j j}d}
t|tjr[|g df}
| jt| j |pcddg t| j j	tjd|	ddg|
dI dH }t|ddrttj|S t|ddrt|I dH }td||t|ddrt|I dH }td||td|)r   Nr   r   r   TFr   r   c                      r   r   r    r#   r$   r#   r&   r'      r(   z$Files.upload_async.<locals>.<lambda>r)   r5   r;   r<   r=   rB   rC   rD   rH   rI   rJ   rK   )rL   r   rM   r   r"   r   rN   rO   _build_request_asyncr3   r   rG   rQ   rR   do_request_asyncr   r	   rT   rU   r
   rV   stream_to_text_asyncrX   rY   r#   r$   r&   upload_asyncq   sr   

	zFiles.upload_asyncr   d   )
page	page_sizesample_typesourcesearchr   r   r   r   r   rd   re   rf   rg   rh   c       
         C   sP  d}d}|	du r| j j}	|dur|}n| ||}tj||||||d}| jdd|||ddddd|
| j j|	d	}|tkrF| j jturF| j j}d}t	|t
jrT|g d
f}| jt| j |p\ddg t| j jtjd|ddg|d}t
|ddr|ttj|S t
|ddrt
|}td||t
|ddrt
|}td||td|aG  List Files

        Returns a list of files that belong to the user's organization.

        :param page:
        :param page_size:
        :param sample_type:
        :param source:
        :param search:
        :param purpose:
        :param retries: Override the default retry configuration for this method
        :param server_url: Override the default server URL for this method
        :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
        :param http_headers: Additional headers to set or replace on requests.
        N)rd   re   rf   rg   rh   r   GETr   FTr   r   r*   r+   r,   r-   r%   r.   r/   r0   r1   r2   r   r3   r   r5   r;   files_api_routes_list_filesr=   rB   rC   rD   rH   rI   rJ   rK   )rL   r   rM   r   FilesAPIRoutesListFilesRequestrP   r3   r   rG   rQ   r   rR   rS   r   r	   rT   rU   r
   ListFilesOutrW   rX   rZ   rd   re   rf   rg   rh   r   r   r   r   r   r,   r-   r%   r[   rG   r\   r]   r#   r#   r&   list   sv   	
	

z
Files.listc       
            sd  d}d}|	du r| j j}	|dur|}n| ||}tj||||||d}| jdd|||ddddd|
| j j|	d	}|tkrG| j jturG| j j}d}t	|t
jrU|g d
f}| jt| j |p]ddg t| j jtjd|ddg|dI dH }t
|ddrttj|S t
|ddrt
|I dH }td||t
|ddrt
|I dH }td||td|ri   )rL   r   rM   r   rm   r_   r3   r   rG   rQ   r   rR   r`   r   r	   rT   rU   r
   rn   ra   rX   ro   r#   r#   r&   
list_async4  sx   	
	zFiles.list_async)r   r   r   r   file_idc                C   F  d}d}|du r| j j}|dur|}n| ||}tj|d}| jdd|||ddddd|| j j|d	}	|tkrA| j jturA| j j}d}
t	|t
jrO|g d
f}
| jt| j |pWddg t| j jtjd|	ddg|
d}t
|ddrwttj|S t
|ddrt
|}td||t
|ddrt
|}td||td|a  Retrieve File

        Returns information about a specific file.

        :param file_id:
        :param retries: Override the default retry configuration for this method
        :param server_url: Override the default server URL for this method
        :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
        :param http_headers: Additional headers to set or replace on requests.
        Nrr   rj   /v1/files/{file_id}FTr   r   rk   r5   r;   files_api_routes_retrieve_filer=   rB   rC   rD   rH   rI   rJ   rK   )rL   r   rM   r   !FilesAPIRoutesRetrieveFileRequestrP   r3   r   rG   rQ   r   rR   rS   r   r	   rT   rU   r
   RetrieveFileOutrW   rX   rZ   rr   r   r   r   r   r,   r-   r%   r[   rG   r\   r]   r#   r#   r&   retrieve  l   
	

zFiles.retrievec                   Z  d}d}|du r| j j}|dur|}n| ||}tj|d}| jdd|||ddddd|| j j|d	}	|tkrB| j jturB| j j}d}
t	|t
jrP|g d
f}
| jt| j |pXddg t| j jtjd|	ddg|
dI dH }t
|ddr{ttj|S t
|ddrt
|I dH }td||t
|ddrt
|I dH }td||td|rt   )rL   r   rM   r   rx   r_   r3   r   rG   rQ   r   rR   r`   r   r	   rT   rU   r
   ry   ra   rX   rz   r#   r#   r&   retrieve_async  n   
	zFiles.retrieve_asyncc                C   rs   a  Delete File

        Delete a file.

        :param file_id:
        :param retries: Override the default retry configuration for this method
        :param server_url: Override the default server URL for this method
        :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
        :param http_headers: Additional headers to set or replace on requests.
        Nru   DELETErv   FTr   r   rk   r5   r;   files_api_routes_delete_filer=   rB   rC   rD   rH   rI   rJ   rK   )rL   r   rM   r   FilesAPIRoutesDeleteFileRequestrP   r3   r   rG   rQ   r   rR   rS   r   r	   rT   rU   r
   DeleteFileOutrW   rX   rz   r#   r#   r&   delete<  r|   zFiles.deletec                   r}   r   )rL   r   rM   r   r   r_   r3   r   rG   rQ   r   rR   r`   r   r	   rT   rU   r
   r   ra   rX   rz   r#   r#   r&   delete_async  r   zFiles.delete_asyncc                C   sL  d}d}|du r| j j}|dur|}n| ||}tj|d}| jdd|||ddddd|| j j|d	}	|tkrA| j jturA| j j}d}
t	|t
jrO|g d
f}
| jt| j |pWddg t| j jtjd|	ddgd|
d}t
|ddrt|S t
|ddrt
|}td||t
|ddrt
|}td||t
|}td||a  Download File

        Download a file

        :param file_id:
        :param retries: Override the default retry configuration for this method
        :param server_url: Override the default server URL for this method
        :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
        :param http_headers: Additional headers to set or replace on requests.
        Nru   rj   z/v1/files/{file_id}/contentFTr   zapplication/octet-streamrk   r5   r;   files_api_routes_download_filer=   rB   rC   )rE   r%   rF   streamrG   rH   rI   rJ   rK   )rL   r   rM   r   !FilesAPIRoutesDownloadFileRequestrP   r3   r   rG   rQ   r   rR   rS   r   r	   rT   rU   rW   rX   rz   r#   r#   r&   download  sp   
	


zFiles.downloadc                   sf  d}d}|du r| j j}|dur|}n| ||}tj|d}| jdd|||ddddd|| j j|d	}	|tkrB| j jturB| j j}d}
t	|t
jrP|g d
f}
| jt| j |pXddg t| j jtjd|	ddgd|
dI dH }t
|ddrx|S t
|ddrt
|I dH }td||t
|ddrt
|I dH }td||t
|I dH }td||r   )rL   r   rM   r   r   r_   r3   r   rG   rQ   r   rR   r`   r   r	   rT   rU   ra   rX   rz   r#   r#   r&   download_async7  sr   
	zFiles.download_async   )expiryr   r   r   r   r   c                C   sH  d}d}|du r| j j}|dur|}n| ||}tj||d}	| jdd|||	ddddd|| j j|d	}
|tkrB| j jturB| j j}d}t	|t
jrP|g d
f}| jt| j |pXddg t| j jtjd|
ddg|d}t
|ddrxttj|S t
|ddrt
|}td||t
|ddrt
|}td||td|a  Get Signed Url

        :param file_id:
        :param expiry: Number of hours before the url becomes invalid. Defaults to 24h
        :param retries: Override the default retry configuration for this method
        :param server_url: Override the default server URL for this method
        :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
        :param http_headers: Additional headers to set or replace on requests.
        N)rr   r   rj   z/v1/files/{file_id}/urlFTr   r   rk   r5   r;   files_api_routes_get_signed_urlr=   rB   rC   rD   rH   rI   rJ   rK   )rL   r   rM   r   !FilesAPIRoutesGetSignedURLRequestrP   r3   r   rG   rQ   r   rR   rS   r   r	   rT   rU   r
   FileSignedURLrW   rX   rZ   rr   r   r   r   r   r   r,   r-   r%   r[   rG   r\   r]   r#   r#   r&   get_signed_url  sn   
	

zFiles.get_signed_urlc                   s\  d}d}|du r| j j}|dur|}n| ||}tj||d}	| jdd|||	ddddd|| j j|d	}
|tkrC| j jturC| j j}d}t	|t
jrQ|g d
f}| jt| j |pYddg t| j jtjd|
ddg|dI dH }t
|ddr|ttj|S t
|ddrt
|I dH }td||t
|ddrt
|I dH }td||td|r   )rL   r   rM   r   r   r_   r3   r   rG   rQ   r   rR   r`   r   r	   rT   rU   r
   r   ra   rX   r   r#   r#   r&   get_signed_url_async  sp   
	zFiles.get_signed_url_async)'__name__
__module____qualname____doc__r   r   r   rO   FileTypedDictr   FilePurposer   r   rR   strintr   rV   r^   rb   r   
SampleTypeSourcern   rp   rq   ry   r{   r~   r   r   r   httpxResponser   r   r   r   r   r#   r#   r#   r&   r      s   	
e	
d	

e	

f
W
W
W
W
Y
Y	
X	r   )r   basesdkr   r   	mistralair   r   mistralai._hooksr   mistralai.typesr   r   mistralai.utilsr	   'mistralai.utils.unmarshal_json_responser
   typingr   r   r   r   r   r#   r#   r#   r&   <module>   s    