
    LKi]U                        S SK Jr  S SKJrJrJrJrJrJrJ	r	J
r
JrJrJr  S SKJr  \(       a  S SKJr  S SKJrJrJrJr  S SKJr  S SKJrJrJrJr  S SKJr  S S	K J!r!J"r"J#r#J$r$J%r%J&r&  S S
K'J(r(J)r)J*r*J+r+J,r,J-r-  S SK.J/r/J0r0J1r2  S SK3J4r4  S SK5r5S SK J6r6J7r7J8r8J9r9J:r:J;r;  S SK<J=r=  S SK>J?r?  S SK@r@S SKArA\AR                  " 5       S:w  a  S SKCrCO\AR                  " 5       S:X  a  S SKDrD " S S\5      rEg)    )TYPE_CHECKING)CollectionMetadata
Embeddings	GetResultIDsWhereWhereDocumentInclude	Documents	MetadatasQueryResultURIs)	ServerAPI)AttachedFunction)CreateCollectionConfigurationUpdateCollectionConfiguration+create_collection_configuration_to_json_str+update_collection_configuration_to_json_str)UserIdentity)DEFAULT_DATABASEDEFAULT_TENANTSettingsSystem)ProductTelemetryClient)CollectionAddEventCollectionDeleteEventCollectionGetEventCollectionUpdateEventCollectionQueryEventClientCreateCollectionEvent)IncludeMetadataDocuments!IncludeMetadataDocumentsDistances"IncludeMetadataDocumentsEmbeddings	ReadLevelSchemaSearchResult)DatabaseTenant
Collection)SearchN)OptionalSequenceListDictAnyTuple)override)UUIDWindowsc                     ^  \ rS rSr% \R
                  \S'   \\S'   \\S'   S\	4U 4S jjr
\SQS	 j5       r\SQS
 j5       r\\4S\S\SS4S jj5       r\\4S\S\S\4S jj5       r\\4S\S\SS4S jj5       r\SS\4S\\   S\\   S\S\\   4S jj5       r\S\SS4S j5       r\S\S\4S j5       r\S\4S j5       r\\\4S\S\S\4S jj5       r\SS\\4S\\   S\\   S\S\S\\   4
S jj5       r\SSSS\\4S\S\\   S\\    S\\!   S\"S\S\S\4S jj5       r#\\\4S\S\S\S\4S jj5       r$\SSS\\4S\S\\   S\\    S\\!   S\S\S\4S  jj5       r%\\\4S\S\S\SS4S! jj5       r&\SSS\\4S"\'S#\\   S$\\!   S%\\(   S\S\SS4S& jj5       r)\\\4S'\'S#\S\S\S\4
S( jj5       r*\\\4S'\'S\S\SS)4S* jj5       r+\\\\,RZ                  4S'\'S+\.\/   S\S\S,\,S\04S- jj5       r1\\\4S'\'S\S\S\4S. jj5       r2\S/\\4S'\'S0\S\S\S\34
S1 jj5       r4\SSSSS\5\\4S'\'S2\\6   S3\\7   S\\   S\\   S4\\8   S5\9S\S\S\34S6 jj5       r:\SSS\\4S2\6S'\'S7\;S8\\<   S9\\=   S:\\>   S\S\S\"4S; jj5       r?\SSSS\\4S'\'S2\6S7\\;   S8\\<   S9\\=   S:\\>   S\S\S\"4S< jj5       r@\SSS\\4S'\'S2\6S7\;S8\\<   S9\\=   S:\\>   S\S\S\"4S= jj5       rA\SS/SS\B\\4S'\'S>\;S2\\6   S?\S3\\7   S4\\8   S5\9S\S\S\C4S@ jj5       rD\SSS\\4S'\'S2\\6   S3\\7   S4\\8   S\S\SS4SA jj5       rE\S\"4SB j5       rF\S\4SC j5       rG\S\H4SD j5       rI\S\4SE j5       rJ\S\\4SF\S\SG\'SH\SI\\K\\L4      S\S\S\MSJ\"4   4SK jj5       rN\\\4S\SG\'S\S\SSJ4
SL jj5       rO\S\\4S\SG\'SM\"S\S\S\"4SN jj5       rP\S\Q4SO j5       rRSPrSU =rT$ )RRustBindingsAPII   bindingshnsw_cache_sizeproduct_telemetry_clientsystemc                 >  > [         TU ]  U5        U R                  [        5      U l        [
        R                  " 5       S:w  a(  [        R                  " [        R                  5      S   nO([        R                  R                  R                  5       nUS-  U l        g )Nr3   r      )super__init__requirer   r9   platformr:   resource	getrlimitRLIMIT_NOFILEctypeswindllmsvcrt_getmaxstdior8   )selfr:   max_file_handles	__class__s      S/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/chromadb/api/rust.pyr>   RustBindingsAPI.__init__N   s{     (,5K(L%??	)'11(2H2HI!L%}}33@@B  	    returnNc                    U R                   R                  R                  S5      (       a+  U R                   R                  R                  S5      nUS-   nOS nS nU R                   R                  R                  S5      nUS:X  a  [        R                  R
                  O[        R                  R                  nU R                   R                  R                  S5      nUS:X  a  [        R                  R                  O[        R                  R                  n[        R                  " UUUS9n[        R                  " U R                   R                  R                  S	5      UUU R                  S
9U l        g )Nis_persistentpersist_directoryz/chroma.sqlite3migrations_hash_algorithmmd5
migrationsapply)	hash_typemigration_modeurlallow_reset)rY   sqlite_db_configpersist_pathr8   )_systemsettingsr?   chromadb_rust_bindingsMigrationHashMD5SHA256MigrationModeApplyValidateSqliteDBConfigBindingsr8   r7   )rH   r[   sqlite_persist_pathrV   hash_type_bindingsrW   migration_mode_bindingssqlite_configs           rK   startRustBindingsAPI.start]   s<    <<  ((99<<00889LML".1B"BL"&LL))112MN	 E! #0044'55<< 	
 ..66|D ( #0066'55>> 	 
 /==(2#
 /77--55mD*% 00	
rM   c                     U ? g N)r7   rH   s    rK   stopRustBindingsAPI.stop   s    MrM   nametenantc                 8    U R                   R                  X5      $ rn   )r7   create_databaserH   rr   rs   s      rK   ru   RustBindingsAPI.create_database       }},,T::rM   c                     U R                   R                  X5      nUR                  UR                  UR                  S.$ N)idrr   rs   )r7   get_databaser{   rr   rs   rH   rr   rs   databases       rK   r|   RustBindingsAPI.get_database   s5    ==--d;++MMoo
 	
rM   c                 8    U R                   R                  X5      $ rn   )r7   delete_databaserv   s      rK   r   RustBindingsAPI.delete_database   rx   rM   limitoffsetc                     U R                   R                  XU5      nU Vs/ s H'  nUR                  UR                  UR                  S.PM)     sn$ s  snf rz   )r7   list_databasesr{   rr   rs   )rH   r   r   rs   	databasesr~   s         rK   r   RustBindingsAPI.list_databases   s\     MM00G	 &
 &	 kk "//
 &
 	
 
s   .Ac                 8    U R                   R                  U5      $ rn   )r7   create_tenant)rH   rr   s     rK   r   RustBindingsAPI.create_tenant   s    }}**400rM   c                 ^    U R                   R                  U5      n[        UR                  S9$ )N)rr   )r7   
get_tenantr(   rr   rv   s      rK   r   RustBindingsAPI.get_tenant   s%    ))$/6;;''rM   c                 6    U R                   R                  5       $ rn   )r7   	heartbeatro   s    rK   r   RustBindingsAPI.heartbeat   s    }}&&((rM   r~   c                 8    U R                   R                  X5      $ rn   )r7   count_collections)rH   rs   r~   s      rK   r   !RustBindingsAPI.count_collections   s     }}..v@@rM   c                 &   U R                   R                  XX45      nU Vs/ s Hc  n[        UR                  UR                  UR
                  UR                  UR                  UR                  UR                  UR                  S9PMe     sn$ s  snf )N)r{   rr   serialized_schemaconfiguration_jsonmetadata	dimensionrs   r~   )r7   list_collectionsCollectionModelr{   rr   schemaconfigurationr   r   rs   r~   )rH   r   r   rs   r~   collections
collections          rK   r    RustBindingsAPI.list_collections   s     mm44UFU *
 *
 ==__","3"3#-#;#;#,,$..!((#,,	 *
 	
 
s   A*BFr   r   r   get_or_createc                    U R                   R                  [        [        [        5      S95        U(       a  [        X45      nOS nU(       a%  [        R                  " UR                  5       5      n	OS n	U R                  R                  UUU	UUUU5      n
[        U
R                  U
R                  U
R                  U
R                  U
R                  U
R                   U
R"                  U
R$                  S9nU$ )N)collection_uuidr{   rr   r   r   r   r   rs   r~   )r9   capturer    strr{   r   jsondumpsserialize_to_jsonr7   create_collectionr   rr   r   r   r   r   rs   r~   )rH   rr   r   r   r   r   rs   r~   configuration_json_str
schema_strr   collection_models               rK   r   !RustBindingsAPI.create_collection   s     	%%--' #B	
 %P&" &*"F$<$<$>?JJ]]44"

 +}})77(//(( **$$((	
  rM   c                     U R                   R                  XU5      n[        UR                  UR                  UR
                  UR                  UR                  UR                  UR                  UR                  S9$ )Nr   )r7   get_collectionr   r{   rr   r   r   r   r   rs   r~   )rH   rr   rs   r~   r   s        rK   r   RustBindingsAPI.get_collection  sk     ]]11$I
}})77(//(( **$$((	
 		
rM   c           	      *    U R                  XX4SXV5      $ )NT)r   )rH   rr   r   r   r   rs   r~   s          rK   get_or_create_collection(RustBindingsAPI.get_or_create_collection  s      %%-4
 	
rM   c                 <    U R                   R                  XU5        g rn   )r7   delete_collectionr}   s       rK   r   !RustBindingsAPI.delete_collection)  s     	''h?rM   r{   new_namenew_metadatanew_configurationc                 z    U(       a  [        U5      nOS nU R                  R                  [        U5      X#U5        g rn   )r   r7   update_collectionr   )rH   r{   r   r   r   rs   r~   new_configuration_json_strs           rK   _modifyRustBindingsAPI._modify2  s;     )T!*& *.&''GX-G	
rM   collection_idc                     [        S5      e)Nz6Collection forking is not implemented for Local ChromaNotImplementedError)rH   r   r   rs   r~   s        rK   _forkRustBindingsAPI._forkF  s     "D
 	
rM   IndexingStatusc                     [        S5      e)Nz3Indexing status is not implemented for Local Chromar   rH   r   rs   r~   s       rK   _get_indexing_status$RustBindingsAPI._get_indexing_statusR  s     ""WXXrM   searches
read_levelc                     [        S5      e)Nz*Search is not implemented for Local Chromar   )rH   r   r   rs   r~   r   s         rK   _searchRustBindingsAPI._search[  s     ""NOOrM   c                 L    U R                   R                  [        U5      X#5      $ rn   )r7   countr   r   s       rK   _countRustBindingsAPI._countf  s      }}""3}#5vHHrM   
   nc                 0    U R                  UUUU[        S9$ )N)r   rs   r~   include)_getr#   )rH   r   r   rs   r~   s        rK   _peekRustBindingsAPI._peeko  s)     yy6  
 	
rM   idswherewhere_documentr   c
                 ,   U(       a  [        U5      OSn
U R                  R                  [        [	        U5      U
U(       a  UOSSU;   a  U
OSSU;   a  U
OSSU;   a  U
OSS95        U R
                  R                  [	        U5      UU(       a  [        R                  " U5      OS UU=(       d    SU(       a  [        R                  " U5      OS UUU	5	      n[        UR                  UR                  UR                  UR                  US UR                  S9$ )Nr   	metadatas	documentsuris)r   	ids_countr   include_metadatainclude_documentsinclude_uris)r   
embeddingsr   r   includeddatar   )lenr9   r   r   r   r7   getr   r   r   r   r   r   r   r   )rH   r   r   r   r   r   r   r   rs   r~   
ids_amountrust_responses               rK   r   RustBindingsAPI._get  s     "%SX!
%%-- #M 2$$e!/:g/E10;w0F*A+1W+<Z!		
 ))!&DJJuDKa*8DJJ~&d

 !!$//#--###--
 	
rM   r   r   r   r   c	                    U R                   R                  [        [        U5      [	        U5      Ub  [	        U5      OSUb  [	        U5      OSUb  [	        U5      OSS95        U R
                  R                  U[        U5      UUUUUU5      $ )Nr   )r   
add_amountwith_metadatawith_documents	with_uris)r9   r   r   r   r   r7   add)	rH   r   r   r   r   r   r   rs   r~   s	            rK   _addRustBindingsAPI._add  s     	%%-- #M 2s8*3*?c#hQ+4+@s3xa&*&6#c(A	
 }}  	
 		
rM   c	                 Z   U R                   R                  [        [        U5      [	        U5      U(       a  [	        U5      OSU(       a  [	        U5      OSU(       a  [	        U5      OSU(       a  [	        U5      OSS95        U R
                  R                  [        U5      UUUUUUU5      $ )Nr   )r   update_amountwith_embeddingsr   r   r   )r9   r   r   r   r   r7   update	rH   r   r   r   r   r   r   rs   r~   s	            rK   _updateRustBindingsAPI._update  s     	%%--! #M 2!#h3=J109c)nq1:s9~'+#d)		
 }}##	
 		
rM   c	           
      X    U R                   R                  [        U5      UUUUUUU5      $ rn   )r7   upsertr   r   s	            rK   _upsertRustBindingsAPI._upsert  s8     }}##	
 		
rM   query_embeddings	n_resultsc
                 `   [        U5      n
U(       a  [        U5      OSnU R                  R                  [        [	        U5      U
UUUb  U
OSUb  U
OSSU;   a  U
OSSU;   a  U
OSSU;   a  U
OSSU;   a  U
OSS9
5        U R
                  R                  [	        U5      UUUU(       a  [        R                  " U5      OS U(       a  [        R                  " U5      OS UUU	5	      n[        UR                  UR                  UR                  UR                  US UR                  UR                  S9$ )Nr   r   r   r   	distances)
r   query_amountfiltered_ids_amountr  with_metadata_filterwith_document_filterinclude_metadatasr   r   include_distances)r   r   r   r   r   r   r   r  )r   r9   r   r   r   r7   queryr   r   r   r   r   r   r   r   r  )rH   r   r  r   r  r   r   r   rs   r~   r  r  r   s                rK   _queryRustBindingsAPI._query  s*    +,*-c#h1%%--  #M 2)$7#5:5F\A5C5O\UV2=2H,a2=2H,a-3w->\A2=2H,a	
 ++!&DJJuD*8DJJ~&d

 !!$//#--###--#--	
 		
rM   c                 ,   U R                   R                  [        [        U5      SS95        U R                  R                  [        U5      UU(       a  [        R                  " U5      OS U(       a  [        R                  " U5      UU5      $ S UU5      $ )Nr   )r   delete_amount)r9   r   r   r   r7   deleter   r   )rH   r   r   r   r   rs   r~   s          rK   _deleteRustBindingsAPI._delete=  s     	%%--! !$M 2		
 }}##!&DJJuD*8DJJ~&
 	
 ?C
 	
rM   c                 6    U R                   R                  5       $ rn   )r7   resetro   s    rK   r  RustBindingsAPI.resetY  s    }}""$$rM   c                 6    U R                   R                  5       $ rn   )r7   get_versionro   s    rK   r  RustBindingsAPI.get_version]  s    }}((**rM   c                 .    U R                   R                  $ rn   )r\   r]   ro   s    rK   get_settingsRustBindingsAPI.get_settingsa  s    ||$$$rM   c                 6    U R                   R                  5       $ rn   )r7   get_max_batch_sizero   s    rK   r  "RustBindingsAPI.get_max_batch_sizee  s    }}//11rM   function_idinput_collection_idoutput_collectionparamsr   c                     [        S5      ezPAttached functions are not supported in the Rust bindings (local embedded mode).zAttached functions are only supported when connecting to a Chroma server via HttpClient. The Rust bindings (embedded mode) do not support attached function operations.r   )rH   r  rr   r   r!  r"  rs   r~   s           rK   attach_functionRustBindingsAPI.attach_functioni  s     "]
 	
rM   c                     [        S5      er$  r   )rH   rr   r   rs   r~   s        rK   get_attached_function%RustBindingsAPI.get_attached_functionz  s     "]
 	
rM   delete_outputc                     [        S5      er$  r   )rH   rr   r   r*  rs   r~   s         rK   detach_functionRustBindingsAPI.detach_function  s     "]
 	
rM   c                 *    [        S[        [        /S9$ )N )user_idrs   r   )r   r   r   ro   s    rK   get_user_identity!RustBindingsAPI.get_user_identity  s    !'(
 	
rM   )r7   r8   r9   )rN   N)U__name__
__module____qualname____firstlineno__r^   rf   __annotations__intr   r   r>   r1   rk   rp   r   r   ru   r'   r|   r   r+   r,   r   r   r(   r   r   r   r   r   r   r%   r   r   boolr   r   r   r   r2   r   r   r   r   r$   INDEX_AND_WALr-   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/   r0   r%  r(  r,  r   r1  __static_attributes____classcell__)rJ   s   @rK   r5   r5   I   s
   $---44
v 
  
  
D  
 7E ;C ; ;$ ; ; 4B 
 
c 
x 
 
 7E ;C ; ;$ ; ;   $ $$	
}
 
 	

 
(	
 
  1# 1$ 1 1 (s (v ( ( )3 ) ) *<LAA69A	A A
   $ $$(
}
 
 	

 
 
/	"
 
,  $(AE15#$(1 1   1    =>	1 
 -.1  1  1  1  
1  1 f  %(	

 
 	

 

 
$  $(AE15$(

  
   =>	

 -.
 
 
 

 
  %(	@@ @ 	@
 
@ @  #'59EI$(

 3-
 12	

 $$AB
 
 
 

 
& 
 %(	
	
 	
 		

 	
 
	
 	
  %(	YY Y 	Y
 
Y Y 
 %( ) 7 7PP v,P 	P
 P P 
P P  %(	II I 	I
 
I I  $(

 
 	

 
 

 
  "!%# $263$(,
,
 c],
 	,

 },
 ,
 !/,
 ,
 ,
 ,
 
,
 ,
\  *.)-#$(

 
 	

 I&
 I&
 tn
 
 
 

 
@ 
 ,0)-)-#$(

 
 Z(	

 I&
 I&
 tn
 
 
 

 
B  *.)-#$(

 
 	

 I&
 I&
 tn
 
 
 

 
, 
 "!%26<$(2
2
 %2
 c]	2

 2
 2
 !/2
 2
 2
 2
 
2
 2
h  "!%26$(

 c]
 	

 !/
 
 
 

 
6 %t % % +S + + %h % % 2C 2 2  ,0$(

 
 "	

 
 c3h(
 
 
 
!4'	(
 
  
 %(

 "
 	

 
 

 
 
 $$(

 "
 	

 
 
 

 
 
< 
 
rM   r5   )Ftypingr   chromadbr   r   r   r   r   r	   r
   r   r   r   r   chromadb.apir   $chromadb.api.models.AttachedFunctionr   %chromadb.api.collection_configurationr   r   r   r   chromadb.authr   chromadb.configr   r   r   r   chromadb.telemetry.productr   !chromadb.telemetry.product.eventsr   r   r   r   r   r    chromadb.api.typesr!   r"   r#   r$   r%   r&   chromadb.typesr'   r(   r)   r   "chromadb.execution.expression.planr*   r^   r+   r,   r-   r.   r/   r0   	overridesr1   uuidr2   r   r@   r:   rA   rD   r5    rM   rK   <module>rL     s         #E  ' N N =   K J 5  > =    ??	!__)#U	
i U	
rM   