o
    µ3Ih  ã                   @   s–   d dl mZ d dlmZ d dl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 d dlmZmZ G dd„ deeƒZG d	d
„ d
eƒZdS )é    )Úabstractmethod)ÚEnum)ÚDictÚAnyÚOptional)ÚUUID)Ú
EmbeddingsÚ	MetadatasÚ	DocumentsÚURIsÚIDsÚCollectionMetadataÚWhereÚWhereDocument)Ú	ComponentÚSystemc                   @   s4   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdS )ÚActionÚcreate_databaseÚcreate_collectionÚlist_collectionsÚupdate_collectionÚaddÚgetÚdeleteÚupdateÚupsertÚqueryN)Ú__name__Ú
__module__Ú__qualname__ÚCREATE_DATABASEÚCREATE_COLLECTIONÚLIST_COLLECTIONSÚUPDATE_COLLECTIONÚADDÚGETÚDELETEÚUPDATEÚUPSERTÚQUERY© r*   r*   úW/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/chromadb/quota/__init__.pyr      s    r   c                &       sú   e Zd ZdZdeddf‡ fdd„Zedeee	f ddfdd	„ƒZ
e															dd
ededee dee dee dee dee dee dee dee dee dee dee dee dee dee dee ddf$dd„ƒZ‡  ZS )ÚQuotaEnforcerz*
    Exposes hooks to enforce quotas.
    ÚsystemÚreturnNc                    s   t ƒ  |¡ d S )N)ÚsuperÚ__init__)Úselfr-   ©Ú	__class__r*   r+   r0   %   s   zQuotaEnforcer.__init__Úcontextc                 C   ó   dS )z7
        Sets the context for a given request.
        Nr*   )r1   r4   r*   r*   r+   Úset_context(   s   zQuotaEnforcer.set_contextÚactionÚtenantÚ	metadatasÚ	documentsÚ
embeddingsÚurisÚidsÚnameÚnew_nameÚmetadataÚnew_metadataÚlimitÚwhereÚwhere_documentÚ	n_resultsÚquery_embeddingsÚcollection_idc                 C   r5   )z#
        Enforces a quota.
        Nr*   )r1   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r*   r*   r+   Úenforce/   s   zQuotaEnforcer.enforce)NNNNNNNNNNNNNNN)r   r   r   Ú__doc__r   r0   r   r   Ústrr   r6   r   r   r	   r
   r   r   r   r   Úintr   r   r   rH   Ú__classcell__r*   r*   r2   r+   r,       st    îþýüûúùø	÷
öõôóòñðïîír,   N)Úabcr   Úenumr   Útypingr   r   r   Úuuidr   Úchromadb.api.typesr   r	   r
   r   r   r   r   r   Úchromadb.configr   r   rJ   r   r,   r*   r*   r*   r+   Ú<module>   s    (
