o
    i                     @   s   d Z ddl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 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 G dd deZdS )zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.   )BaseSDK)SDKConfiguration    )modelsutils)HookContext)Accesses)	Documents)OptionalNullableUNSET)get_security_from_env)unmarshal_json_response)AnyMappingOptionalc                   @   sx  e Zd ZU dZeed< 	 eed< 	 	d+dedee	 ddfdd	Z
d
d Zedddd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ej dee dee deeeef  dejf
ddZeeedddddede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eeedddddede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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eedddd&dede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eeedddd&dede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 ),	Librarieszi(beta) Libraries API to create and manage libraries - index your documents to enhance agent capabilities.	documentsaccessesN
sdk_config
parent_refreturnc                 C   s"   t j| ||d || _|   d S N)r   )r   __init__sdk_configuration
_init_sdks)selfr   r    r   Y/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/mistralai/libraries.pyr      s   zLibraries.__init__c                 C   s(   t | j| jd| _t| j| jd| _d S r   )r	   r   r   r   r   r   )r   r   r   r   r      s   zLibraries._init_sdks)retries
server_url
timeout_mshttp_headersr   r   r    r!   c                C   s:  d}d}|du r| j j}|dur|}n| ||}| jdd||dddddd|| j j|d}|tkr;| j jtur;| j j}d}t|tj	rI|g d	f}| j
t| j |pQd
dg t| j jtjd|ddg|d}	t|	ddrqttj|	S t|	ddrt|	}
td|	|
t|	ddrt|	}
td|	|
td|	a  List all libraries you have access to.

        List all libraries that you have created or have been shared with you.

        :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GET/v1/librariesFT
user-agentapplication/jsonmethodpathbase_urlurl_variablesrequestrequest_body_requiredrequest_has_path_paramsrequest_has_query_paramsuser_agent_headeraccept_header_valuer!   securityr    429500502503504 libraries_list_v1configr*   operation_idoauth2_scopessecurity_source4XX5XXhook_ctxr,   error_status_codesretry_config200*API error occurredUnexpected response received)r   r    _get_url_build_requestr2   r   rE   
isinstancer   RetryConfig
do_requestr   r   r   Securitymatch_responser   ListLibraryOutstream_to_textSDKErrorr   r   r   r    r!   r*   r+   reqrE   http_reshttp_res_textr   r   r   list"   sf   
	

zLibraries.listc                   sN  d}d}|du r| j j}|dur|}n| ||}| jdd||dddddd|| j j|d}|tkr<| j jtur<| j j}d}t|tj	rJ|g d	f}| j
t| j |pRd
dg t| j jtjd|ddg|dI dH }	t|	ddruttj|	S t|	ddrt|	I dH }
td|	|
t|	ddrt|	I dH }
td|	|
td|	r"   )r   r    rJ   _build_request_asyncr2   r   rE   rL   r   rM   do_request_asyncr   r   r   rO   rP   r   rQ   stream_to_text_asyncrS   rT   r   r   r   
list_asyncn   sh   
	zLibraries.list_async)description
chunk_sizer   r   r    r!   namer]   r^   c                   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 fd	d
|d}
|tkrH| j jturH| j j}d}t	|t
jrV|g df}| jt| j |p^ddg t| j jtjd|
g d|d}d}t
|ddrttj|S t
|ddrttj|}t||t
|ddrt
|}td||t
|ddrt
|}td||td|){  Create a new Library.

        Create a new Library, you will be marked as the owner and only you will have the possibility to share it with others. When first created this will only be accessible by you.

        :param name:
        :param description:
        :param chunk_size:
        :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]   r^   POSTr$   TFr%   r&   c                         t  dddtjS NFjsonr   serialize_request_bodyr   	LibraryInr   r,   r   r   <lambda>       z"Libraries.create.<locals>.<lambda>r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r!   r2   get_serialized_bodyr    r3   r9   libraries_create_v1r;   422r@   rA   rB   201rp   r@   rG   rH   rA   rI   )r   r    rJ   r   rh   rK   r2   r   rE   rL   r   rM   rN   r   r   rO   rP   r   
LibraryOutHTTPValidationErrorDataHTTPValidationErrorrR   rS   r   r_   r]   r^   r   r   r    r!   r*   r+   rU   rE   rV   response_datarW   r   ri   r   create   s~   

	

zLibraries.createc                   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 fd	d
|d}
|tkrI| j jturI| j j}d}t	|t
jrW|g df}| jt| j |p_ddg t| j jtjd|
g d|dI dH }d}t
|ddrttj|S t
|ddrttj|}t||t
|ddrt
|I dH }td||t
|ddrt
|I dH }td||td|)r`   Nra   rb   r$   TFr%   r&   c                      rc   rd   rf   r   ri   r   r   rj   P  rk   z(Libraries.create_async.<locals>.<lambda>rl   r3   r9   rn   r;   ro   rB   rq   rp   r@   rG   rH   rA   rI   )r   r    rJ   r   rh   rY   r2   r   rE   rL   r   rM   rZ   r   r   rO   rP   r   rr   rs   rt   r[   rS   ru   r   ri   r   create_async  s   

	zLibraries.create_async
library_idc                C   p  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|	g d|
d}d}t
|ddryttj|S t
|ddrttj|}t||t
|ddrt
|}td||t
|ddrt
|}td||td|a  Detailed information about a specific Library.

        Given a library id, details information about that Library.

        :param library_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ry   r#   /v1/libraries/{library_id}FTr%   r&   r'   r3   r9   libraries_get_v1r;   ro   rB   rF   rp   r@   rG   rH   rA   rI   )r   r    rJ   r   LibrariesGetV1RequestrK   r2   r   rE   rL   r   rM   rN   r   r   rO   rP   r   rr   rs   rt   rR   rS   r   ry   r   r   r    r!   r*   r+   r,   rU   rE   rV   rv   rW   r   r   r   get~  x   
	

zLibraries.getc                     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|	g d|
dI dH }d}t
|ddr}ttj|S t
|ddrttj|}t||t
|ddrt
|I dH }td||t
|ddrt
|I dH }td||td|r{   )r   r    rJ   r   r   rY   r2   r   rE   rL   r   rM   rZ   r   r   rO   rP   r   rr   rs   rt   r[   rS   r   r   r   r   	get_async  z   
	zLibraries.get_asyncc                C   rz   a  Delete a library and all of it's document.

        Given a library id, deletes it together with all documents that have been uploaded to that library.

        :param library_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.
        Nr|   DELETEr}   FTr%   r&   r'   r3   r9   libraries_delete_v1r;   ro   rB   rF   rp   r@   rG   rH   rA   rI   )r   r    rJ   r   LibrariesDeleteV1RequestrK   r2   r   rE   rL   r   rM   rN   r   r   rO   rP   r   rr   rs   rt   rR   rS   r   r   r   r   delete0  r   zLibraries.deletec                   r   r   )r   r    rJ   r   r   rY   r2   r   rE   rL   r   rM   rZ   r   r   rO   rP   r   rr   rs   rt   r[   rS   r   r   r   r   delete_async  r   zLibraries.delete_async)r_   r]   r   r   r    r!   c                   s  d}d}	|du r| j j}|dur|}n| ||	}tj|tj||d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|
g d|d}d}t|ddrttj|S t|ddrttj|}t||t|ddrt|}td||t|ddrt|}td||td|)  Update a library.

        Given a library id, you can update the name and description.

        :param library_id:
        :param name:
        :param description:
        :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]   ry   library_in_updatePUTr}   Tr%   r&   c                         t  jdddtjS rd   r   rg   r   r   LibraryInUpdater   ri   r   r   rj         z"Libraries.update.<locals>.<lambda>rl   r3   r9   libraries_update_v1r;   ro   rB   rF   rp   r@   rG   rH   rA   rI   )r   r    rJ   r   LibrariesUpdateV1Requestr   rK   r2   r   rE   rL   r   rM   rN   r   r   rO   rP   r   rr   rs   rt   rR   rS   r   ry   r_   r]   r   r   r    r!   r*   r+   rU   rE   rV   rv   rW   r   ri   r   update  s   

	

zLibraries.updatec                   s  d}d}	|du r| j j}|dur|}n| ||	}tj|tj||d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|
g d|dI dH }d}t|ddrttj|S t|ddrttj|}t||t|ddrt|I dH }td||t|ddrt|I dH }td||td|)r   Nr   r   r   r}   Tr%   r&   c                      r   rd   r   r   ri   r   r   rj   |  r   z(Libraries.update_async.<locals>.<lambda>rl   r3   r9   r   r;   ro   rB   rF   rp   r@   rG   rH   rA   rI   )r   r    rJ   r   r   r   rY   r2   r   rE   rL   r   rM   rZ   r   r   rO   rP   r   rr   rs   rt   r[   rS   r   r   ri   r   update_asyncF  s   

	zLibraries.update_async)N) __name__
__module____qualname____doc__r	   __annotations__r   r   r   objectr   r   r   r
   r   rM   strintr   r   rQ   rX   r\   rr   rw   rx   r   r   r   r   r   r   r   r   r   r   r      s  
 

O
P	

f	

f
]
]
]
]	

h	
r   N)r   basesdkr   sdkconfigurationr   	mistralair   r   mistralai._hooksr   mistralai.accessesr   mistralai.documentsr	   mistralai.typesr
   r   mistralai.utilsr   'mistralai.utils.unmarshal_json_responser   typingr   r   r   r   r   r   r   r   <module>   s    