o
    g                     @   s   d dl mZ d dlmZ d dlmZmZmZmZ d dl	m
Z
mZmZmZmZ eG dd dZeG dd dZeG d	d
 d
ZeG dd dZeG dd dZdS )    )	dataclass)Optional)
EmbeddingsIDsIncludeIncludeEnum)
CollectionRequestVersionContextSegmentWhereWhereDocumentc                   @   s@   e Zd ZU eed< eed< eed< eed< edefddZdS )	Scan
collectionknnmetadatarecordreturnc                 C   s   t | jj| jjdS )N)collection_versionlog_position)r	   r   versionr   )self r   ]/var/www/visachat/venv/lib/python3.10/site-packages/chromadb/execution/expression/operator.pyr      s   zScan.versionN)	__name__
__module____qualname__r   __annotations__r
   propertyr	   r   r   r   r   r   r      s   
 r   c                   @   s>   e Zd ZU dZee ed< dZee ed< dZ	ee
 ed< dS )FilterNuser_idswherewhere_document)r   r   r   r   r   r   r   r    r   r!   r   r   r   r   r   r      s   
 r   c                   @   s   e Zd ZU eed< eed< dS )KNN
embeddingsfetchN)r   r   r   r   r   intr   r   r   r   r"      s   
 r"   c                   @   s*   e Zd ZU dZeed< dZee ed< dS )Limitr   skipNr$   )r   r   r   r'   r%   r   r$   r   r   r   r   r   r&   #   s   
 r&   c                   @   s\   e Zd ZU dZeed< dZeed< dZeed< dZeed< dZ	eed< e
defdd	Zd
S )
ProjectionFdocument	embeddingr   rankurir   c                 C   sd   t  }| jr|tj | jr|tj | jr|tj | j	r'|tj
 | jr0|tj |S )N)listr)   appendr   	documentsr*   r#   r   	metadatasr+   	distancesr,   uris)r   includesr   r   r   included1   s   zProjection.includedN)r   r   r   r)   boolr   r*   r   r+   r,   r   r   r4   r   r   r   r   r(   )   s   
 r(   N)dataclassesr   typingr   chromadb.api.typesr   r   r   r   chromadb.typesr   r	   r
   r   r   r   r   r"   r&   r(   r   r   r   r   <module>   s    