§
    ˜Štj,]  ã                   ór  — 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	Z	d dl
mZmZmZ d dlmZ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mZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' d d
l(m)Z) d dl*m+Z+ d dl,m-Z-m.Z. d dl,m/Z/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5 d dl6m7Z7m8Z8m9Z9m:Z:  G d„ dee¦  «        Z; G d„ dee¦  «        Z<dS )é    )ÚOptionalÚSequence)ÚTracebackType)ÚUUID)ÚoverrideN)ÚAdminAPIÚ	ClientAPIÚ	ServerAPI)ÚCreateCollectionConfigurationÚUpdateCollectionConfigurationÚ.validate_embedding_function_conflict_on_createÚ+validate_embedding_function_conflict_on_get)ÚSharedSystemClient)ÚCollectionMetadataÚ
DataLoaderÚ	DocumentsÚ
EmbeddableÚEmbeddingFunctionÚ
EmbeddingsÚ	GetResultÚIDsÚIncludeÚLoadableÚ	MetadatasÚQueryResultÚSchemaÚURIsÚIncludeMetadataDocumentsÚ!IncludeMetadataDocumentsDistancesÚDefaultEmbeddingFunctionÚDeleteResult)ÚUserIdentity)Úmaybe_set_tenant_and_database)ÚSettingsÚSystem)ÚDEFAULT_TENANTÚDEFAULT_DATABASE)Ú
Collection)ÚChromaAuthErrorÚChromaError)ÚDatabaseÚTenantÚWhereÚWhereDocumentc                   óþ  ‡ — e Zd ZU dZeZeed<   eZ	eed<   e
ed<   eed<   dZeed<   ee e¦   «         fdee         dee         ded	d
fˆ fd„Zeeeefdededed	d fd„¦   «         ¦   «         Zed	efd„¦   «         Zed	efd„¦   «         Ze	 dGdee         dee         d	ee         fd„¦   «         Zed	efd„¦   «         Zed
d
d
 e¦   «         d
dfdedee         dee         dee          dee!e"                  dee#e$                  ded	efd„¦   «         Z%e e¦   «         d
fdedee!e"                  dee#e$                  d	efd„¦   «         Z&e e¦   «         d
fde'dee!e"                  dee#e$                  d	efd„¦   «         Z(ed
d
d
 e¦   «         d
fdedee         dee         dee          dee!e"                  dee#e$                  d	efd„¦   «         Z)e	 	 	 dHde'd ee         d!ee          d"ee*         d	d
f
d#„¦   «         Z+eded	d
fd$„¦   «         Z,e	 	 	 dHd%e-d&e'd'e.d(ee/         d)ee0         d*ee1         d	efd+„¦   «         Z2e	 	 	 	 dId&e'd%e-d'ee.         d(ee/         d)ee0         d*ee1         d	efd,„¦   «         Z3e	 	 	 dHd&e'd%e-d'e.d(ee/         d)ee0         d*ee1         d	efd-„¦   «         Z4ed&e'd	efd.„¦   «         Z5edJd&e'd0ed	e6fd1„¦   «         Z7ed
d
d
d
d
e8fd&e'd%ee-         d2ee9         dee         dee         d3ee:         d4e;d	e6fd5„¦   «         Z<	 	 	 dHd&e'd%ee-         d2ee9         d3ee:         dee         d	e=fd6„Z>ed
d/d
d
e?fd&e'd7e.d%ee-         d8ed2ee9         d3ee:         d4e;d	e@fd9„¦   «         ZAed	efd:„¦   «         ZBed	efd;„¦   «         ZCed	efd<„¦   «         ZDed	efd=„¦   «         ZEeefdeded	d
fd>„¦   «         ZFeded	d
fd?„¦   «         ZGdKd@„ZHdLdA„ZIdBeeJeK                  dCeeK         dDeeL         d	d
fdE„ZMdeded	d
fdF„ZNˆ xZOS )MÚClientaµ  A client for Chroma. This is the main entrypoint for interacting with Chroma.
    A client internally stores its tenant and database and proxies calls to a
    Server API instance of Chroma. It treats the Server API and corresponding System
    as a singleton, so multiple clients connecting to the same resource will share the
    same API instance.

    Client implementations should be implement their own API-caching strategies.
    ÚtenantÚdatabaseÚ_serverÚ_admin_clientFÚ_closedÚsettingsÚreturnNc                 óæ  •— t          ¦   «                              |¬¦  «         	 |�|| _        |�|| _        | j                             t          ¦  «        | _        |                      ¦   «         }t          ||j
        ||¬¦  «        \  }}|€|€t          d¦  «        ‚|€|€t          d¦  «        ‚|r|| _        |r|| _        t                               | j        ¦  «        | _        |                      | j        | j        ¬¦  «         |                      ¦   «          d S # t"          $ rI t%          | d¦  «        rt'          j        | j        j        ¦  «         t'          j        | j        ¦  «         ‚ w xY w)N©r6   )Ú4overwrite_singleton_tenant_database_access_from_authÚuser_provided_tenantÚuser_provided_databasez]Could not determine a tenant from the current authentication method. Please provide a tenant.zkCould not determine a database name from the current authentication method. Please provide a database name.©r1   r2   r4   )ÚsuperÚ__init__r1   r2   Ú_systemÚinstancer
   r3   Úget_user_identityr#   Ú;chroma_overwrite_singleton_tenant_database_access_from_authr)   ÚAdminClientÚfrom_systemr4   Ú_validate_tenant_databaseÚ_submit_client_start_eventÚ	ExceptionÚhasattrr   Ú_release_systemÚ_identifier)Úselfr1   r2   r6   Úuser_identityÚmaybe_tenantÚmaybe_databaseÚ	__class__s          €úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/chromadb/api/client.pyr?   zClient.__init__?   s¨  ø€ õ 	‰Œ×Ò (ÐÑ+Ô+Ð+ð-	ØÐ!Ø$�”ØÐ#Ø (�”ð  œ<×0Ò0µÑ;Ô;ˆDŒLà ×2Ò2Ñ4Ô4ˆMå+HØØEMô  FJØ%+Ø'/ð	,ñ ,ô ,Ñ(ˆL˜.ð Ð#¨¨Ý%Øsñô ð ð Ð%¨(Ð*:Ý%ð Bñô ð ð ð +Ø*�”Øð /Ø .�”õ "-×!8Ò!8¸¼Ñ!FÔ!FˆDÔØ×*Ò*°$´+ÈÌÐ*ÑVÔVÐVà×+Ò+Ñ-Ô-Ð-Ð-Ð-øÝð 	ð 	ð 	õ �t˜_Ñ-Ô-ð SÝ"Ô2°4Ô3EÔ3QÑRÔRÐRÝÔ.¨tÔ/?Ñ@Ô@Ð@Øð	øøøs   ¥C6D ÄAE0Úsystemc                 óT   — t          j        |¦  «          | |||j        ¬¦  «        }|S )N)r1   r2   r6   ©r   Ú_populate_data_from_systemr6   )ÚclsrR   r1   r2   rA   s        rQ   rE   zClient.from_systemu   s2   € õ 	Ô5°fÑ=Ô=Ð=Ø�3˜f¨xÀ&Ä/ÐRÑRÔRˆØˆó    c                 óê   — 	 | j                              ¦   «         S # t          j        $ r t	          d¦  «        ‚t
          $ r}|‚d }~wt          $ r!}t	          t          |¦  «        ¦  «        ‚d }~ww xY w)NúACould not connect to a Chroma server. Are you sure it is running?)r3   rB   ÚhttpxÚConnectErrorÚ
ValueErrorr*   rH   Ústr)rL   Úes     rQ   rB   zClient.get_user_identityƒ   s•   € ð
	%Ø”<×1Ò1Ñ3Ô3Ð3øÝÔ!ð 	ð 	ð 	ÝØSñô ð õ ð 	ð 	ð 	ØˆGøøøøÝð 	%ð 	%ð 	%Ý�S ™VœVÑ$Ô$Ð$øøøøð	%øøøs!   ‚ ›'A2ÁAÁA2ÁA-Á-A2c                 ó4   — | j                              ¦   «         S )z2Return the server time in nanoseconds since epoch.)r3   Ú	heartbeat©rL   s    rQ   r`   zClient.heartbeat“   s   € ð Œ|×%Ò%Ñ'Ô'Ð'rW   ÚlimitÚoffsetc                 ól   ‡ — ˆ fd„‰ j                              ||‰ j        ‰ j        ¬¦  «        D ¦   «         S )z®List collections for the current tenant and database, with pagination.

        Returns:
            Sequence[Collection]: Collection objects for the current tenant.
        c                 ó<   •— g | ]}t          ‰j        |¬ ¦  «        ‘ŒS ))ÚclientÚmodel)r(   r3   )Ú.0rg   rL   s     €rQ   ú
<listcomp>z+Client.list_collections.<locals>.<listcomp>¡   s8   ø€ ð 
ð 
ð 
àõ ˜dœl°%Ð8Ñ8Ô8ð
ð 
ð 
rW   r=   )r3   Úlist_collectionsr1   r2   )rL   rb   rc   s   `  rQ   rj   zClient.list_collections˜   sR   ø€ ð
ð 
ð 
ð 
àœ×6Ò6Ø�v d¤k¸D¼Mð 7ñ ô ð
ñ 
ô 
ð 	
rW   c                 óN   — | j                              | j        | j        ¬¦  «        S )z9Return the number of collections in the current database.r=   )r3   Úcount_collectionsr1   r2   ra   s    rQ   rl   zClient.count_collections¨   s,   € ð Œ|×-Ò-Ø”;¨¬ð .ñ 
ô 
ð 	
rW   ÚnameÚschemaÚconfigurationÚmetadataÚembedding_functionÚdata_loaderÚget_or_createc           	      óì   — |€i }|                      d¦  «        }t          ||¦  «         |�|€||d<   | j                             |||| j        | j        ||¬¦  «        }	t          | j        |	||¬¦  «        S )aI  Create a collection with optional configuration and metadata.

        If using a schema, do not provide `embedding_function`. Instead,
        provide the `embedding_function` as part of the schema.

        Args:
            name: Collection name.
            schema: Optional collection schema for indexes and encryption.
            configuration: Optional collection configuration.
            metadata: Optional collection metadata.
            embedding_function: Optional embedding function for the collection.
            data_loader: Optional data loader for documents with URIs.
            get_or_create: Whether to return an existing collection if present.

        Returns:
            Collection: The created collection.

        Raises:
            ValueError: If the embedding function conflicts with configuration.
        Nrq   )rm   rn   rp   r1   r2   rs   ro   ©rf   rg   rq   rr   )Úgetr   r3   Úcreate_collectionr1   r2   r(   )
rL   rm   rn   ro   rp   rq   rr   rs   Úconfiguration_efrg   s
             rQ   rw   zClient.create_collection¯   s²   € ðB Ð ØˆMà(×,Ò,Ð-AÑBÔBÐå6ØÐ 0ñ	
ô 	
ð 	
ð Ð)Ð.>Ð.FØ2DˆMÐ.Ñ/à”×.Ò.ØØØØ”;Ø”]Ø'Ø'ð /ñ 
ô 
ˆõ Ø”<ØØ1Ø#ð	
ñ 
ô 
ð 	
rW   c                 óÔ   — | j                              || j        | j        ¬¦  «        }|j                             d¦  «        }t          ||¦  «         t          | j         |||¬¦  «        S )a�  Get a collection by name.

        Args:
            name: Collection name.
            embedding_function: Optional embedding function for the collection.
            data_loader: Optional data loader for documents with URIs.

        Returns:
            Collection: The requested collection.

        Raises:
            ValueError: If the embedding function conflicts with configuration.
        ©rm   r1   r2   rq   ru   )r3   Úget_collectionr1   r2   Úconfiguration_jsonrv   r   r(   )rL   rm   rq   rr   rg   Úpersisted_ef_configs         rQ   r{   zClient.get_collectionî   s†   € ð, ”×+Ò+ØØ”;Ø”]ð ,ñ 
ô 
ˆð
 $Ô6×:Ò:Ð;OÑPÔPÐå3ØÐ 3ñ	
ô 	
ð 	
õ Ø”<ØØ1Ø#ð	
ñ 
ô 
ð 	
rW   Úidc                 óÔ   — | j                              || j        | j        ¬¦  «        }|j                             d¦  «        }t          ||¦  «         t          | j         |||¬¦  «        S )a›  Get a collection by its ID.

        Args:
            id: The UUID of the collection.
            embedding_function: Optional embedding function for the collection.
            data_loader: Optional data loader for documents with URIs.

        Returns:
            Collection: The requested collection.

        Raises:
            ValueError: If the embedding function conflicts with configuration.
        ©Úcollection_idr1   r2   rq   ru   )r3   Úget_collection_by_idr1   r2   r|   rv   r   r(   )rL   r~   rq   rr   rg   r}   s         rQ   r‚   zClient.get_collection_by_id  s†   € ð, ”×1Ò1ØØ”;Ø”]ð 2ñ 
ô 
ˆð
 $Ô6×:Ò:Ð;OÑPÔPÐå3ØÐ 3ñ	
ô 	
ð 	
õ Ø”<ØØ1Ø#ð	
ñ 
ô 
ð 	
rW   c                 ó>  — |€i }|                      d¦  «        }t          ||¦  «         |�|€||d<   | j                             |||| j        | j        |¬¦  «        }|j                              d¦  «        }	t          ||	¦  «         t          | j        |||¬¦  «        S )a9  Get an existing collection or create a new one.

        If the collection does not exist, it will be created. If the collection
        already exists, the schema, configuration, and metadata arguments
        will be ignored.

        Args:
            name: Collection name.
            schema: Optional collection schema for indexes and encryption.
            configuration: Optional collection configuration.
            metadata: Optional collection metadata.
            embedding_function: Optional embedding function for the collection.
            data_loader: Optional data loader for URI-backed data.

        Returns:
            Collection: The existing or newly created collection.

        Raises:
            ValueError: If the embedding function does not match the collection's embedding function.
        Nrq   )rm   rn   rp   r1   r2   ro   ru   )	rv   r   r3   Úget_or_create_collectionr1   r2   r|   r   r(   )
rL   rm   rn   ro   rp   rq   rr   rx   rg   r}   s
             rQ   r„   zClient.get_or_create_collection>  sá   € ð@ Ð ØˆMà(×,Ò,Ð-AÑBÔBÐå6ØÐ 0ñ	
ô 	
ð 	
ð Ð)Ð.>Ð.FØ2DˆMÐ.Ñ/Ø”×5Ò5ØØØØ”;Ø”]Ø'ð 6ñ 
ô 
ˆð $Ô6×:Ò:Ð;OÑPÔPÐå3ØÐ 3ñ	
ô 	
ð 	
õ Ø”<ØØ1Ø#ð	
ñ 
ô 
ð 	
rW   Únew_nameÚnew_metadataÚnew_configurationc                 óV   — | j                              || j        | j        |||¬¦  «        S )N)r~   r1   r2   r…   r†   r‡   )r3   Ú_modifyr1   r2   )rL   r~   r…   r†   r‡   s        rQ   r‰   zClient._modify  s9   € ð Œ|×#Ò#ØØ”;Ø”]ØØ%Ø/ð $ñ 
ô 
ð 	
rW   c                 óP   — | j                              || j        | j        ¬¦  «        S )Nrz   )r3   Údelete_collectionr1   r2   ©rL   rm   s     rQ   r‹   zClient.delete_collection�  s0   € ð
 Œ|×-Ò-ØØ”;Ø”]ð .ñ 
ô 
ð 	
rW   Úidsr�   Ú
embeddingsÚ	metadatasÚ	documentsÚurisc           
      óZ   — | j                              || j        | j        |||||¬¦  «        S )N)r�   r1   r2   r�   rŽ   r�   r�   r‘   )r3   Ú_addr1   r2   )rL   r�   r�   rŽ   r�   r�   r‘   s          rQ   r“   zClient._addŸ  s?   € ð Œ|× Ò ØØ”;Ø”]Ø'Ø!ØØØð !ñ 	
ô 	
ð 		
rW   c           
      óZ   — | j                              || j        | j        |||||¬¦  «        S ©N)r�   r1   r2   r�   rŽ   r�   r�   r‘   )r3   Ú_updater1   r2   ©rL   r�   r�   rŽ   r�   r�   r‘   s          rQ   r–   zClient._update´  ó?   € ð Œ|×#Ò#Ø'Ø”;Ø”]ØØ!ØØØð $ñ 	
ô 	
ð 		
rW   c           
      óZ   — | j                              || j        | j        |||||¬¦  «        S r•   )r3   Ú_upsertr1   r2   r—   s          rQ   rš   zClient._upsertÉ  r˜   rW   c                 óP   — | j                              || j        | j        ¬¦  «        S )Nr€   )r3   Ú_countr1   r2   )rL   r�   s     rQ   rœ   zClient._countÞ  s.   € àŒ|×"Ò"Ø'Ø”;Ø”]ð #ñ 
ô 
ð 	
rW   é
   Únc                 óR   — | j                              ||| j        | j        ¬¦  «        S )N)r�   rž   r1   r2   )r3   Ú_peekr1   r2   )rL   r�   rž   s      rQ   r    zClient._peekæ  s1   € àŒ|×!Ò!Ø'ØØ”;Ø”]ð	 "ñ 
ô 
ð 	
rW   ÚwhereÚwhere_documentÚincludec                 ó\   — | j                              || j        | j        ||||||¬¦	  «	        S )N)	r�   r1   r2   r�   r¡   rb   rc   r¢   r£   )r3   Ú_getr1   r2   )rL   r�   r�   r¡   rb   rc   r¢   r£   s           rQ   r¥   zClient._getï  sB   € ð Œ|× Ò Ø'Ø”;Ø”]ØØØØØ)Øð !ñ 

ô 

ð 
	
rW   c           	      óX   — | j                              || j        | j        ||||¬¦  «        S )N)r�   r1   r2   r�   r¡   r¢   rb   )r3   Ú_deleter1   r2   )rL   r�   r�   r¡   r¢   rb   s         rQ   r§   zClient._delete  s<   € ð Œ|×#Ò#Ø'Ø”;Ø”]ØØØ)Øð $ñ 
ô 
ð 	
rW   Úquery_embeddingsÚ	n_resultsc                 ó\   — | j                              ||| j        | j        |||||¬¦	  «	        S )N)	r�   r�   r1   r2   r¨   r©   r¡   r¢   r£   )r3   Ú_queryr1   r2   )rL   r�   r¨   r�   r©   r¡   r¢   r£   s           rQ   r«   zClient._query  sB   € ð Œ|×"Ò"Ø'ØØ”;Ø”]Ø-ØØØ)Øð #ñ 

ô 

ð 
	
rW   c                 ó4   — | j                              ¦   «         S ©N)r3   Úresetra   s    rQ   r®   zClient.reset/  s   € àŒ|×!Ò!Ñ#Ô#Ð#rW   c                 ó4   — | j                              ¦   «         S r­   )r3   Úget_versionra   s    rQ   r°   zClient.get_version3  s   € àŒ|×'Ò'Ñ)Ô)Ð)rW   c                 ó4   — | j                              ¦   «         S r­   )r3   Úget_settingsra   s    rQ   r²   zClient.get_settings7  s   € àŒ|×(Ò(Ñ*Ô*Ð*rW   c                 ó4   — | j                              ¦   «         S r­   )r3   Úget_max_batch_sizera   s    rQ   r´   zClient.get_max_batch_size;  s   € àŒ|×.Ò.Ñ0Ô0Ð0rW   c                 óP   — |                       ||¬¦  «         || _        || _        d S ©Nr=   ©rF   r1   r2   )rL   r1   r2   s      rQ   Ú
set_tenantzClient.set_tenantC  s-   € à×&Ò&¨f¸xÐ&ÑHÔHÐHØˆŒØ ˆŒˆˆrW   c                 óL   — |                       | j        |¬¦  «         || _        d S r¶   r·   )rL   r2   s     rQ   Úset_databasezClient.set_databaseI  s(   € à×&Ò&¨d¬kÀHÐ&ÑMÔMÐMØ ˆŒˆˆrW   c                 ó´   — | j         rdS d| _         t          | d¦  «        rt          j        | j        j        ¦  «         t          j        | j        ¦  «         dS )aÎ  Close the client and release all resources.

        This method decrements the reference count for the underlying System.
        When the last client using a shared System calls close(), the System
        is stopped and all resources (database connections, etc.) are released.

        This is particularly important for PersistentClient to avoid SQLite
        file locking issues.

        Note: If multiple clients share the same System (e.g., multiple PersistentClient
        instances with the same path), the System will only be stopped when the last
        client is closed. This allows safe use of context managers with multiple clients.

        Example:
            >>> client = chromadb.PersistentClient(path="./chroma_db")
            >>> # ... use client ...
            >>> client.close()

            Or using context manager:
            >>> with chromadb.PersistentClient(path="./chroma_db") as client:
            ...     # ... use client ...
        NTr4   )r5   rI   r   rJ   r4   rK   ra   s    rQ   ÚclosezClient.closeN  sb   € ð0 Œ<ð 	ØˆFØˆŒõ �4˜Ñ)Ô)ð 	OÝÔ.¨tÔ/AÔ/MÑNÔNÐNõ 	Ô*¨4Ô+;Ñ<Ô<Ð<Ð<Ð<rW   c                 ó   — | S )zContext manager entry.© ra   s    rQ   Ú	__enter__zClient.__enter__r  s   € àˆrW   Úexc_typeÚexc_valÚexc_tbc                 ó.   — |                       ¦   «          dS )zContext manager exit.N)r¼   )rL   rÀ   rÁ   rÂ   s       rQ   Ú__exit__zClient.__exit__v  s   € ð 	�
Š
‰ŒˆˆˆrW   c                 óX  — 	 | j                              |¬¦  «         nM# t          j        $ r t	          d¦  «        ‚t
          $ r}|‚d }~wt          $ r t	          d|› d�¦  «        ‚w xY w	 | j                              ||¬¦  «         d S # t          j        $ r t	          d¦  «        ‚w xY w)N©rm   rY   zCould not connect to tenant z. Are you sure it exists?©rm   r1   )r4   Ú
get_tenantrZ   r[   r\   r*   rH   Úget_database)rL   r1   r2   r^   s       rQ   rF   z Client._validate_tenant_database  s   € ð	ØÔ×)Ò)¨vÐ)Ñ6Ô6Ð6Ð6øÝÔ!ð 	ð 	ð 	ÝØSñô ð õ ð 	ð 	ð 	ØˆGøøøøÝð 	ð 	ð 	ÝØP¨vÐPÐPÐPñô ð ð	øøøð
	ØÔ×+Ò+°À&Ð+ÑIÔIÐIÐIÐIøÝÔ!ð 	ð 	ð 	ÝØSñô ð ð	øøøs!   ‚ ž'A(ÁAÁ!A(Á,B
 Â
B))NN)NNN)NNNN)r�   )r7   N)r7   r0   )PÚ__name__Ú
__module__Ú__qualname__Ú__doc__r&   r1   r]   Ú__annotations__r'   r2   r
   r   r5   Úboolr$   r   r?   Úclassmethodr   r%   rE   r"   rB   Úintr`   r   r(   rj   rl   r    r   r   r   r   r   r   r   rw   r{   r   r‚   r„   r   r‰   r‹   r   r   r   r   r   r“   r–   rš   rœ   r   r    r   r-   r.   r   r¥   r!   r§   r   r   r«   r®   r°   r²   r´   r¸   rº   r¼   r¿   ÚtypeÚBaseExceptionr   rÄ   rF   Ú__classcell__©rP   s   @rQ   r0   r0   ,   s#
  ø€ € € € € € ðð ð !€FˆCÐ Ð Ñ Ø$€HˆcÐ$Ð$Ñ$àÐÐÑàÐÐÑØ€GˆTÐÐÑð
 !/Ø"2Ø%˜X™ZœZð	4ð 4à˜”ð4ð ˜3”-ð4ð ð	4ð
 
ð4ð 4ð 4ð 4ð 4ð 4ðl Øð %Ø(ð	ð àðð ðð ð	ð
 
ðð ð ñ „Xñ „[ðð ð% <ð %ð %ð %ñ „Xð%ð ð(˜3ð (ð (ð (ñ „Xð(ð àCGð
ð 
Ø˜c”]ð
Ø3;¸C´=ð
à	�*Ô	ð
ð 
ð 
ñ „Xð
ð ð
 3ð 
ð 
ð 
ñ „Xð
ð ð $(ØAEØ15ð %Ð$Ñ&Ô&Ø6:Ø#ð<
ð <
àð<
ð ˜Ô ð<
ð  Ð =Ô>ð	<
ð
 Ð-Ô.ð<
ð %Ø˜jÔ)ô
ð<
ð ˜j¨Ô2Ô3ð<
ð ð<
ð 
ð<
ð <
ð <
ñ „Xð<
ð| ð %Ð$Ñ&Ô&Ø6:ð%
ð %
àð%
ð %Ø˜jÔ)ô
ð%
ð ˜j¨Ô2Ô3ð%
ð 
ð%
ð %
ð %
ñ „Xð%
ðN ð %Ð$Ñ&Ô&Ø6:ð%
ð %
àð%
ð %Ø˜jÔ)ô
ð%
ð ˜j¨Ô2Ô3ð%
ð 
ð%
ð %
ð %
ñ „Xð%
ðN ð $(ØAEØ15ð %Ð$Ñ&Ô&Ø6:ð>
ð >
àð>
ð ˜Ô ð>
ð  Ð =Ô>ð	>
ð
 Ð-Ô.ð>
ð %Ø˜jÔ)ô
ð>
ð ˜j¨Ô2Ô3ð>
ð 
ð>
ð >
ð >
ñ „Xð>
ð@ ð #'Ø59ØEIð
ð 
àð
ð ˜3”-ð
ð Ð1Ô2ð	
ð
 $Ð$AÔBð
ð 
ð
ð 
ð 
ñ „Xð
ð  ð
àð
ð 
ð
ð 
ð 
ñ „Xð
ð ð *.Ø)-Ø#ð
ð 
àð
ð ð
ð ð	
ð
 ˜IÔ&ð
ð ˜IÔ&ð
ð �tŒnð
ð 
ð
ð 
ð 
ñ „Xð
ð( ð
 ,0Ø)-Ø)-Ø#ð
ð 
àð
ð ð
ð ˜ZÔ(ð	
ð
 ˜IÔ&ð
ð ˜IÔ&ð
ð �tŒnð
ð 
ð
ð 
ð 
ñ „Xð
ð( ð *.Ø)-Ø#ð
ð 
àð
ð ð
ð ð	
ð
 ˜IÔ&ð
ð ˜IÔ&ð
ð �tŒnð
ð 
ð
ð 
ð 
ñ „Xð
ð( ð
 Dð 
¨Sð 
ð 
ð 
ñ „Xð
ð ð
ð 
 4ð 
¨Cð 
¸ð 
ð 
ð 
ñ „Xð
ð ð "Ø!%Ø#Ø $Ø26Ø3ð
ð 
àð
ð �cŒ]ð
ð ˜Œð	
ð
 ˜Œ}ð
ð ˜”ð
ð ! Ô/ð
ð ð
ð 
ð
ð 
ð 
ñ „Xð
ð4 "&Ø26Ø#ð
ð 
àð
ð �cŒ]ð
ð ˜Œð	
ð
 ! Ô/ð
ð ˜Œ}ð
ð 
ð
ð 
ð 
ð 
ð$ ð
 "ØØ!%Ø26Ø<ð
ð 
àð
ð %ð
ð �cŒ]ð	
ð
 ð
ð ˜Œð
ð ! Ô/ð
ð ð
ð 
ð
ð 
ð 
ñ „Xð
ð, ð$�tð $ð $ð $ñ „Xð$ð ð*˜Sð *ð *ð *ñ „Xð*ð ð+˜hð +ð +ð +ñ „Xð+ð ð1 Cð 1ð 1ð 1ñ „Xð1ð Ø6Fð !ð ! ð !°ð !È4ð !ð !ð !ñ „Xð!ð
 ð! Sð !¨Tð !ð !ð !ñ „Xð!ð"=ð "=ð "=ð "=ðHð ð ð ðà˜4 Ô.Ô/ðð ˜-Ô(ðð ˜Ô'ð	ð
 
ðð ð ð ð°ð ¸sð Àtð ð ð ð ð ð ð ð rW   r0   c                   óˆ  ‡ — e Zd ZU dZeed<    e¦   «         fdeddfˆ fd„Zee	fde
de
ddfd	„¦   «         Zee	fde
de
defd
„¦   «         Zee	fde
de
ddfd„¦   «         Zedde	fdee         dee         de
dee         fd„¦   «         Zede
ddfd„¦   «         Zede
defd„¦   «         Zeededd fd„¦   «         ¦   «         Zˆ xZS )rD   z0Admin client for managing tenants and databases.r3   r6   r7   Nc                 ó’   •— t          ¦   «                              |¦  «         | j                             t          ¦  «        | _        d S r­   )r>   r?   r@   rA   r
   r3   )rL   r6   rP   s     €rQ   r?   zAdminClient.__init__�  s6   ø€ Ý‰Œ×Ò˜Ñ"Ô"Ð"Ø”|×,Ò,­YÑ7Ô7ˆŒˆˆrW   rm   r1   c                 ó:   — | j                              ||¬¦  «        S )zŠCreate a database in a tenant.

        Args:
            name: Database name.
            tenant: Tenant that owns the database.
        rÇ   )r3   Úcreate_database©rL   rm   r1   s      rQ   rÙ   zAdminClient.create_database¡  ó   € ð Œ|×+Ò+°¸fÐ+ÑEÔEÐErW   c                 ó:   — | j                              ||¬¦  «        S )zÀGet a database by name.

        Args:
            name: Database name.
            tenant: Tenant that owns the database.

        Returns:
            Database: The database record.
        rÇ   )r3   rÉ   rÚ   s      rQ   rÉ   zAdminClient.get_database«  s   € ð Œ|×(Ò(¨d¸6Ð(ÑBÔBÐBrW   c                 ó:   — | j                              ||¬¦  «        S )z†Delete a database by name.

        Args:
            name: Database name.
            tenant: Tenant that owns the database.
        rÇ   )r3   Údelete_databaserÚ   s      rQ   rÞ   zAdminClient.delete_database¸  rÛ   rW   rb   rc   c                 ó<   — | j                              |||¬¦  «        S )N)r1   )r3   Úlist_databases)rL   rb   rc   r1   s       rQ   rà   zAdminClient.list_databasesÂ  s!   € ð Œ|×*Ò*¨5°&ÀÐ*ÑHÔHÐHrW   c                 ó8   — | j                              |¬¦  «        S ©NrÆ   )r3   Úcreate_tenantrŒ   s     rQ   rã   zAdminClient.create_tenantË  s   € àŒ|×)Ò)¨tÐ)Ñ4Ô4Ð4rW   c                 ó8   — | j                              |¬¦  «        S râ   )r3   rÈ   rŒ   s     rQ   rÈ   zAdminClient.get_tenantÏ  s   € àŒ|×&Ò&¨DÐ&Ñ1Ô1Ð1rW   rR   c                 óP   — t          j        |¦  «          | |j        ¬¦  «        }|S )Nr9   rT   )rV   rR   rA   s      rQ   rE   zAdminClient.from_systemÓ  s.   € õ 	Ô5°fÑ=Ô=Ð=Ø�3 ¤Ð0Ñ0Ô0ˆØˆrW   )rÊ   rË   rÌ   rÍ   r
   rÎ   r$   r?   r   r&   r]   rÙ   r+   rÉ   rÞ   r   rÑ   r   rà   rã   r,   rÈ   rÐ   r%   rE   rÔ   rÕ   s   @rQ   rD   rD   ˜  s@  ø€ € € € € € Ø:Ð:àÐÐÑà,4¨H©J¬Jð 8ð 8 ð 8¸4ð 8ð 8ð 8ð 8ð 8ð 8ð Ø7Eð Fð F Cð F°ð FÈ$ð Fð Fð Fñ „XðFð Ø4Bð 
Cð 
C ð 
C¨cð 
CÀxð 
Cð 
Cð 
Cñ „Xð
Cð Ø7Eð Fð F Cð F°ð FÈ$ð Fð Fð Fñ „XðFð ð  $Ø $Ø$ð	Ið Ià˜Œ}ðIð ˜”ðIð ð	Ið
 
�(Ô	ðIð Ið Iñ „XðIð ð5 #ð 5¨$ð 5ð 5ð 5ñ „Xð5ð ð2˜sð 2 vð 2ð 2ð 2ñ „Xð2ð Øðàðð 
ðð ð ñ „Xñ „[ðð ð ð ð rW   rD   )=Útypingr   r   Útypesr   Úuuidr   Ú	overridesr   rZ   Úchromadb.apir   r	   r
   Ú%chromadb.api.collection_configurationr   r   r   r   Ú!chromadb.api.shared_system_clientr   Úchromadb.api.typesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   Úchromadb.authr"   Úchromadb.auth.utilsr#   Úchromadb.configr$   r%   r&   r'   Úchromadb.api.models.Collectionr(   Úchromadb.errorsr)   r*   Úchromadb.typesr+   r,   r-   r.   r0   rD   r¾   rW   rQ   ú<module>rô      s®  ðØ %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø €€€Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ðð ð ð ð ð ð ð ð ð ð ð ð AÐ @Ð @Ð @Ð @Ð @ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð( 'Ð &Ð &Ð &Ð &Ð &Ø =Ð =Ð =Ð =Ð =Ð =Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aðg	ð g	ð g	ð g	ð g	Ð ñ g	ô g	ð g	ðXCð Cð Cð Cð CÐ$ hñ Cô Cð Cð Cð CrW   