
    ug                         d dl mZ d dlmZ d dlmZmZ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ee      Z G d d	e      Zy
)    )abstractmethod)Enum)DictAnyOptional)
Embeddings	Metadatas	DocumentsURIsIDsCollectionMetadataWhereWhereDocument)	ComponentSystemc                   4    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)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     L/var/www/openai/venv/lib/python3.12/site-packages/chromadb/quota/__init__.pyr   r      s7    'O+)+
C
CFFFEr,   r   c            $           e Zd ZdZdeddf fdZedeee	f   ddf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df"d       Z xZS )QuotaEnforcerz*
    Exposes hooks to enforce quotas.
    systemreturnNc                 $    t         |   |       y )N)super__init__)selfr0   	__class__s     r-   r4   zQuotaEnforcer.__init__$   s     r,   contextc                      y)z7
        Sets the context for a given request.
        Nr+   )r5   r7   s     r-   set_contextzQuotaEnforcer.set_context'   s    
 	r,   actiontenant	metadatas	documents
embeddingsurisidsnamenew_namemetadatanew_metadatalimitwherewhere_document	n_resultsquery_embeddingsc                      y)z#
        Enforces a quota.
        Nr+   )r5   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   s                    r-   enforcezQuotaEnforcer.enforce.   s    . 	r,   )NNNNNNNNNNNNNN)r   r   r    __doc__r   r4   r   r   strr   r9   r   r   r	   r
   r   r   r   r   intr   r   rK   __classcell__)r6   s   @r-   r/   r/      sn   !v !$ ! 4S> d   
 *.)-+/#!""&1559#!%26#'15#  I&	
 I& Z( tn c] sm 3- -. 12 }  !/  C=!" #:.#$ 
% r,   r/   N)abcr   enumr   typingr   r   r   chromadb.api.typesr   r	   r
   r   r   r   r   r   chromadb.configr   r   rM   r   r/   r+   r,   r-   <module>rU      s?      & &	 	 	 .
S$ 
&I &r,   