
    'Xh|                       d dl mZm Z mZ d dl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 	 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 d d
lmZmZ d dl m!Z! dede"de#fdZ$dedefdZ%dedefdZ&de'e"ef   de'e"ef   fdZ(dee"ef   de'e"ef   fdZ)dejT                  dejV                  fdZ,dejV                  dejT                  fdZ- G d d      Z. G d d      Z/y# e$ r Y w xY w)    )datedatetimetimezone)AnyMappingOptionalSequenceUnionget_args)
MessageMap)MessageToDict)	Timestamp)MessageMapContainer)grpc)	ListValue	NullValueStructValue)models)	constructto_jsonable_python)get_args_subscribedmessagefieldreturnc           	          	 | j                  |      S # t        $ rD t        | j                         D cg c]  \  }}|j                   nc c}}w c}}      }||v cY S w xY w)a  
    Same as protobuf HasField, but also works for primitive values
    (https://stackoverflow.com/questions/51918871/check-if-a-field-has-been-set-in-protocol-buffer-3)

    Args:
        message (Any): protobuf message
        field (str): name of the field
    )HasField
ValueErrorset
ListFieldsname)r   r   
descriptor_value
all_fieldss        N/RAG/venv/lib/python3.12/site-packages/qdrant_client/conversions/conversion.py	has_fieldr&      s_    #&& #GDVDVDXYDX.@j&*//DXYZ

""#s    !A A
A A payloadc           
         | t        t        j                        S t        | t              rt        |       S t        | t
              rt        |       S t        | t              rt        |       S t        | t              rt        |       S t        | t        t        f      r-t        t        | D cg c]  }t        |       c}            S t        | t              r4t        t        t        d | j                         D              	      
      S t        | t              st        | t               rt        t#        |             S t%        d|        c c}w )N)
null_value)
bool_valueinteger_value)double_valuestring_value)values)
list_valuec              3   <   K   | ]  \  }}|t        |      f  y wNjson_to_value).0kvs      r%   	<genexpr>z json_to_value.<locals>.<genexpr>3   s     +^odaQa0@,Ao   fields)struct_valuezNot supported json value: )r   r   
NULL_VALUE
isinstanceboolintfloatstrlisttupler   r5   dictr   itemsr   r   r   r   )r'   r8   s     r%   r5   r5   $   s   	 4 455'4 (('37++'5!'**'3'**'D%=)	G1TGq-2BG1T UVV'4 t+^gmmo+^'^_
 	
 '8$
7D(A"4W"=>>
1';
<< 2Us   1Evaluec                 r   t        | t              rt        | d      }n| }d|v rt        |d         S d|v r|d   S d|v r|d   S d|v r|d   S d|v r/d|d   vri S t	        d	 |d   d   j                         D              S d
|v r!d|d
   v rt        d |d
   d   D              S g S d|v ry t        d|       )NF)preserving_proto_field_nameintegerValuedoubleValuestringValue	boolValuestructValuer<   c              3   <   K   | ]  \  }}|t        |      f  y wr3   value_to_jsonr6   keyvals      r%   r9   z value_to_json.<locals>.<genexpr>M   s#      
6](#sS-$%6]r:   	listValuer0   c              3   2   K   | ]  }t        |        y wr3   rQ   )r6   rU   s     r%   r9   z value_to_json.<locals>.<genexpr>R   s     T6Ssc*6Ss   	nullValuezNot supported value: )r?   r   r   rA   rF   rG   rD   r   )rH   value_s     r%   rR   rR   :   s   %u%H 6.)**m$$m$$fk""6-00I 
6<]6KH6U6[6[6]
 
 	
 fvk**Tf[6I(6STTTIf
,VH5
66    c                 B    t        d | j                         D              S )Nc              3   <   K   | ]  \  }}|t        |      f  y wr3   r4   rS   s      r%   r9   z"payload_to_grpc.<locals>.<genexpr>[   s     J/hc3mC()/r:   rF   rG   )r'   s    r%   payload_to_grpcr^   Z   s    J'--/JJJrZ   grpc_c                 B    t        d | j                         D              S )Nc              3   <   K   | ]  \  }}|t        |      f  y wr3   rQ   rS   s      r%   r9   z"grpc_to_payload.<locals>.<genexpr>_   s     H-hc3mC()-r:   r]   )r_   s    r%   grpc_to_payloadrb   ^   s    H%++-HHHrZ   modelc                    | t         j                  j                  k(  rt         j                  j                  S | t         j                  j
                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                   S | t         j                  j"                  k(  rt         j                  j$                  S t'        d|        Nz!invalid PayloadSchemaType model: )r   PayloadSchemaTypeKeyword	FieldTypeFieldTypeKeywordIntegerFieldTypeIntegerFloatFieldTypeFloatBoolFieldTypeBoolGeoFieldTypeGeoTextFieldTypeTextDatetimeFieldTypeDatetimeUuidFieldTypeUuidr   rc   s    r%   !grpc_payload_schema_to_field_typery   b   s5   &&...~~...&&...~~...&&,,,~~,,,&&+++~~+++&&***~~***&&+++~~+++&&///~~///&&+++~~+++
8@
AArZ   c                    | t         j                  j                  k(  rt         j                  j                  S | t         j                  j
                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                   S | t         j                  j"                  k(  rt         j                  j$                  S t'        d|        )Nzinvalid FieldType model: )r   rh   ri   rf   rg   rk   rj   rm   rl   ro   rn   rq   rp   rs   rr   ru   rt   rw   rv   r   rx   s    r%   !grpc_field_type_to_payload_schemar{   w   s5   ///%%---///%%------%%+++,,,%%***+++%%))),,,%%***000%%...,,,%%***
08
99rZ   c                   T-   e Zd Zedej
                  dej
                  fd       Zedej                  dej                  fd       Z	edej                  dej                  fd       Zededefd       Zedej                  dej                  fd       Zedej"                  dej"                  fd       Zedej&                  dej&                  fd	       Zedej*                  dej*                  fd
       Zedej.                  dej.                  fd       Zedej2                  dej2                  fd       Zedej6                  dej8                  fd       Zedej<                  dej<                  fd       Zedej@                  dej@                  fd       Z!edej@                  dejD                  fd       Z#edejH                  dejH                  fd       Z%edejL                  dejN                  fd       Z(edejR                  dejR                  fd       Z*edejV                  dejX                  fd       Z-ede.e/ej`                  f   de.e/ejb                  f   fd       Z2edej`                  dejb                  fd       Z3edejh                  dejj                  fd       Z6edejn                  dejn                  fd       Z8edejr                  dejr                  fd       Z:edejv                  dejv                  fd       Z<edejz                  dejz                  fd       Z>edej~                  dej~                  fd       Z@edej                  dej                  fd       ZBedej                  dej                  fd       ZEedej                  dej                  fd       ZGedej                  dej                  fd        ZIedej                  dej                  fd!       ZKedej                  dej                  fd"       ZMedej                  dej                  fd#       ZOedej                  dej                  fd$       ZQedej                  dej                  fd%       ZSedej                  dej                  fd&       ZUedej                  dej                  fd'       ZWedd(dej                  fd)       ZYedej                  dej                  fd*       Z[edej                  dej                  fd+       Z]edej                  dej                  fd,       Z_edej                  dej                  fd-       Zaedej                  dej                  fd.       ZcedejV                  dejV                  fd/       Zdedej                  dej                  fd0       ZfedejL                  dejL                  fd1       Zgedej                  dej                  fd2       Ziedej                  dej                  fd3       Zkedej                  dej                  fd4       Zmedej                  dej                  fd5       Zoe	 ddej                  d7eqej                     dej                  fd8       Zsedej                  dej                  fd9       Zvedej                  dej                  fd:       Zwedej                  dej                  fd;       Zzedej                  dej                  fd<       Z{edej                  dej                  fd=       Z}edej                  dej                  fd>       Zedej                   dej                   fd?       Zedej                  dej                  fd@       Zedej                  dej                  fdA       Zedej                  dej                  fdB       Zedej                  dej                  fdC       Zedeej                  ej                  f   deeqe/   eee   eee      ej                   ej"                  ej$                  ej&                  f   f   fdD       Zedej                  deee   eee      ej                   ej"                  ej$                  ej&                  f   fdE       Zedej                  deee   eee      ej                   f   fdF       Zedej.                  de.e/ej                  f   fdG       Zedej2                  de.e/ej                  f   fdH       Zedej6                  dej8                  fdI       Zedej<                  dej>                  fdJ       ZedejB                  dee   fdK       Zedej                   dej                   fdL       ZedejH                  deee      fdM       Zedej"                  dej"                  fdN       Zedej$                  dej$                  fdO       Zedej&                  dej&                  fdP       ZedejR                  dejR                  fdQ       ZedejV                  dejV                  fdR       ZedejZ                  dej\                  fdS       Zedej`                  dej`                  fdT       Zedejd                  dejd                  fdU       Zedejh                  dejh                  fdV       Zedejl                  dejl                  fdW       Zedejp                  dejr                  fdX       Zedejv                  dejv                  fdY       Zedejz                  dejz                  fdZ       Zedej~                  dej~                  fd[       Zedej                  dej                  fd\       Zedej                  dej                  fd]       Zedej                  dej                  fd^       Zedej                  dej                  fd_       Zedej                  dej                  fd`       Zedej                  dej                  fda       Zedej                  dej                  fdb       Zedej                  dee/   fdc       Zedej                  dej                  fdd       Zedej                  dej                  fde       Zedej                  dej                  fdf       Zedej                  dej                  fdg       Zedej                  dej                  fdh       Zedej                  dej                  fdi       Zedej                  dej                  fdj       Zedej                  dej                  fdk       Zedej                  dej                  fdl       Zedej                  dej                  fdm       Zedej                  dej                  fdn       Zedej                  dej                  fdo       Zedej                  dej                  fdp       Zedej                  dej                  fdq       Zedej                  dej                  fdr       Zedej                  dej                  fds       Zedej                  dej                  fdt       Zedej                  dej                  fdu       Zedej                  dej                  fdv       Zedej                  dej                  fdw       Z edej                  dej                  fdx       Zedej                  dej                  fdy       Zedej
                  dej
                  fdz       Zedej                  dej                  fd{       Zedej                  dej                  fd|       Z
edej                  dej                  fd}       Zedej                  dej                  fd~       Zedej"                  dej$                  fd       Zedej(                  dej(                  fd       Zedej,                  dej,                  fd       Zedej0                  dej0                  fd       Zedej4                  dej4                  fd       Zedej8                  dej8                  fd       Zedej<                  dej<                  fd       Zedej@                  dej@                  fd       Z!edejD                  dejD                  fd       Z#edejH                  dejH                  fd       Z%edejL                  dejL                  fd       Z'edejP                  dejP                  fd       Z)edejT                  dejT                  fd       Z+edejX                  dejX                  fd       Z-edej\                  dej^                  fd       Z0ede/dejb                  fd       Z2edejf                  dejf                  fd       Z4edejj                  dejl                  fd       Z7edejp                  dejp                  fd       Z9edejt                  dejt                  fd       Z;edejx                  de.e/ejt                  f   fd       Z=edej|                  dej|                  fd       Z?edej                  dej                  fd       Z@edej                  dej                  fd       ZBedej                  dej                  fd       ZDedej                  dej                  fd       ZFedej                  dej                  fd       ZHedej                  dej                  fd       ZJedej                  dej                  fd       ZMedej                  dej                  fd       ZPedej                  dej                  fd       ZRedej                  dej                  fd       ZUedej                  dej                  fd       ZXedej                  dej                  fd       ZZedej                  dej                  fd       Z\edej                  dej                  fd       Z^edej                  dej                  fd       Z`edej                  dej                  fd       Zbedej                  dej                  fd       Zdedej                  dej                  fd       Zfedej                  dej                  fd       Zhedej                  dej                  fd       Zjedej                  dej                  fd       Zly6)
GrpcToRestrc   r   c                    |j                  d      }|t        d|       t        ||      }|dk(  r| j                  |      S |dk(  r| j	                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |d	k(  r| j                  |      S t        d|       )
Ncondition_one_ofinvalid Condition model: r   filterhas_id
has_vectoris_emptyis_nullnested)

WhichOneofr   getattrconvert_field_conditionconvert_filterconvert_has_id_conditionconvert_has_vector_conditionconvert_is_empty_conditionconvert_is_null_conditionconvert_nested_conditionclsrc   r!   rU   s       r%   convert_conditionzGrpcToRest.convert_condition   s     23<8@AAeT"7?..s338%%c**8//44<33C88:11#66900558//444UG<==rZ   c                 *   t        j                  |j                  D cg c]  }| j                  |       c}|j                  D cg c]  }| j                  |       c}|j
                  D cg c]  }| j                  |       c}|j                  d      rat        j                  |j                  j                  D cg c]  }| j                  |       c}|j                  j                              S d       S c c}w c c}w c c}w c c}w )N
min_should
conditions	min_count)mustshouldmust_notr   )restFilterr   r   r   r   r   	MinShouldr   r   r   )r   rc   	conditions      r%   r   zGrpcToRest.convert_filter   s    {{DIJJOJy#''	2JOFKllSlC)))4lSHMW9c++I6W >>,/  */)9)9)D)D )DI --i8)D  $..88
 	
 
 	
OSW s   DD
.D Dc                 &   t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                  nd |j                  d      r|j                        S d       S Ngtgteltlte)r   r   r   r   )r   Ranger   r   r   r   r   r   rc   s     r%   convert_rangezGrpcToRest.convert_range   sp    zz >>$/uxxT"^^E2		 >>$/uxxT"^^E2			
 	
 9=	
 	
rZ   c                 B    |j                  t        j                        S )N)tzinfo)
ToDatetimer   utcr   s     r%   convert_timestampzGrpcToRest.convert_timestamp   s    x||44rZ   c                    t        j                  |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j
                        nd |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                              S d       S r   )r   DatetimeRanger   r   r   r   r   r   r   s     r%   convert_datetime_rangez!GrpcToRest.convert_datetime_range   s    !!27..2Fs$$UXX.D49NN54I%%eii0t27..2Fs$$UXX.D49NN54I%%eii0	
 	
 PT	
 	
rZ   c                 v    t        j                  | j                  |j                        |j                        S N)centerradius)r   	GeoRadiusconvert_geo_pointr   r   r   s     r%   convert_geo_radiuszGrpcToRest.convert_geo_radius   )    ~~S%:%:5<<%HQVQ]Q]^^rZ   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w Npoints)r   GeoLineStringr   r   r   rc   points      r%   convert_geo_line_stringz"GrpcToRest.convert_geo_line_string   9    !!TYT`T`)aT`5#*?*?*FT`)abb)a   >c           	          t        j                  | j                  |j                        |j                  r.|j                  D cg c]  }| j                  |       c}      S d       S c c}w N)exterior	interiors)r   
GeoPolygonr   r   r   r   rc   interiors      r%   convert_geo_polygonzGrpcToRest.convert_geo_polygon   sh    00@ ?? HMW8,,X6W
 	

 
 	
 X   A+
c                 B    t        j                  |j                        S N)r!   )r   CollectionDescriptionr!   r   s     r%   convert_collection_descriptionz)GrpcToRest.convert_collection_description        ))uzz::rZ   c                    t        j                  | j                  |j                        | j	                  |j
                        | j                  |j                        |j                  | j                  |j                        |j                  d      r|j                  nd |j                  |j                  xs d      S )Nvectors_countr   )configoptimizer_statuspayload_schemasegments_countstatusr   points_countindexed_vectors_count)r   CollectionInfoconvert_collection_configr   convert_optimizer_statusr   convert_payload_schemar   r   convert_collection_statusr   r   r   r   r   r   s     r%   convert_collection_infoz"GrpcToRest.convert_collection_info   s    ""00> 99%:P:PQ55e6J6JK //00>161P%--VZ++"'"="="B	
 		
rZ   c                     |j                   rt        j                  j                  S t        j                  |j
                        S )N)error)okr   OptimizersStatusOneOfOKOptimizersStatusOneOf1r   r   s     r%   r   z#GrpcToRest.convert_optimizer_status   s0    88--000..U[[AArZ   c           
         t        j                  | j                  |j                        | j	                  |j
                        | j                  |j                        | j                  |j                        |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                              S d       S )Nquantization_configstrict_mode_config)hnsw_configoptimizer_configparams
wal_configr   r   )r   CollectionConfigconvert_hnsw_configr   convert_optimizer_configr   convert_collection_paramsr   convert_wal_configr   r   convert_quantization_configr   !convert_strict_mode_config_outputr   r   s     r%   r   z$GrpcToRest.convert_collection_config   s    $$//0A0AB 99%:P:PQ00>--e.>.>? >>"78 //0I0IJ >>"67 55e6N6NO
 	
 
 	
rZ   c           
         t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                        S d       S Nef_constructmfull_scan_thresholdmax_indexing_threadson_disk	payload_m)r   r   r   r   r   r   )	r   HnswConfigDiffr   r   r   r   r   r   r   r   s     r%   convert_hnsw_config_diffz#GrpcToRest.convert_hnsw_config_diff  s    ""/4~~n/M++SW,egg$-2^^<Q-R))X\ /4nn=S.T**Z^%*^^I%>EMMD).)Deoo
 	
 KO
 	
rZ   c           
         t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                        S d       S r   )	r   
HnswConfigr   r   r   r   r   r   r   r   s     r%   r   zGrpcToRest.convert_hnsw_config  s    /4~~n/M++SW,egg$-2^^<Q-R))X\ /4nn=S.T**Z^%*^^I%>EMMD).)Deoo
 	
 KO
 	
rZ   c                 >   |j                  d      }|t        d|       |dk(  rY|j                  t        j                  j
                  j                  k(  rt        j                  j                  S t        d|       |dk(  r|j                  S t        d|       )Nvariant&invalid MaxOptimizationThreads model: settingrH   )r   r   r  r   MaxOptimizationThreadsSettingAutor   MaxOptimizationThreadsSettingAUTOrH   r   rc   r!   s      r%    convert_max_optimization_threadsz+GrpcToRest.convert_max_optimization_threads,  s     	*<EeWMNN9}} ; ; C C H HH99>>> <UGD  W_;;EeWMNNrZ   c                    d }|j                  d      r|j                  }nK|j                  d      r:| j                  |j                        }|t        j
                  j                  k(  rd }t	        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd ||j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d	      r|j                  
      S d 
      S N#deprecated_max_optimization_threadsmax_optimization_threadsdefault_segment_numberdeleted_thresholdflush_interval_secindexing_thresholdmax_segment_sizememmap_thresholdvacuum_min_vector_number)r  r  r  r  r  r  r  r  )r   r  r	  r  r   r  r  OptimizersConfigr  r  r  r  r  r  r  r   rc   r  s      r%   r   z#GrpcToRest.convert_optimizer_config@  s;   #' >>?@','P'P$^^67'*'K'K..($ (4+M+M+R+RR+/($$05?W0X,,^b ,1>>:M+N''TX -2NN;O,P((VZ -2NN;O,P((VZ%=*/..9K*L&&RV +0..9K*L&&RV >>"<= ..+
 	
. /
 	
rZ   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nzinvalid Distance model: )r   DistanceCosiner   COSINEEuclidEUCLID	Manhattan	MANHATTANDotDOTr   r   s     r%   convert_distancezGrpcToRest.convert_distanceg  s    DMM(((=='''dmm***=='''dmm---==***dmm'''==$$$7w?@@rZ   c                     t        j                  |j                  d      r|j                  nd |j                  d      r|j                        S d       S Nwal_capacity_mbwal_segments_aheadr%  r&  )r   	WalConfigr   r%  r&  r   s     r%   r   zGrpcToRest.convert_wal_configt  sQ    ~~5:^^DU5VE11\`,1NN;O,P((
 	
 W[
 	
rZ   c                 t    |j                         D ci c]  \  }}|| j                  |       c}}S c c}}w r3   )rG   convert_payload_schema_info)r   rc   rT   infos       r%   r   z!GrpcToRest.convert_payload_schema}  s8     MRKKMZMysDS44T::MZZZs   4c                     t        j                  | j                  |j                        |j	                  d      r| j                  |j                        nd |j                        S )Nr   	data_typer   r   )r   PayloadIndexInfoconvert_payload_schema_typer.  r   convert_payload_schema_paramsr   r   r   s     r%   r*  z&GrpcToRest.convert_payload_schema_info  sS    $$55eooF >>(+ 11%,,?<<
 	
rZ   c                    |j                  d      r|j                  }| j                  |      S |j                  d      r|j                  }| j	                  |      S |j                  d      r|j
                  }| j                  |      S |j                  d      r|j                  }| j                  |      S |j                  d      r|j                  }| j                  |      S |j                  d      r|j                  }| j                  |      S |j                  d      r|j                  }| j                  |      S |j                  d      r|j                  }	| j!                  |	      S t#        d	|       )
Ntext_index_paramsinteger_index_paramskeyword_index_paramsfloat_index_paramsgeo_index_paramsbool_index_paramsdatetime_index_paramsuuid_index_paramsz"invalid PayloadIndexParams model: )r   r3  convert_text_index_paramsr4  convert_integer_index_paramsr5  convert_keyword_index_paramsr6  convert_float_index_paramsr7  convert_geo_index_paramsr8  convert_bool_index_paramsr9  convert_datetime_index_paramsr:  convert_uuid_index_paramsr   )
r   rc   r3  r4  r5  r6  r7  r8  r9  r:  s
             r%   r1  z(GrpcToRest.convert_payload_schema_params  so    >>-. % 7 7001BCC>>01#(#=#= 334HII>>01#(#=#= 334HII>>./!&!9!9112DEE>>,-$55//0@AA>>-. % 7 7001BCC>>12$)$?$?!445JKK>>-. % 7 7001BCC=eWEFFrZ   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                   S |t         j                  j"                  k(  rt        j                  j$                  S t'        d|       re   )r   rf   rl   r   FLOATrp   GEOrj   INTEGERrg   KEYWORDrn   BOOLrr   TEXTrt   DATETIMErv   UUIDr   r   s     r%   r0  z&GrpcToRest.convert_payload_schema_type  sE   D**000))///d,,000))---d,,444))111d,,444))111d,,111))...d,,111))...d,,555))222d,,111))...@HIIrZ   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nz invalid CollectionStatus model: )r   CollectionStatusGreenr   GREENYellowYELLOWRedREDGreyGREYr   r   s     r%   r   z$GrpcToRest.convert_collection_status  s    D))///((...d++222((///d++///((,,,d++000((---;E7CDDrZ   c                 v    t        j                  |j                  | j                  |j                              S N)operation_idr   )r   UpdateResultrY  convert_update_statusr   r   s     r%   convert_update_resultz GrpcToRest.convert_update_result  s0      ++,,U\\:
 	
rZ   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S t        d|       Nzinvalid UpdateStatus model: )r   UpdateStatusAcknowledgedr   ACKNOWLEDGED	Completed	COMPLETEDr   r   s     r%   r[  z GrpcToRest.convert_update_status  sa    D%%222$$111d''111$$...;E7CDDrZ   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w Nr   )r   HasIdConditionr   convert_point_idr   rc   idxs      r%   r   z#GrpcToRest.convert_has_id_condition  s9    ""PUP\P\*]P\3+?+?+DP\*]^^*]r   c                 B    t        j                  |j                        S Nr   )r   HasVectorConditionr   r   s     r%   r   z'GrpcToRest.convert_has_vector_condition       &&%2B2BCCrZ   c                     |j                  d      }|dk(  r|j                  S |dk(  r|j                  S t        d|       )Npoint_id_optionsnumuuidzinvalid PointId model: )r   rr  rs  r   r  s      r%   rh  zGrpcToRest.convert_point_id  sH     235=996>::25':;;rZ   c                 B    t        j                  |j                        S N)
alias_name)r   DeleteAliasrv  r   s     r%   convert_delete_aliaszGrpcToRest.convert_delete_alias      5+;+;<<rZ   c                 X    t        j                  |j                  |j                        S N)old_alias_namenew_alias_name)r   RenameAliasr|  r}  r   s     r%   convert_rename_aliaszGrpcToRest.convert_rename_alias  &     //@T@T
 	
rZ   c                 j    t        j                  t        j                  |j                              S )NrT   r   )r   IsEmptyConditionPayloadFieldrT   r   s     r%   r   z%GrpcToRest.convert_is_empty_condition  s"    $$d.?.?EII.NOOrZ   c                 j    t        j                  t        j                  |j                              S )Nr  r   )r   IsNullConditionr  rT   r   s     r%   r   z$GrpcToRest.convert_is_null_condition  s"    ##D,=,=%)),LMMrZ   c                     t        j                  t        j                  |j                  | j	                  |j
                                    S )NrT   r   r   )r   NestedConditionNestedrT   r   r   r   s     r%   r   z#GrpcToRest.convert_nested_condition  s:    ##;;II))%,,7
 	
rZ   c                 D   t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r| j                  |j                        nd |j                  d      r|j                        S d       S )Nhnsw_efexactquantizationindexed_onlyr  r  r  r  )r   SearchParamsr   r  r  "convert_quantization_search_paramsr  r  r   s     r%   convert_search_paramsz GrpcToRest.convert_search_params  s      %*^^I%>EMMD!&!8%++d >>.1 66u7I7IJ/4~~n/M++	
 		
 TX	
 		
rZ   c                 X    t        j                  |j                  |j                        S N)collection_namerv  )r   CreateAliasr  rv  r   s     r%   convert_create_aliaszGrpcToRest.convert_create_alias  "    0E0ERWRbRbccrZ   c                     |j                  d      }|t        d|       t        ||      }|dk(  r|S |dk(  r|S t        d|       )Nr   invalid OrderValue model: rA   rB   r   r   r   r   s       r%   convert_order_valuezGrpcToRest.convert_order_value   sa    	*<9%ABBeT"5=J7?J5eW=>>rZ   c                    t        t        j                  | j                  |j                        t        |d      r| j                  |j                        nd |j                  |j                  d      r| j                  |j                        nd |j                  |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                               S d       S )Nr'   vectors	shard_keyorder_value)idr'   scorevectorversionr  r  )r   r   ScoredPointrh  r  r&   convert_payloadr'   r  r   convert_vectors_outputr  r  convert_shard_keyr  r  r  r   s     r%   convert_scored_pointzGrpcToRest.convert_scored_point/  s    ##EHH-:CE9:UC''6[_++=B^^I=V**5==9\`MM:?..:U%%eoo6[_ >>-0 ''(9(9:
 	
 
 	
rZ   r   c                 ,    t        fdD              S )Nc              3   >   K   | ]  }|t        |         f  y wr3   rQ   )r6   rT   rc   s     r%   r9   z-GrpcToRest.convert_payload.<locals>.<genexpr>F  s      FS-c
34s   )rF   r   s    `r%   r  zGrpcToRest.convert_payloadD  s    FFFFrZ   c                 &   t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                  nd |j                  d      r|j                        S d       S r   )r   ValuesCountr   r   r   r   r   r   s     r%   convert_values_countzGrpcToRest.convert_values_countH  sr     >>$/uxxT"^^E2		 >>$/uxxT"^^E2			
 	
 9=	
 	
rZ   c                     t        j                  | j                  |j                        | j                  |j                              S )N)bottom_righttop_left)r   GeoBoundingBoxr   r  r  r   s     r%   convert_geo_bounding_boxz#GrpcToRest.convert_geo_bounding_boxQ  s;    ""..u/A/AB**5>>:
 	
rZ   c                     t        j                  | j                  |j                        | j	                  |j
                        |j                  d      r | j                  |j                              S d       S )Nr  )r  r'   r  )	r   PointStructrh  r  r  r'   r   convert_vectorsr  r   s     r%   convert_point_structzGrpcToRest.convert_point_structX  sg    ##EHH-''69>	9R3&&u}}5
 	
 Y]
 	
rZ   c                 P   |j                  d      r| j                  |j                        nd }|j                  d      r| j                  |j                        nd }|j                  d      r| j                  |j                        nd }|j                  d      r| j                  |j                        nd }d }|j                  d      r| j                  |j                        }n,|j                  d      r| j                  |j                        }|j                  d      r| j                  |j                        nd }|j                  d      r|j                  nd }|j                  d	      r|j                   nd }	t#        j$                  |j&                  ||||||||	
	      S )Ngeo_bounding_box
geo_radiusgeo_polygonmatchrangedatetime_rangevalues_countr   r   )	rT   r  r  r  r  r  r  r   r   )r   r  r  r   r  r   r  convert_matchr  r   r  r   r  r  r  r   r   r   FieldConditionrT   )
r   rc   r  r  r  r  range_r  r   r   s
             r%   r   z"GrpcToRest.convert_field_condition`  sy    ~~01 (()?)?@ 	 9>|8TC""5#3#34Z^ 	
 ;@..:WC##E$5$56]a 	 38..2I!!%++.t04>>'"&&u{{3F^^,-//0D0DEF ~~n- $$U%7%78 	 &+^^J%?5>>T#(>>)#<%--$""		-!#%

 
	
rZ   c                    |j                  d      }|t        d|       t        ||      }|dk(  rt        j                  |      S |dk(  rt        j                  |      S |dk(  rt        j                  |      S |dk(  rt        j
                  |      S |d	k(  r)t        j                  t        |j                        
      S |dk(  r)t        j                  t        |j                        
      S |dk(  r*t        j                  di dt        |j                        iS |dk(  r*t        j                  di dt        |j                        iS |dk(  rt        j                  |      S t        d|       )Nmatch_valueinvalid Match model: integerrH   booleankeywordtextr  keywords)anyintegersexcept_keywordsexceptexcept_integersphraser   )r   r   r   r   
MatchValue	MatchTextMatchAnyrD   stringsr  MatchExceptMatchPhraser   s       r%   r  zGrpcToRest.convert_match  sS   .<4UG<==eT"9??--9??--9??--6>>>s++:==T#++%677:==T#,,%788$$##Dxckk1B&CDD$$##Excll1C&DEE8##3//0899rZ   c                     t        j                  |j                  d      r|j                  nd |j                  d      r|j                        S d       S r$  )r   WalConfigDiffr   r%  r&  r   s     r%   convert_wal_config_diffz"GrpcToRest.convert_wal_config_diff  sS    !!5:^^DU5VE11\`,1NN;O,P((
 	
 W[
 	
rZ   c                 $   t        j                  |j                  d      r| j                  |j                        nd |j
                  |j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                              S d       S )Nvectors_configreplication_factorread_fan_out_factorwrite_consistency_factorsparse_vectors_configsharding_method)r  shard_numberon_disk_payloadr  r  r  sparse_vectorsr  )r   CollectionParamsr   convert_vectors_configr  r  r  r  r  r  convert_sparse_vector_configr  convert_sharding_methodr  r   s     r%   r   z$GrpcToRest.convert_collection_params  s    $$ >>"23 **5+?+?@++!11,1NN;O,P((VZ .3^^<Q-R))X\ >>"<= .. >>"9: 001L1LM >>"34 ++E,A,AB3
 	
6 7
 	
rZ   c                 t   d }|j                  d      r|j                  }n,|j                  d      r| j                  |j                        }t	        j
                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd ||j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d	      r|j                  
      S d 
      S r  )r   r  r	  r  r   OptimizersConfigDiffr  r  r  r  r  r  r  r  s      r%   convert_optimizers_config_diffz)GrpcToRest.convert_optimizers_config_diff  s#    $( >>?@','P'P$^^67'*'K'K..($ ((05?W0X,,^b ,1>>:M+N''TX -2NN;O,P((VZ -2NN;O,P((VZ%=*/..9K*L&&RV +0..9K*L&&RV >>"<= ..+
 	
. /
 	
rZ   c           	         t        j                  |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                              S d       S )Nr  optimizers_configr   r   r   )r  r  r   r   r   )r   UpdateCollectionr   convert_vectors_config_diffr  r  r  convert_collection_params_diffr   r   r    convert_quantization_config_diffr   r   s     r%   convert_update_collectionz$GrpcToRest.convert_update_collection  s    $$ >>"23 //0D0DE >>"56 2253J3JK >>(+ 225<<@ >>-0 ,,U->->? >>"78 44U5N5NO-
 	
0 1
 	
rZ   c                 X    t        j                  |j                  |j                        S )N)latlon)r   GeoPointr  r  r   s     r%   r   zGrpcToRest.convert_geo_point  s!    }}				
 	
rZ   c                 t   |j                  d      }|t        d|       t        ||      }|dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S t        d|       )	Nactioninvalid AliasOperations model: rename_aliasr  create_aliasr  delete_aliasr  )
r   r   r   r   RenameAliasOperationr  CreateAliasOperationr  DeleteAliasOperationrx  r   s       r%   convert_alias_operationsz#GrpcToRest.convert_alias_operations  s    )<>ugFGGeT">!,,#:R:RSV:WXX>!,,#:R:RSV:WXX>!,,#:R:RSV:WXX:5'BCCrZ   c                 X    t        j                  |j                  |j                        S N)rv  r  )r   AliasDescriptionrv  r  r   s     r%   convert_alias_descriptionz$GrpcToRest.convert_alias_description/  '    $$''!11
 	
rZ   Nshard_key_selectorc                 ^   |j                  d      }|t        d|       t        ||      }|dk(  r>t        j                  |j
                  D cg c]  }| j                  |       c}|      S |dk(  r&t        j                  | j                  |      |      S t        d|       c c}w )Npoints_selector_one_ofinvalid PointsSelector model: r   r   r  r   )r   r  )	r   r   r   r   PointIdsListidsrh  FilterSelectorr   )r   rc   r  r!   rU   r   s         r%   convert_points_selectorz"GrpcToRest.convert_points_selector6  s      89<=eWEFFeT"8$$ADI,,U3I,  8&&))#.,  9%ABB Js   B*c                    |j                  d      }|t        d|       t        ||      }|dk(  r|S |dk(  rt        |j                        S |dk(  r)t        j                  t        |j                              S t        d|       )Nselector_optionsz#invalid WithPayloadSelector model: enableincludeexcluder  )r   r   r   rD   r<   r   PayloadSelectorExcluder   s       r%   convert_with_payload_selectorz(GrpcToRest.convert_with_payload_selectorM  s      23<B5'JKKeT"8J9

##9..tCJJ7GHH>ugFGGrZ   c                 $    | j                  |      S r3   )r   r   s     r%   convert_with_payload_interfacez)GrpcToRest.convert_with_payload_interface_  s     0077rZ   c           	         t        j                  | j                  |j                        | j	                  |j
                        |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                              S d       S )Nr  r  r  )r  r'   r  r  r  )r   Recordrh  r  r  r'   r   r  r  r  r  r  r  r   s     r%   convert_retrieved_pointz"GrpcToRest.convert_retrieved_pointe  s    {{##EHH-''6=B^^I=V**5==9\` ;@..:U%%eoo6[_ >>-0 ''(9(9:
 	
 
 	
rZ   c                 $    | j                  |      S r3   )r%  r   s     r%   convert_recordzGrpcToRest.convert_recordw  s    **511rZ   c                 B    t        j                  |j                        S N)count)r   CountResultr*  r   s     r%   convert_count_resultzGrpcToRest.convert_count_result{      ekk22rZ   c                     t        j                  |j                  |j                  d      r(|j                  j                         j                         nd |j                        S )Ncreation_timer!   r/  size)r   SnapshotDescriptionr!   r   r/  r   	isoformatr1  r   s     r%   convert_snapshot_descriptionz'GrpcToRest.convert_snapshot_description  sS     '' >>/2 ##..0::<
 	
rZ   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nzinvalid Datatype model: )
r   DatatypeFloat32r   FLOAT32Uint8UINT8Float16FLOAT16r   r   s     r%   convert_datatypezGrpcToRest.convert_datatype  s{    DMM)))==(((dmm)))==&&&dmm+++==(((7w?@@rZ   c                 $   t        j                  |j                  | j                  |j                        |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                              S d       S )Nr   r   r   datatypemultivector_configr1  distancer   r   r   r@  rA  )r   VectorParamsr1  r"  rC  r   r   r   r   r   r   r>  r@  convert_multivector_configrA  r   s     r%   convert_vector_paramsz GrpcToRest.convert_vector_params  s      ))%..9 >>-0 ,,U->->? >>"78 //0I0IJ%*^^I%>EMMD=B^^J=WS))%..9]a >>"67 ..u/G/GH!
 	
$ %
 	
rZ   c                 `    t        j                  | j                  |j                              S N)
comparator)r   MultiVectorConfigconvert_multivector_comparatorrI  r   s     r%   rE  z%GrpcToRest.convert_multivector_config  )    %%99%:J:JK
 	
rZ   c                     |t         j                  j                  k(  rt        j                  j                  S t        d|       Nz%invalid MultiVectorComparator model: )r   MultiVectorComparatorMaxSimr   MAX_SIMr   r   s     r%   rK  z)GrpcToRest.convert_multivector_comparator  s=     D..555--555@HIIrZ   c                     |j                  d      }|t        d|       t        ||      }|dk(  r j                  |      S |dk(  r,t	         fd|j
                  j                         D              S t        d|       )Nr   invalid VectorsConfig model: r   
params_mapc              3   J   K   | ]  \  }}|j                  |      f  y wr3   rF  r6   rT   
vec_paramsr   s      r%   r9   z4GrpcToRest.convert_vectors_config.<locals>.<genexpr>  s*      Tcjc//
;<Tc    #)r   r   r   rF  rF   maprG   r   s   `   r%   r  z!GrpcToRest.convert_vectors_config  s    )<<UGDEEeT"8,,S11< TWT[T[TaTaTc   8@AArZ   c                 f   |j                  d      }||j                  d      r=dt        j                  |j                  j
                  dd |j
                  dd       fS |j                  d      rR|j                  }|j
                  }t        |      |z  }dt        dt        |      |      D cg c]
  }||||z     c}fS d|j
                  dd fS t        ||      }|dk(  rd| j                  |      fS |dk(  rd| j                  |      fS |d	k(  rd| j                  |      fS ||fS c c}w )
a@  Parse common parts of vector structs

        Args:
            model: Vector or VectorOutput

        Returns:
            Tuple of name and value, name is None if the struct was parsed and returned with the converted value,
            otherwise it's propagated for further processing along with the raw value
        r  Nindicesr\  r0   r   r   densesparsemulti_dense)r   r   r   SparseVectorr\  datar   lenr  r   convert_dense_vectorconvert_sparse_vectorconvert_multi_dense_vector)r   rc   r!   r   r  stepirU   s           r%   _convert_vectorzGrpcToRest._convert_vector  sD   . )<~~i(T..u}}7I7I!7LUZU_U_`aUbccc~~o. % 3 3**7|}4U1c'lTX=YZ=Yga!d(3=YZZZA&&eT"7?11#6668223777= 77<<<Sy [s   2D.c                     | j                  |      \  }}||S |dk(  r| j                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S t	        d|       )Ndocumentimageobjectinvalid Vector model: )ri  convert_documentconvert_imageconvert_inference_objectr   r   s       r%   convert_vectorzGrpcToRest.convert_vector  s     ''.	c<J:'',,7?$$S))8//441%9::rZ   c                 N    | j                  |      \  }}||S t        d|       )Nrn  )ri  r   r   s       r%   convert_vector_outputz GrpcToRest.convert_vector_output  s5     ''.	c<J1%9::rZ   c                 v    i }|j                   j                         D ]  \  }}| j                  |      ||<    |S r3   )r  rG   rr  r   rc   r  r!   r  s        r%   convert_named_vectorsz GrpcToRest.convert_named_vectors!  s=    !MM//1LD&..v6GDM 2 rZ   c                 v    i }|j                   j                         D ]  \  }}| j                  |      ||<    |S r3   )r  rG   rt  rv  s        r%   convert_named_vectors_outputz'GrpcToRest.convert_named_vectors_output)  s?     !MM//1LD&55f=GDM 2 rZ   c                     |j                  d      }|t        d|       t        ||      }|dk(  r| j                  |      S |dk(  r| j	                  |      S t        d|       )Nvectors_optionszinvalid Vectors model: r  r  )r   r   r   rr  rw  r   s       r%   r  zGrpcToRest.convert_vectors3  s|     12<6ug>??eT"8%%c**9,,S1125':;;rZ   c                     |j                  d      }|t        d|       t        ||      }|dk(  r| j                  |      S |dk(  r| j	                  |      S t        d|       )Nr{  zinvalid VectorsOutput model: r  r  )r   r   r   rt  ry  r   s       r%   r  z!GrpcToRest.convert_vectors_output@  s|     12<<UGDEEeT"8,,S11933C888@AArZ   c                      |j                   d d  S r3   rb  r   s     r%   rd  zGrpcToRest.convert_dense_vectorM  s    zz!}rZ   c                 d    t        j                  |j                  d d  |j                  d d        S )Nr]  )r   ra  r\  r0   r   s     r%   re  z GrpcToRest.convert_sparse_vectorQ  s&      q)9%,,q/RRrZ   c                 ^    |j                   D cg c]  }| j                  |       c}S c c}w r3   )r  rd  r   rc   r  s      r%   rf  z%GrpcToRest.convert_multi_dense_vectorU  s)    ?D}}M}V((0}MMM   *c                     t        j                  |j                  |j                  t	        |j
                              S N)r  rc   options)r   Documentr  rc   rb   r  r   s     r%   ro  zGrpcToRest.convert_documentY  s-    }}++#EMM2
 	
rZ   c                     t        j                  t        |j                        |j                  t        |j                              S N)rl  rc   r  )r   ImagerR   rl  rc   rb   r  r   s     r%   rp  zGrpcToRest.convert_imagea  s2    zz,++#EMM2
 	
rZ   c                     t        j                  t        |j                        |j                  t        |j                              S N)rm  rc   r  )r   InferenceObjectrR   rm  rc   rb   r  r   s     r%   rq  z#GrpcToRest.convert_inference_objecti  s4    ## .++#EMM2
 	
rZ   c                    |j                  d      }|t        d|       t        ||      }|dk(  r| j                  |      S |dk(  r| j	                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |d	k(  r| j                  |      S t        d|       )
Nr   invalid VectorInput model: r  r^  r_  r`  rk  rl  rm  )
r   r   r   rh  rd  re  rf  ro  rp  rq  r   s       r%   convert_vector_inputzGrpcToRest.convert_vector_inputq  s    	*<:5'BCCeT"4<'',,7?++C008,,S11= 11#66:'',,7?$$S))8//446ug>??rZ   c           	      D   t        j                  |j                  D cg c]  }| j                  |       c}|j                  D cg c]  }| j                  |       c}|j                  d      r | j                  |j                              S d       S c c}w c c}w )Nstrategypositivenegativer  )r   RecommendInputr  r  r  r   convert_recommend_strategyr  r  s      r%   convert_recommend_inputz"GrpcToRest.convert_recommend_input  s    ""EJ^^T^6c..v6^TEJ^^T^6c..v6^T >>*- ..u~~>	
 	
 
 	
TTs   BB
c                     t        j                  | j                  |j                        | j                  |j                              S N)r  r  )r   ContextPairr  r  r  r   s     r%   convert_context_input_pairz%GrpcToRest.convert_context_input_pair  s9    --enn=--enn=
 	
rZ   c                 ^    |j                   D cg c]  }| j                  |       c}S c c}w r3   )pairsr  r   rc   pairs      r%   convert_context_inputz GrpcToRest.convert_context_input  s)    AFM..t4MMMr  c                     t        j                  | j                  |j                        | j	                  |j
                              S N)targetcontext)r   DiscoverInputr  r  r  r  r   s     r%   convert_discover_inputz!GrpcToRest.convert_discover_input  9    !!++ELL9--emm<
 	
rZ   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nzinvalid Fusion model: )r   FusionRRFr   DBSFr   r   s     r%   convert_fusionzGrpcToRest.convert_fusion  U    DKKOO#;;??"DKK$$$;;###1%9::rZ   c                     |t         j                  j                  k(  rt        j                  j                  S t        d|       Nzinvalid Sample model: )r   SampleRandomr   RANDOMr   r   s     r%   convert_samplezGrpcToRest.convert_sample  7    DKK&&&;;%%%1%9::rZ   c                     t        |j                        }t        j                  | j	                  |j
                        |      S )N)formuladefaults)rb   r  r   FormulaQueryconvert_expression
expression)r   rc   r  s      r%   convert_formula_queryz GrpcToRest.convert_formula_query  s9    "5>>2  **5+;+;<x
 	
rZ   c                 `   |j                  d      }|t        d|       |dk(  r|j                  S |dk(  r|j                  S |dk(  r| j	                  |j
                        S |dk(  r t        j                  |j                        S |dk(  r t        j                  |j                  	      S |d
k(  r| j                  |j                        S |dk(  r| j                  |j                        S |dk(  r| j                  |j                         S |dk(  r/t        j"                  | j%                  |j&                              S |dk(  r/t        j(                  | j%                  |j*                              S |dk(  r/t        j,                  | j%                  |j.                              S |dk(  r/t        j0                  | j%                  |j2                              S |dk(  r/t        j4                  | j%                  |j6                              S |dk(  r/t        j8                  | j%                  |j:                              S |dk(  r| j=                  |j>                        S |dk(  r| jA                  |jB                        S |dk(  r/t        jD                  | jG                  |jH                              S |dk(  r/t        jJ                  | jG                  |jL                              S |dk(  r/t        jN                  | jG                  |jP                               S t        d!|       )"Nr   invalid Query model: constantvariabler   r   r   datetime_keyr  summultdivabsr  negr  log10r  lnr  sqrtr  expr  powgeo_distance	lin_decayr  	exp_decayr  gauss_decayr  zUnknown function name: ))r   r   r  r  r   r   r   DatetimeExpressionr   DatetimeKeyExpressionr  convert_sum_expressionr  convert_mult_expressionr  convert_div_expressionr  AbsExpressionr  r  NegExpressionr  Log10Expressionr  LnExpressionr  SqrtExpressionr  ExpExpressionr  convert_pow_expressionr  convert_geo_distancer  LinDecayExpressionconvert_decay_params_expressionr  ExpDecayExpressionr  GaussDecayExpressionr  r  s      r%   r  zGrpcToRest.convert_expression  s   	*<4UG<==:>>!:>>!;((99:**ENNCC>!--5;M;MNN5=--eii886>..uzz::5=--eii885=%%#*@*@*KLL5=%%#*@*@*KLL7?''c.D.DU[[.QRR4<$$(>(>uxx(HII6>&&C,B,B5::,NOO5=%%#*@*@*KLL5=--eii88>!++E,>,>??;**==eooN  ;**==eooN  = ,,??@Q@QR  24&9::rZ   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w Nr  )r   SumExpressionr  r  r   rc   exprs      r%   r  z!GrpcToRest.convert_sum_expression  9    !!PUPYPY&ZPYs'='=d'CPY&Z[[&Zr   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w Nr  )r   MultExpressionr  r  r  s      r%   r  z"GrpcToRest.convert_mult_expression  9    ""RWR\R\(]R\$)?)?)ER\(]^^(]r   c                    | j                  |j                        }| j                  |j                        }|j                  d      r|j                  nd }t        j                  |||      }t        j                  |      S )Nby_zero_defaultleftrightr  r  )r  r  r  r   r  r   	DivParamsDivExpression)r   rc   r  r  r  r   s         r%   r  z!GrpcToRest.convert_div_expression  sg    %%ejj1&&u{{338>>BS3T%//Z^TX!!f--rZ   c                     | j                  |j                        }| j                  |j                        }t        j                  ||      }t        j
                  |      S )Nbaseexponentr  )r  r  r  r   	PowParamsPowExpression)r   rc   r  r  r   s        r%   r  z!GrpcToRest.convert_pow_expression  sK    %%ejj1))%..9TH=!!f--rZ   c                     | j                  |j                        }t        j                  ||j                        }t        j
                  |      S )Norigintor  )r   r	  r   GeoDistanceParamsr
  GeoDistance)r   rc   r	  r   s       r%   r  zGrpcToRest.convert_geo_distance
  s=    &&u||4''v%((CV44rZ   c                 <   t        j                  | j                  |j                        |j	                  d      r| j                  |j
                        nd |j	                  d      r|j                  nd |j	                  d      r|j                        S d       S )Nr  midpointscalexr  r  r  )r   DecayParamsExpressionr  r  r   r  r  r  r   s     r%   r  z*GrpcToRest.convert_decay_params_expression  s     ))$$UWW-;@>>(;S3))%,,7Y]',~~j'AU^^t!&!8%++	
 	
 ?C	
 	
rZ   c                     t        j                  |j                  d      r|j                  nd |j                  d      r|j                        S d       S )N	diversitycandidates_limitr  r  )r   Mmrr   r  r  r   s     r%   convert_mmrzGrpcToRest.convert_mmr  sN    xx).)Deoo$~~01 #33
 	
 	
 	
rZ   c                    |j                  d      }|t        d|       t        ||      }|dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |d	k(  r%t        j                  | j                  |      
      S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                   | j#                  |            S |dk(  r| j%                  |      S |dk(  rU|j&                  }t        j                  | j                  |j(                        | j+                  |j,                              S t        d|       )Nr   r  nearestr  	recommendr  discoverr  r  r  order_byr"  fusionr$  sampler&  r  nearest_with_mmrr  mmr)r   r   r   r   NearestQueryr  RecommendQueryr  DiscoverQueryr  ContextQueryr  OrderByQueryconvert_order_byFusionQueryr  SampleQueryr  r  r(  r  r  r*  r   s       r%   convert_queryzGrpcToRest.convert_query$  s   	*<4UG<==eT"9$$S-E-Ec-JKK;&&1L1LS1QRR:%%s/I/I#/NOO9$$S-F-Fs-KLL:$$c.B.B3.GHH8##3+=+=c+BCC8##3+=+=c+BCC9,,S11%%((C$$00=3??SVSZSZC[  0899rZ   c                    t        j                  t        |j                        dk7  r)|j                  D cg c]  }| j	                  |       c}nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r | j                  |j                         	      S d 	      S c c}w )
Nr   queryusingr   r   score_thresholdlimitlookup_fromprefetchr5  r6  r   r   r7  r8  r9  )r   Prefetchrc  r;  convert_prefetch_queryr   r3  r5  r6  r   r   r  r   r7  r8  convert_lookup_locationr9  r   rc   r;  s      r%   r=  z!GrpcToRest.convert_prefetch_queryK  s$   }} u~~&!+ GLnnUn(++H5nU49NN74K###EKK0QU!&!8%++d7<~~h7O3%%ell3UY>CnnX>V3,,U\\:\`5:^^DU5VE11\`!&!8%++d >>-0 ++E,=,=>
 	
 
 	
Us   E+c                      |j                   d d  S r3   namesr   s     r%   convert_vectors_selectorz#GrpcToRest.convert_vectors_selector`  s    {{1~rZ   c                     |j                  d      }|t        d|       t        ||      }|dk(  r|S |dk(  r| j                  |      S t        d|       )Nr  z#invalid WithVectorsSelector model: r  r  )r   r   r   rC  r   s       r%   convert_with_vectors_selectorz(GrpcToRest.convert_with_vectors_selectord  sp     23<B5'JKKeT"8J9//44>ugFGGrZ   c                    |j                  d      s.t        j                  |j                  |j                  d d        nYt        j
                  |j                  t        j                  |j                  j                  d d  |j                  d d              }t        j                  ||j                  d      r| j                  |j                        nd |j                  |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                         nd |j                  d      r|j"                  nd |j                  d      r|j$                  nd |j                  d	      r| j'                  |j(                        nd |j                  d
      r | j+                  |j,                        	      S d 	      S )Nsparse_indices)r!   r  r]  r   with_payloadr   r7  offsetwith_vectorsr  )	r  r   r8  rH  r   r7  rI  with_vectorr  )r   r   NamedVectorvector_namer  NamedSparseVectorra  rG  rb  SearchRequestr   r   r8  r"  rH  r  r   r7  rI  rE  rJ  convert_shard_key_selectorr  r  s      r%   convert_search_pointsz GrpcToRest.convert_search_pointsq  s    >>"23 %"3"3ELLOL &&**,, % 4 4 9 9! <U\\RS_	 	 !!7<~~h7O3%%ell3UY++ >>.1 2253E3EF>CnnX>V3,,U\\:\`5:^^DU5VE11\`#(>>(#;5<< >>.1 11%2D2DE >>"67 ..u/G/GH%
 	
( )
 	
rZ   c                 *   t        j                  |j                  d      r| j                  |j                        nd t        |j                        dk7  r)|j                  D cg c]  }| j                  |       c}nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r|j                   nd |j                  d	      r|j"                  nd |j                  d
      r| j%                  |j&                        nd |j                  d      r| j)                  |j*                        nd |j                  d      r | j-                  |j.                              S d       S c c}w )Nr  r   r5  r6  r   r   r7  r8  rI  rJ  rH  r9  )r  r;  r5  r6  r   r   r7  r8  rI  rK  rH  r9  )r   QueryRequestr   rP  r  rc  r;  r=  r3  r5  r6  r   r   r  r   r7  r8  rI  rE  rJ  r"  rH  r>  r9  r?  s      r%   convert_query_pointszGrpcToRest.convert_query_points  s      >>"67 ..u/G/GH u~~&!+ GLnnUn(++H5nU49NN74K###EKK0QU!&!8%++d7<~~h7O3%%ell3UY>CnnX>V3,,U\\:\`5:^^DU5VE11\`!&!8%++d#(>>(#;5<< >>.1 11%2D2DE >>.1 2253E3EF >>-0 ++E,=,=>;!
 !	
> ?!
 !	
 Vs   #H
c                    |j                   D cg c]  }| j                  |       }}|j                  D cg c]  }| j                  |       }}|j                  D cg c]  }| j	                  |       }}|j
                  D cg c]  }| j	                  |       }}t        j                  ||z   ||z   |j                  d      r| j                  |j                        nd |j                  |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r|j                   nd |j                  d      r|j"                  nd |j                  d      r| j%                  |j&                        nd |j(                  |j                  d      r| j+                  |j,                        nd |j                  d      r| j/                  |j0                        nd |j                  d	      r | j3                  |j4                        
      S d 
      S c c}w c c}w c c}w c c}w )Nr   rH  r   r7  rI  rJ  r9  r  r  )r  r  r   r8  rH  r   r7  rI  rK  r6  r9  r  r  )r  rh  r  positive_vectorsrr  negative_vectorsr   RecommendRequestr   r   r   r8  r"  rH  r  r   r7  rI  rE  rJ  r6  r>  r9  r  r  rP  r  )r   rc   point_idpositive_idsnegative_idsr  rV  rW  s           r%   convert_recommend_pointsz#GrpcToRest.convert_recommend_points  s   GL~~V~8,,X6~VGL~~V~8,,X6~VEJE[E[\E[6C..v6E[\EJE[E[\E[6C..v6E[\$$!$44!$447<~~h7O3%%ell3UY++ >>.1 2253E3EF>CnnX>V3,,U\\:\`5:^^DU5VE11\`#(>>(#;5<< >>.1 11%2D2DE++ >>-0 ++E,=,=> >>*- ..u~~> >>"67 ..u/G/GH="
 "	
@ A"
 "	
 WV\\s   IIIIc                 t   |j                  d      r| j                  |j                        nd }|j                  D cg c]  }| j	                  |       }}t        j                  |||j                  d      r| j                  |j                        nd |j                  |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r| j                  |j                         nd |j"                  |j                  d      r| j%                  |j&                        nd |j                  d      r | j)                  |j*                        	      S d 	      S c c}w )
Nr  r   rH  r   rI  rJ  r9  r  )r  r  r   r8  rH  r   rI  rK  r6  r9  r  )r   convert_target_vectorr  r  convert_context_example_pairr   DiscoverRequestr   r   r8  r"  rH  r  r   rI  rE  rJ  r6  r>  r9  rP  r  )r   rc   r  r  r  s        r%   convert_discover_pointsz"GrpcToRest.convert_discover_points  sq   <ANN8<T**5<<8Z^FKmmTmd333D9mT##7<~~h7O3%%ell3UY++ >>.1 2253E3EF>CnnX>V3,,U\\:\`#(>>(#;5<< >>.1 11%2D2DE++ >>-0 ++E,=,=> >>"67 ..u/G/GH1
 	
4 5
 	
 Us   F5c                     |j                  d      r| j                  |j                        S |j                  d      r| j                  |j                        S t        d|       )Nr  r  zinvalid VectorExample model: )r   rr  r  rh  r  r   r   s     r%   convert_vector_examplez!GrpcToRest.convert_vector_example
  sW    >>(#%%ell33>>$''118@AArZ   c                 v    |j                  d      r| j                  |j                        S t        d|       )Nsinglezinvalid TargetVector model: )r   rc  re  r   r   s     r%   r^  z GrpcToRest.convert_target_vector  s6    >>(#--ell;;7w?@@rZ   c                     t        j                  | j                  |j                        | j                  |j                              S r  )r   ContextExamplePairrc  r  r  r   s     r%   r_  z'GrpcToRest.convert_context_example_pair  s;     &&//?//?
 	
rZ   c                    |t         j                  k(  ry |t         j                  k(  rt        j                  j
                  S |t         j                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S t        d|       Nzinvalid TokenizerType model: )r   UnknownPrefixr   TokenizerTypePREFIX
Whitespace
WHITESPACEWordWORDMultilingualMULTILINGUALr   r   s     r%   convert_tokenizer_typez!GrpcToRest.convert_tokenizer_type#  s    DLL DKK%%,,,DOO#%%000DII%%***D%%%%%2228@AArZ   c                 L   t        j                  d| j                  |j                        |j	                  d      r|j
                  nd |j	                  d      r|j                  nd |j	                  d      r|j                  nd |j	                  d      r|j                  nd |j	                  d      r| j                  |j                        nd |j	                  d      r|j                  nd |j	                  d      r | j                  |j                        		      S d 		      S )
Nr  min_token_lenmax_token_len	lowercasephrase_matching	stopwordsr   stemmer)	type	tokenizerrv  rw  rx  ry  rz  r   r{  )r   TextIndexParamsrt  r}  r   rv  rw  rx  ry  convert_stopwordsrz  r   convert_stemmerr{  r   s     r%   r;  z$GrpcToRest.convert_text_index_params2  s    ##00A161P%--VZ161P%--VZ).)Deoo$5:^^DU5VE11\`~~k* ++EOO<%*^^I%>EMMD:?..:SC''6
 	
 Z^
 	
rZ   c                     |j                   d d  }|j                  d d  }t        |      dk(  r|st        j                  |d         S t        j
                  ||      S )N   r   	languagescustom)r  r  rc  r   LanguageStopwordsSet)r   rc   r  r  s       r%   r  zGrpcToRest.convert_stopwordsB  sQ    OOA&	ay>Qv==1..  9VDDrZ   c                     |j                  d      }|t        d|       t        ||      }|dk(  r| j                  |      S t        d|       )Nstemming_params!invalid StemmingAlgorithm model: snowball)r   r   r   convert_snowball_parametersr   s       r%   r  zGrpcToRest.convert_stemmerK  sc     12<@HIIeT":22377<UGDEErZ   c                     t        j                  t         j                  j                  t        j                  |j
                              S )N)r|  language)r   SnowballParamsSnowballSNOWBALLSnowballLanguager  r   s     r%   r  z&GrpcToRest.convert_snowball_parametersV  s3    ""''$2G2G2W
 	
rZ   c           	         t        j                  t         j                  j                  |j                  |j
                  |j                  d      r|j                  nd |j                  d      r|j                        S d       S )Nis_principalr   )r|  r  lookupr  r   )	r   IntegerIndexParamsIntegerIndexTyperF  r  r  r   r  r   r   s     r%   r<  z'GrpcToRest.convert_integer_index_params\  sn     &&&&..++<</4~~n/M++SW%*^^I%>EMM
 	

 EI
 	
rZ   c                     t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                        S d       S N	is_tenantr   )r|  r  r   )r   KeywordIndexParamsKeywordIndexTyperG  r   r  r   r   s     r%   r=  z'GrpcToRest.convert_keyword_index_paramsh  s]     &&&&..).)Deoo$%*^^I%>EMM
 	
 EI
 	
rZ   c                     t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                        S d       S Nr  r   )r|  r  r   )r   FloatIndexParamsFloatIndexTyperD  r   r  r   r   s     r%   r>  z%GrpcToRest.convert_float_index_paramsr  s^    $$$$**/4~~n/M++SW%*^^I%>EMM
 	
 EI
 	
rZ   c                     t        j                  t         j                  j                  |j	                  d      r|j
                        S d       S Nr   )r|  r   )r   GeoIndexParamsGeoIndexTyperE  r   r   r   s     r%   r?  z#GrpcToRest.convert_geo_index_paramsz  sC    """"&&%*^^I%>EMM
 	
DH
 	
rZ   c                     t        j                  t         j                  j                  |j	                  d      r|j
                        S d       S r  )r   BoolIndexParamsBoolIndexTyperH  r   r   r   s     r%   r@  z$GrpcToRest.convert_bool_index_params  sC    ####((%*^^I%>EMM
 	
DH
 	
rZ   c                     t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                        S d       S r  )r   DatetimeIndexParamsDatetimeIndexTyperJ  r   r  r   r   s     r%   rA  z(GrpcToRest.convert_datetime_index_params  s`     ''''00/4~~n/M++SW%*^^I%>EMM
 	
 EI
 	
rZ   c                     t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                        S d       S r  )r   UuidIndexParamsUuidIndexTyperK  r   r  r   r   s     r%   rB  z$GrpcToRest.convert_uuid_index_params  s[    ####(().)Deoo$%*^^I%>EMM
 	
 EI
 	
rZ   c                 &   t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                  nd |j                  d      r|j                        S d       S )Nr  r  r  r  )r  r  r  r  )r   CollectionParamsDiffr   r  r  r  r  r   s     r%   r  z)GrpcToRest.convert_collection_params_diff  s     ((,1NN;O,P((VZ >>"<= .. .3^^<Q-R))X\5:^^DU5VE11
 	
 ]a
 	
rZ   c                     t        j                  |j                  |j                  d      r|j                        S d       S )NrM  )
collectionr  )r   LookupLocationr  r   rM  r   s     r%   r>  z"GrpcToRest.convert_lookup_location  s?    "",,(-}(E5$$
 	
KO
 	
rZ   c                    |j                   t        j                  j                  k(  rt        j
                  j                  S |j                   t        j                  j                  k(  rt        j
                  j                  S |j                   t        j                  j                  k(  rt        j
                  j                  S t        d|       )Ninvalid WriteOrdering model: )r|  r   WriteOrderingTypeWeakr   WriteOrderingWEAKMediumMEDIUMStrongSTRONGr   r   s     r%   convert_write_orderingz!GrpcToRest.convert_write_ordering  s    :://444%%***:://666%%,,,:://666%%,,,8@AArZ   c                     |j                  d      }|t        d|       t        ||      }|dk(  r|S |dk(  r| j                  |      S t        d|       )NrH   invalid ReadConsistency model: factorr|  )r   r   r   convert_read_consistency_typer   s       r%   convert_read_consistencyz#GrpcToRest.convert_read_consistency  sn    (<>ugFGGeT"8J6>44S99:5'BCCrZ   c                 ,   |t         j                  k(  rt        j                  j                  S |t         j
                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S t        d|       Nz#invalid ReadConsistencyType model: )
r   Allr   ReadConsistencyTypeALLMajorityMAJORITYQuorumQUORUMr   r   s     r%   r  z(GrpcToRest.convert_read_consistency_type  sq     DHH++///DMM!++444DKK++222>ugFGGrZ   c                     t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                        S d       S )Nquantile
always_ramr|  r  r  )r   ScalarQuantizationConfig
ScalarTypeINT8r   r  r  r   s     r%   "convert_scalar_quantization_configz-GrpcToRest.convert_scalar_quantization_config  s]     ,,%%',~~j'AU^^t+0>>,+Gu''
 	
 NR
 	
rZ   c                     t        j                  | j                  |j                        |j	                  d      r|j
                        S d       S )Nr  compressionr  )r   ProductQuantizationConfigconvert_compression_ratior  r   r  r   s     r%   #convert_product_quantization_configz.GrpcToRest.convert_product_quantization_config  sL     --55e6G6GH+0>>,+Gu''
 	
MQ
 	
rZ   c                 &   t        j                  |j                  d      r|j                  nd |j                  d      r| j	                  |j
                        nd |j                  d      r | j                  |j                              S d       S )Nr  encodingquery_encodingr  r  r  )r   BinaryQuantizationConfigr   r  $convert_binary_quantization_encodingr  *convert_binary_quantization_query_encodingr  r   s     r%   "convert_binary_quantization_configz-GrpcToRest.convert_binary_quantization_config  s     ,,+0>>,+Gu''T~~j) ==ennM~~./ II%J^J^_
 	
 
 	
rZ   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nz*invalid BinaryQuantizationEncoding model: )
r   BinaryQuantizationEncodingOneBitr   ONE_BITTwoBitsTWO_BITSOneAndHalfBitsONE_AND_HALF_BITSr   r   s     r%   r  z/GrpcToRest.convert_binary_quantization_encoding  s     D33:::22:::D33;;;22;;;D33BBB22DDDEeWMNNrZ   c                    |j                  d      }|t        d|       t        ||      }|dk(  r|t        j                  j
                  j                  k(  rt        j                  j                  S |t        j                  j
                  j                  k(  rt        j                  j                  S |t        j                  j
                  j                  k(  rt        j                  j                  S |t        j                  j
                  j                  k(  rt        j                  j                  S t        d|       t        d|       )Nr   /invalid BinaryQuantizationQueryEncoding model: r  z1invalid BinaryQuantizationQueryEncoding setting: )r   r   r   r   BinaryQuantizationQueryEncodingr  Defaultr   DEFAULTBinaryBINARYScalar4BitsSCALAR4BITSScalar8BitsSCALAR8BITSr   s       r%   r  z5GrpcToRest.convert_binary_quantization_query_encoding  s     	*<NugVWWeT"9d::BBJJJ;;CCCd::BBIII;;BBBd::BBNNN;;GGGd::BBNNN;;GGGCC5I  =eWE
 	
rZ   c                    |t         j                  k(  rt        j                  j                  S |t         j
                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S t        d|       Nz invalid CompressionRatio model: )r   x4r   CompressionRatioX4x8X8x16X16x32X32x64X64r   r   s     r%   r  z$GrpcToRest.convert_compression_ratio  s    DGG((+++DGG((+++DHH((,,,DHH((,,,DHH((,,,;E7CDDrZ   c                 t   |j                  d      }|t        d|       t        ||      }|dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S t        d|       )	Nr  "invalid QuantizationConfig model: scalarr  productr  binaryr	  )
r   r   r   r   ScalarQuantizationr  ProductQuantizationr  BinaryQuantizationr  r   s       r%   r   z&GrpcToRest.convert_quantization_config-  s     /<A%IJJeT"8**#2X2XY\2]^^9++C4[4[\_4`aa8**#2X2XY\2]^^=eWEFFrZ   c                     t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                        S d       S )Nignorerescoreoversamplingr  r  r  )r   QuantizationSearchParamsr   r  r  r  r   s     r%   r  z-GrpcToRest.convert_quantization_search_params=  sd     ,,#(>>(#;5<<%*^^I%>EMMD/4~~n/M++
 	
 TX
 	
rZ   c                     t        j                  | j                  |j                        | j	                  |j
                              S )N)r  r  )r   PointVectorsrh  r  r  r  r   s     r%   convert_point_vectorsz GrpcToRest.convert_point_vectorsG  s9      ##EHH-&&u}}5
 	
rZ   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w N)groups)r   GroupsResultr  convert_point_groupr   rc   groups      r%   convert_groups_resultz GrpcToRest.convert_groups_resultN  9      @EMuC++E2M
 	
Mr   c           	         t        j                  | j                  |j                        |j                  D cg c]  }| j                  |       c}|j                  d      r | j                  |j                              S d       S c c}w )Nr  r  hitsr  )	r   
PointGroupconvert_group_idr  r"  r  r   r'  r  )r   rc   hits      r%   r  zGrpcToRest.convert_point_groupT  sw    ##EHH-;@::F:C#**3/:F7<~~h7O3%%ell3
 	
 VZ
 	
Fs   B

c                 `    |j                  d      }|t        d|       t        ||      }|S )Nkindinvalid GroupId model: r  r   s       r%   r$  zGrpcToRest.convert_group_id\  s;    '<6ug>??eT"
rZ   c                     t        j                  |j                  |j                  d      r| j	                  |j
                        nd |j                  d      r | j                  |j                              S d       S )NrH  rJ  )r  rH  rJ  )r   
WithLookupr  r   r   rH  rE  rJ  r   s     r%   convert_with_lookupzGrpcToRest.convert_with_lookupd  sv    '' >>.1 11%2D2DE >>.1 11%2D2DE
 	
 
 	
rZ   c                    |j                  d      }|t        d|       t        ||      }|dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |d	k(  rt        j                  j                  S t        d|       )
Nr  &invalid QuantizationConfigDiff model: r  r  r  r  r	  r
  disabled)r   r   r   r   r  r  r  r  r  r  DisabledDISABLEDr   s       r%   r  z+GrpcToRest.convert_quantization_config_difft  s     /<EeWMNNeT"8**#2X2XY\2]^^9++C4[4[\_4`aa8**#2X2XY\2]^^:==)))A%IJJrZ   c                 &   t        j                  |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r|j                        S d       S )Nr   r   r   r   r   r   )r   VectorParamsDiffr   r   r   r  r   r   r   s     r%   convert_vector_params_diffz%GrpcToRest.convert_vector_params_diff  s    $$ >>-0 ,,U->->? >>"78 44U5N5NO%*^^I%>EMM
 	
 EI
 	
rZ   c                     |j                  d      }|t        d|       t        ||      }|dk(  rd j                  |      iS |dk(  r,t	         fd|j
                  j                         D              S t        d|       )Nr   !invalid VectorsConfigDiff model: r    rT  c              3   J   K   | ]  \  }}|j                  |      f  y wr3   r4  rW  s      r%   r9   z9GrpcToRest.convert_vectors_config_diff.<locals>.<genexpr>  s-      '6OC c44Z@A'6rY  )r   r   r   r4  rF   rZ  rG   r   s   `   r%   r  z&GrpcToRest.convert_vectors_config_diff  s    )<@HIIeT"866s;<<< '*ww}}   <UGDEErZ   c           
         |j                  d      }|t        d|       t        ||      }|dk(  r|j                  d      r| j	                  |j
                        nd }t        j                  t        j                  |j                  D cg c]  }| j                  |       c}|            S |dk(  rR|j                  d      r|j
                  nd }| j                  |j                  |      }t        j                  |	      S |d
k(  r|j                  d      r|j
                  nd }| j                  |j                  |      }d }d }t        |t        j                        r|j                  }n5t        |t        j                         r|j"                  }nt        d|       t        j$                  t        j&                  | j)                  |j*                        |||j                  d      r|j,                  nd             S |dk(  r|j                  d      r|j
                  nd }| j                  |j                  |      }d }d }t        |t        j                        r|j                  }n5t        |t        j                         r|j"                  }nt        d|       t        j.                  t        j&                  | j)                  |j*                        |||j                  d      r|j,                  nd             S |dk(  r|j                  d      r|j
                  nd }| j                  |j                  |      }d }d }t        |t        j                        r|j                  }n5t        |t        j                         r|j"                  }nt        d|       t        j0                  t        j2                  |j4                  D 	cg c]  }	|	 c}	||            S |dk(  rR|j                  d      r|j
                  nd }| j                  |j                  |      }t        j6                  |      S |dk(  r|j                  d      r| j	                  |j
                        nd }t        j8                  t        j:                  |j                  D cg c]  }| j=                  |       c}|            S |dk(  r|j                  d      r|j
                  nd }| j                  |j                  |      }d }d }t        |t        j                        r|j                  }n5t        |t        j                         r|j"                  }nt        d|       t        j>                  t        j@                  |jB                  jD                  D cg c]  }| c}||            S t        d|       c c}w c c}	w c c}w c c}w )N	operationz%invalid PointsUpdateOperation model: upsertr  r  r<  delete_points)r  )deleteset_payloadr  rT   )r'   r   r   rT   r@  overwrite_payloadrB  delete_payload)keysr   r   rD  clear_payloadrG  update_vectorsrI  delete_vectors)r  r   r   rK  invalid UpdateOperation model: )#r   r   r   r   r  r  r   UpsertOperation
PointsListr   r  r  DeleteOperationpoints_selectorr?   r  r  r   SetPayloadOperation
SetPayloadr  r'   rT   OverwritePayloadOperationDeletePayloadOperationDeletePayloadrE  ClearPayloadOperationUpdateVectorsOperationUpdateVectorsr  DeleteVectorsOperationDeleteVectorsr  rB  )
r   rc   r!   rU   r  r   rQ  r   filter_rT   s
             r%   convert_points_update_operationz*GrpcToRest.convert_points_update_operation  s    ,<DUGLMMeT"8 << 45 %%c&<&<= 
 ''ILTC44U;T0  _$*-,,7K*L&&RV  "99

/A : O ''??]"*-,,7K*L&&RV  "99##8J : O FG/4+<+<=(//OT-@-@A)00 4_4EF  ++ OO//<!"#&<<#6D	  ((*-,,7K*L&&RV  "99##8J : O FG/4+<+<=(//OT-@-@A)00 4_4EF  11"&////<!"#&<<#6D	#  %%*-,,7K*L&&RV  "99##8J : O FG/4+<+<=(//OT-@-@A)00 4_4EF  ..#11),2##2!"   _$*-,,7K*L&&RV  "99

/A : O --OLL%% << 45 %%c&<&<= 
 ..#11JM**U*C55e<*U0   %%*-,,7K*L&&RV  "99##8J : O FG/4+<+<=(//OT-@-@A)00 4_4EF  ..#11-0[[->->?->TD->?!"   >ugFGGO Uh 3* V0 @s   W	W-W*	Wc                 j    t        |t              rt        j                  |      S t	        d|       )N)r  zInvalid InitFrom model: )r?   rC   r   InitFromr   r   s     r%   convert_init_fromzGrpcToRest.convert_init_from@  s.    eS!==E223E7;<<rZ   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nz!invalid RecommendStrategy model: )
r   RecommendStrategyAverageVectorr   AVERAGE_VECTOR	BestScore
BEST_SCORE	SumScores
SUM_SCORESr   r   s     r%   r  z%GrpcToRest.convert_recommend_strategyF  s    D**888))888D**444))444D**444))444<UGDEErZ   c                    t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r | j                  |j                              S d       S )Nr   r   r@  r   r   r@  )r   SparseIndexParamsr   r   r   r>  r@  r   s     r%   convert_sparse_index_configz&GrpcToRest.convert_sparse_index_configP  so    %%-2^^<Q-R))X\%*^^I%>EMMD=B^^J=WS))%..9
 	

 ^b
 	
rZ   c                     |t         j                  j                  k(  rt        j                  j                  S |t        t         j                  d      k(  rt        j                  j                  S t        d|       NNonezinvalid Modifier model: )r   ModifierIdfr   IDFr   NONEr   r   s     r%   convert_modifierzGrpcToRest.convert_modifierZ  sZ    DMM%%%==$$$GDMM622==%%%3E7;<<rZ   c                     t        j                  |j                  d      | j                  |j                        nd |j                  d      r | j                  |j                              S d       S )Nindexmodifierrw  rx  )r   SparseVectorParamsr   rm  rw  ru  rx  r   s     r%   convert_sparse_vector_paramsz'GrpcToRest.convert_sparse_vector_paramsb  so     && >>'*6 //< 9>z8R$$U^^4	
 		
 Y]	
 		
rZ   c                 \     t         fd|j                  j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr3   r{  r6   rT   rU   r   s      r%   r9   z:GrpcToRest.convert_sparse_vector_config.<locals>.<genexpr>u  s(     cQbXS#S#::3?@QbrY  )rF   rZ  rG   r   s   ` r%   r  z'GrpcToRest.convert_sparse_vector_configq  s&     cQVQZQZQ`Q`QbcccrZ   c                 `    |j                  d      }|t        d|       t        ||      }|S )NrT   invalid ShardKey model: r  r   s       r%   r  zGrpcToRest.convert_shard_keyw  s;    &<7w?@@eT"
rZ   c                     t        |j                        dk(  r| j                  |j                  d         S |j                  D cg c]  }| j                  |       c}S c c}w )Nr  r   )rc  
shard_keysr  )r   rc   r  s      r%   rP  z%GrpcToRest.convert_shard_key_selector  s\    u A%(()9)9!)<==BGBRBRSBRY%%i0BRSSSs   A c                     |t         j                  k(  rt        j                  j                  S |t         j
                  k(  rt        j                  j                  S t        d|       Nzinvalid ShardingMethod model: )r   r  r   ShardingMethodr  CustomCUSTOMr   r   s     r%   r  z"GrpcToRest.convert_sharding_method  sQ    DII&&+++DKK&&---9%ABBrZ   c                     |t         j                  k(  rt        j                  j                  S |t         j
                  k(  rt        j                  j                  S t        d|       Nzinvalid Direction model: )r   Ascr   	DirectionASCDescDESCr   r   s     r%   convert_directionzGrpcToRest.convert_direction  sM    DHH>>%%%DII>>&&&4UG<==rZ   c                    |j                  d      r|j                  S |j                  d      r|j                  S |j                  d      r| j                  |j                        }|S |j                  d      r|j
                  S y )Nr  rB   	timestampr   )r   r  rB   r   r  r   )r   rc   dts      r%   convert_start_fromzGrpcToRest.convert_start_from  sn    >>)$== >>'";;>>+&&&u7BI>>*%>>! &rZ   c                     t        j                  |j                  |j                  d      r| j	                  |j
                        nd |j                  d      r | j                  |j                              S d       S )N	direction
start_fromrT   r  r  )r   OrderByrT   r   r  r  r  r  r   s     r%   r0  zGrpcToRest.convert_order_by  sm    ||		:?..:U%%eoo6[_ =BNN<<X&&u'7'78
 	
 _c
 	
rZ   c                 `    |j                  d      }|t        d|       t        ||      }|S )Nr   invalid FacetValue model: r  r   s       r%   convert_facet_valuezGrpcToRest.convert_facet_value  s;    	*<9%ABBeT"
rZ   c                 v    t        j                  | j                  |j                        |j                        S N)rH   r*  )r   FacetValueHitr  rH   r*  r   s     r%   convert_facet_value_hitz"GrpcToRest.convert_facet_value_hit  s.    !!))%++6++
 	
rZ   c                     t        j                  |j                  |j                  |j	                  d      r|j
                        S d       S )Ncommittitler  r  )r   VersionInfor  r  r   r  r   s     r%   convert_health_check_replyz%GrpcToRest.convert_health_check_reply  sF    ++MM#(>>(#;5<<
 	
 BF
 	
rZ   c                     t        j                  | j                  |j                        | j                  |j                        |j
                        S N)abr  )r   SearchMatrixPairrh  r  r  r  r   s     r%   convert_search_matrix_pairz%GrpcToRest.convert_search_matrix_pair  s@    $$""577+""577+++
 	
rZ   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w Nr  )r   SearchMatrixPairsResponser  r  r  s      r%   convert_search_matrix_pairsz&GrpcToRest.convert_search_matrix_pairs  s;     --DIKKPKD311$7KP
 	
Pr   c                     t        j                  t        |j                        t        |j                        t        |j
                        |j                  D cg c]  }| j                  |       c}      S c c}w N)offsets_rowoffsets_colscoresr  )r   SearchMatrixOffsetsResponserD   r  r  r  r  rh  r   rc   p_ids      r%   convert_search_matrix_offsetsz(GrpcToRest.convert_search_matrix_offsets  sf     //U../U../%8=		B	%%d+	B	
 	
 C   A:c                 r    t        j                  |j                  d      r|j                        S d       S Nmax_vectorsr  )r   StrictModeMultivectorr   r  r   s     r%   convert_strict_mode_multivectorz*GrpcToRest.convert_strict_mode_multivector  s8     ))-2^^M-J))
 	
PT
 	
rZ   c                 \     t         fd|j                  j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr3   r  r  s      r%   r9   zDGrpcToRest.convert_strict_mode_multivector_config.<locals>.<genexpr>  s-      
<S #55c:;<rY  rF   rA  rG   r   s   ` r%   &convert_strict_mode_multivector_configz1GrpcToRest.convert_strict_mode_multivector_config  .      
!44::<
 
 	
rZ   c                 r    t        j                  |j                  d      r|j                        S d       S N
max_lengthr  )r   StrictModeSparser   r  r   s     r%   convert_strict_mode_sparsez%GrpcToRest.convert_strict_mode_sparse  s6    $$+0>>,+Gu''
 	
MQ
 	
rZ   c                 \     t         fd|j                  j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr3   r  r  s      r%   r9   z?GrpcToRest.convert_strict_mode_sparse_config.<locals>.<genexpr>  s*      
Gb83S#0056GbrY  rF   sparse_configrG   r   s   ` r%   !convert_strict_mode_sparse_configz,GrpcToRest.convert_strict_mode_sparse_config  s.      
GLGZGZG`G`Gb
 
 	
rZ   c                    t        j                  di d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j
                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d	|j                  d	      r|j                  nd d
|j                  d
      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                   nd d|j                  d      r|j"                  nd d|j                  d      r|j$                  nd d|j                  d      r| j'                  |j(                        nd d|j                  d      r| j+                  |j,                        S d S Nenabledmax_query_limitmax_timeoutunindexed_filtering_retrieveunindexed_filtering_updatesearch_max_hnsw_efsearch_allow_exactsearch_max_oversamplingupsert_max_batchsize max_collection_vector_size_bytesread_rate_limitwrite_rate_limit!max_collection_payload_size_bytesmax_points_countfilter_max_conditionscondition_max_sizerA  r  r  )r   StrictModeConfigr   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rA  r  r  r   s     r%   convert_strict_mode_configz%GrpcToRest.convert_strict_mode_config  s   $$ =
%*^^I%>EMMD=
5:^^DU5VE11\`=
 .3^^M-J))PT=
 >>"@A 22=
 >>">? 00=
 -2NN;O,P((VZ=
$ -2NN;O,P((VZ%=
, >>";< --/=
4 /4nn=S.T**Z^5=
< >>"DE 66?=
B 6;^^DU5VE11\`C=
F +0..9K*L&&RVG=
N >>"EF 77Q=
V +0..9K*L&&RVW=
\ 05~~>U/V++\`]=
b -2NN;O,P((VZc=
j >>"67 ::5;S;STm=
t >>/2 55e6I6IJs=
 =	
v w=
 =	
rZ   c                    t        j                  di d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j
                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d	|j                  d	      r|j                  nd d
|j                  d
      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                   nd d|j                  d      r|j"                  nd d|j                  d      r|j$                  nd d|j                  d      r| j'                  |j(                        nd d|j                  d      r| j+                  |j,                        S d S r  )r   StrictModeConfigOutputr   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  -convert_strict_mode_multivector_config_outputrA  (convert_strict_mode_sparse_config_outputr  r   s     r%   r   z,GrpcToRest.convert_strict_mode_config_output@	  s    ** =
%*^^I%>EMMD=
5:^^DU5VE11\`=
 .3^^M-J))PT=
 >>"@A 22=
 >>">? 00=
 -2NN;O,P((VZ=
$ -2NN;O,P((VZ%=
, >>";< --/=
4 /4nn=S.T**Z^5=
< >>"DE 66?=
B 6;^^DU5VE11\`C=
F +0..9K*L&&RVG=
N >>"EF 77Q=
V +0..9K*L&&RVW=
\ 05~~>U/V++\`]=
b -2NN;O,P((VZc=
j >>"67 AA%BZBZ[m=
t >>/2 <<U=P=PQs=
 =	
v w=
 =	
rZ   c                 \     t         fd|j                  j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr3   &convert_strict_mode_multivector_outputr  s      r%   r9   zKGrpcToRest.convert_strict_mode_multivector_config_output.<locals>.<genexpr>	  s-      
<S #<<SAB<rY  r  r   s   ` r%   r  z8GrpcToRest.convert_strict_mode_multivector_config_output	  r  rZ   c                 \     t         fd|j                  j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr3   !convert_strict_mode_sparse_outputr  s      r%   r9   zFGrpcToRest.convert_strict_mode_sparse_config_output.<locals>.<genexpr>	  s-      
7S #77<=7rY  r  r   s   ` r%   r  z3GrpcToRest.convert_strict_mode_sparse_config_output	  s.      
!//557
 
 	
rZ   c                 r    t        j                  |j                  d      r|j                        S d       S r  )r   StrictModeSparseOutputr   r  r   s     r%   r  z,GrpcToRest.convert_strict_mode_sparse_output	  s8     **+0>>,+Gu''
 	
MQ
 	
rZ   c                 r    t        j                  |j                  d      r|j                        S d       S r  )r   StrictModeMultivectorOutputr   r  r   s     r%   r  z1GrpcToRest.convert_strict_mode_multivector_output	  s8     //-2^^M-J))
 	
PT
 	
rZ   r3   (m  __name__
__module____qualname__classmethodr   	Conditionr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   OptimizerStatusOptimizersStatusr   r   r   r   r   r   r   r  r	  r  r  r   r  r"  r  r(  r   rF   rC   PayloadSchemaInfor/  r   r*  PayloadIndexParamsPayloadSchemaParamsr1  rf   r0  rN  r   rZ  r\  r_  r[  rg  r   rn  r   PointIdExtendedPointIdrh  rw  rx  r~  r  r  r   r  r   r  r   r  r  r  r  
OrderValuer  r  r  Payloadr  r  r  r  r  r  r  r  r   Matchr  r  r  r   r  r  r  r  r   AliasOperationsr
  r  r  PointsSelectorr   ShardKeySelectorr  WithPayloadSelectorWithPayloadInterfacer   r"  RetrievedPointr$  r%  r'  r+  r,  r2  r4  r7  r>  rD  rF  rJ  rE  rO  rK  VectorsConfigr  r
   VectorVectorOutputrE   rD   rB   ra  r  r  r  ri  rr  rt  NamedVectorsrw  NamedVectorsOutputry  VectorsVectorStructr  VectorsOutputVectorStructOutputr  DenseVectorrd  re  MultiDenseVectorrf  ro  rp  rq  VectorInputr  r  r  ContextInputPairr  r  ContextInputr  r  r  r  r  r  r  Formular  r  
Expressionr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  Queryr3  PrefetchQueryr<  r=  VectorsSelectorrC  WithVectorsSelector
WithVectorrE  SearchPointsrO  rQ  QueryPointsrS  rT  RecommendPointsrX  r\  DiscoverPointsr`  ra  VectorExampleRecommendExamplerc  TargetVectorr^  rg  r_  rl  rt  r~  r;  r  StopwordsInterfacer  StemmingAlgorithmr  r  r  r  r<  r  r=  r  r>  r  r?  r  r@  r  rA  r  rB  r  r  r  r>  r  r  ReadConsistencyr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  QuantizationConfigr   r  r  r  r  r  r  r#  r  GroupIdr$  r*  r+  QuantizationConfigDiffr  r3  r4  VectorsConfigDiffr  PointsUpdateOperationUpdateOperationr]  r_  r`  rc  r  SparseIndexConfigrl  rm  rq  ru  rz  r{  SparseVectorConfigr  ShardKeyr  rP  r  r  r  r  	StartFromr  r  r0  
FacetValuer  FacetHitr  r  HealthCheckReplyr  r  r  r  SearchMatrixPairsr  r  SearchMatrixOffsetsr  r  r  r  StrictModeMultivectorConfigr  r  r  StrictModeSparseConfigr  r  r  r  r   !StrictModeMultivectorConfigOutputr  StrictModeSparseConfigOutputr  r  r  r  r  r  rZ   r%   r}   r}      s   >dnn > > >. 
4;; 
4;; 
 
$ 
$** 
 
 
 5i 5H 5 5 
4+=+= 
$BTBT 
 
 _t~~ _$.. _ _ cD,>,> c4CUCU c c 
 
DOO 
 
 ;..;		#	#; ;
 

D,?,? 

DDWDW 

 

 BT-A-A BdF[F[ B B 
d.C.C 
H]H] 
 
$ 
T-@-@ 
TEXEX 
 
 
(;(; 
 
 
 O//O		$	$O O& $
T-F-F $
4K`K` $
 $
L 
AT]] 
At}} 
A 
A 
t'9'9 
dnn 
 
 [d4445[	c4(((	)[ [
 	
0F0F 	
4K`K` 	
 	
 G++G		!	!G G< J0F0F J4KaKa J J( 
Ed.C.C 
EH]H] 
E 
E 
$*;*; 
@Q@Q 
 
 E$*;*; E@Q@Q E E _T-@-@ _TEXEX _ _ D++D		 	 D D
 <T\\ <d6J6J < < =)9)9 =d>N>N = = 
)9)9 
d>N>N 
 

 Pt/D/D PI^I^ P P Nd.B.B NtG[G[ N N 
T-A-A 
dFZFZ 
 
 

$*;*; 

@Q@Q 

 

 d)9)9 dd>N>N d d ? ?DOO ? ? 
)9)9 
d>N>N 
 
( G$9 Gdll G G 
)9)9 
d>N>N 
 
 
T-@-@ 
TEXEX 
 
 
)9)9 
d>N>N 
 
 +
D,?,? +
DDWDW +
 +
Z :$** : : :4 
D,>,> 
4CUCU 
 
 
d.C.C 
H]H] 
 
@ $
--$
		"	"$
 $
L 
d.C.C 
H]H] 
 
: 
dmm 
 
 
 DT-A-A DdFZFZ D D 
d.C.C 
H]H] 
 
  ?CC""C %T%:%:;C 
			C C, H,,H		"	"H H" 8,,8		"	"8 8
 
D,?,? 
DKK 
 
" 24#6#6 24;; 2 2 3)9)9 3d>N>N 3 3 
,,
		!	!
 
 AT]] At}} A A 
$*;*; 
@Q@Q 
 
. 
t/E/E 
$J`J` 
 

 J..J		#	#J J B4+=+= B$BTBT B B ,$++t'8'889,	KeMMJJ  "	
	

, ,\ ;KK;	UT%[

	
; ;4 ;%%;	tE{De-t/@/@@	A; ; $*;*; S$++EU@V   ++	c4$$$	%  
<DLL 
<T5F5F 
< 
< 
B4+=+= 
B$BYBY 
B 
B )9)9 d5k   S$*;*; S@Q@Q S S Nt/D/D NdSXkIZ N N 
T]] 
t}} 
 
 
$** 
 
 
 
T-A-A 
dFZFZ 
 
 @)9)9 @d>N>N @ @, 	
D,?,? 	
DDWDW 	
 	
 
t/D/D 
IYIY 
 
 N$*;*; N@Q@Q N N 
4+=+= 
$BTBT 
 
 ;4;; ;4;; ; ; ;4;; ;4;; ; ; 
$,, 
4;L;L 
 
 2;t 2;4?? 2; 2;h \4+=+= \$BTBT \ \ _D,?,? _DDWDW _ _ .4+=+= .$BTBT . . .4+=+= .$BTBT . . 5)9)9 5d>N>N 5 5
 
..
		#	#
 
 
 
TXX 
 
 $:$** $: $: $:L 
4+=+= 
$-- 
 
( T-A-A d3i   
H$2J2J 
Ht 
H 
H #
$*;*; #
@R@R #
 #
J "
)9)9 "
d>O>O "
 "
H )
T-A-A )
dF[F[ )
 )
V 
D,?,? 
DDXDX 
 
B B4+=+= B$BWBW B B A$*;*; A@U@U A A 
++
		 	 
 
 B4+=+= B$BTBT B B 
d.B.B 
tG[G[ 
 
 Ed&7&7 ED<S<S E E FD$:$: Ft?U?U F F 
0C0C 
H[H[ 
 

 	
++	
		 	 	
 	
 
++
		 	 
 
 
t/D/D 
I^I^ 
 
 
T-@-@ 
TEXEX 
 
 
d.B.B 
tG[G[ 
 
 
,,
		!	!
 
 
d.B.B 
tG[G[ 
 
 
--
		"	"
 
$ 
D,?,? 
DDWDW 
 
 B4+=+= B$BTBT B B 	DT-A-A 	DdFZFZ 	D 	D 	H,,	H		!	!	H 	H 
++
		&	&
 
 
,,
		'	'
 
 
++
		&	&
 
 O33O		(	(O O 
88
		-	-
 
0 Ed.C.C EH]H] E E G++G		 	 G G 
11
		&	&
 
 
$*;*; 
@Q@Q 
 
 
$*;*; 
@Q@Q 
 

 
 
DOO 
 
 T\\ dll   
 
DOO 
 
 K//K		$	$K K" 
t/D/D 
I^I^ 
 
 F0F0F F4KaKa F F WH..WH			WH WHr =c =dmm = =
 Ft/E/E F$J`J` F F 
0F0F 
4KaKa 
 
 =T]] =t}} = = 
++
		 	 
 
 d++d	c4***	+d d
 dmm    Tt/D/D TI^I^ T T
 CD,?,? CDDWDW C C >dnn > > > 	"t~~ 	"$.. 	" 	" 	
T\\ 	
dll 	
 	
  DOO   
DMM 
d>P>P 
 
 
t/D/D 
IYIY 
 
 
t/D/D 
I^I^ 
 
 
**
		'	'
 
 
,,
		)	)
 
 
..
		#	#
 
 
44
		)	)
 
 
t/D/D 
I^I^ 
 

 
//
		$	$
 
 >
t/D/D >
I^I^ >
 >
@ @
))@
		$	$@
 @
D 
44
		/	/
 
 
//
		*	*
 
 
))
		$	$
 
 
..
		)	)
 
rZ   r}   c            	       ./   e Zd Zedej
                  dej
                  fd       Zedej                  dej                  fd       Z	ede
eef   defd       Zedej                  dej                  fd       Zedej"                  dej"                  fd       Zedej&                  dej&                  fd       Zedej*                  dej*                  fd	       Zedej.                  dej.                  fd
       Zedej2                  dej2                  fd       Zedej6                  dej6                  fd       Zedej:                  dej<                  fd       Zede e!ejD                  f   de e!ejF                  f   fd       Z$edejD                  dejF                  fd       Z%edejL                  dejN                  fd       Z(edejR                  dejR                  fd       Z*edejV                  dejV                  fd       Z,edejZ                  dejZ                  fd       Z.edej^                  dej^                  fd       Z0edejb                  dejb                  fd       Z2edejf                  dejf                  fd       Z4edejj                  dejj                  fd       Z6edejn                  dejn                  fd       Z8edejr                  dejr                  fd       Z:edejv                  dejv                  fd       Z<edejz                  dejz                  fd       Z>edej~                  dej~                  fd       Z@edej                  dej                  fd       ZBedej                  dej                  fd       ZDedej                  dej                  fd       ZFedej                  dej                  fd        ZHedej                  dej                  fd!       ZJedej                  de e!ej                  f   fd"       ZMedej                  dej                  fd#       ZOedej                  dej                  fd$       ZQedej                  dej                  fd%       ZSedej                  dej                  fd&       ZUedej                  dej                  fd'       ZWedej                  dej                  fd(       ZYedej                  dej                  fd)       Z[edej                  dej                  fd*       Z]edej                  dej                  fd+       Z_edej                  dej                  fd,       Zbedej                  dej                  fd-       Zcedej                  d.e!dej                  fd/       Zeedej                  dej                  fd0       Zgedej                  dej                  fd1       Ziedej                  dej                  fd2       Zkedej                  dej                  fd3       Zmed4enej                     depej                     fd5       Zred4enej                     depej                     fd6       Ztedej                  dej                  fd7       Zvedej                  dej                  fd8       Zwedej                  dej                  fd9       Zyedej                  dej                  fd:       Z{edej                  dej                  fd;       Z}edej                  dej                  fd<       Zedej                   dej                  fd=       Zedej                  dej                  fd>       Zedej                  dej                  fd?       Zedej                  dej                  fd@       Zedej                  dej                  fdA       Zedej                  dej                  fdB       Zedej                  dej                  fdC       Zedej                  dej                  fdD       Zedej                   dej                   fdE       Zedej$                  dej                   fdF       Zedej(                  dej(                  fdG       Zedej,                  dej.                  fdH       Zedej2                  dej4                  fdI       Zedej2                  dej4                  fdJ       Zedej:                  dej:                  fdK       Zedej>                  dej>                  fdL       ZedejB                  dejB                  fdM       ZedejF                  dejF                  fdN       ZedejJ                  dejJ                  fdO       ZedejN                  dejN                  fdP       ZedejR                  dejR                  fdQ       ZedejV                  dejX                  fdR       Zedej\                  dej^                  fdS       Zedejb                  dejd                  fdT       Zedejh                  dUedepejX                     fdV       Zedejn                  deepe   eejv                     ee!   f   fdW       Zedepe   dejz                  fdX       Zedej                  dej                  fdY       Zedepepe      dej                  fdZ       Zedej                  dej                  fd[       Zedej                  dej                  fd\       Zedej                  dej                  fd]       Zedej                  dej                  fd^       Zedej                  dej                  fd_       Zedej                  dej                  fd`       Zedej                  dej                  fda       Zedej                  dej                  fdb       Zedej                  dej                  fdc       Zedej                  dej                  fdd       Zedej                  dej                  fde       Zedej                  dej                  fdf       Zedej                  dej                  fdg       Zedej                  dej                  fdh       Zedej                  dej                  fdi       Zedej                  dej                  fdj       Zedej                  dej                  fdk       Zedej                  dej                  fdl       Zedej                  dej                  fdm       Zedej                  dej                  fdn       Zedej                  dej                  fdo       Zedej                  dej                  fdp       Zedej                  d.e!dej                  fdq       Zedej                  d.e!dej                  fdr       Zedej                  d.e!dej                  fds       Zedej                  d.e!dej                  fdt       Zedej                  d.e!dej                  fdu       Zedej                  d.e!dej                  fdv       Zedej                  d.e!dej                  fdw       Zedej                  d.e!dej                  fdx       Z edej                  dej                  fdy       Zedej                  dej                  fdz       Zedej
                  dej                  fd{       Zedej                  dej                  fd|       Z	edej                  dej                  fd}       Zedej                  dej                  fd~       Zedej                  dej                  fd       Zedej                   dej                   fd       Zedej$                  dej$                  fd       Zedej(                  dej(                  fd       Zedej,                  dej,                  fd       Zedej0                  dej0                  fd       Zedej4                  dej4                  fd       Zedej8                  dej8                  fd       Zedej<                  dej<                  fd       Zedej@                  dej@                  fd       Z!edejD                  dejF                  fd       Z$edejJ                  dejL                  fd       Z'edejP                  dejR                  fd       Z*edejV                  dejV                  fd       Z,edejZ                  dejZ                  fd       Z.edej^                  dej^                  fd       Z0edejb                  dejb                  fd       Z2edejf                  dejf                  fd       Z4edejj                  dejj                  fd       Z6edejn                  dejn                  fd       Z8edejr                  dejr                  fd       Z:edejv                  dejv                  fd       Z<edejz                  dejz                  fd       Z>edej~                  dej~                  fd       Z@edej                  dej                  fd       ZBedej                  dej                  fd       ZDedej                  depej                     fd       ZFedej                  dej                  fd       ZIedej                  dej                  fd       ZJedej                  de!fd       ZLedej                  dej                  fd       ZNedej                  dej                  fd       ZQedej                  dej                  fd       ZSedej                  dej                  fd       ZUedeVe!ej                  f   dej                  fd       ZXedej                  dej                  fd       ZZedej                  dej                  fd       Z\edej                  dej                  fd       Z^edej                  dej                  fd       Zaedej                  dej                  fd       Zcedej                  dej                  fd       Zfedej                  dej                  fd       Ziedej                  dej                  fd       Zkedej                  dej                  fd       Zmedej                  dej                  fd       Zoedej                  dej                  fd       Zqedej                  dej                  fd       Zsedej                  dej                  fd       Zuedej                  dej                  fd       Zwedej                  dej                  fd       Zyedej                  dej                  fd       Z{edej                  dej                  fd       Z}y)
RestToGrpcrc   r   c           
      ,    dt         t        t        j                     t        j                  f   dt        t        j                     f fd}t	        j
                  |j                   ||j                        nd |j                   ||j                        nd |j                   ||j                        nd |j                  Jt	        j                   ||j                  j                        |j                  j                              S d       S )Nr   r   c                 r    t        | t              s| g} | D cg c]  }j                  |       c}S c c}w r3   )r?   rD   r   )r   r   r   s     r%   convert_conditionsz5RestToGrpc.convert_filter.<locals>.convert_conditions	  s9     j$/(\
FPQjC)))4jQQQs   4r   )r   r   r   r   )r
   rD   r   r  r   r   r   r   r   r   r   r   r   )r   rc   rC  s   `  r%   r   zRestToGrpc.convert_filter	  s    	Rd4>>2DNNBC	R$..!	R {{49JJ4J$UZZ0PT<ANN<V(8\`8=8P&u||4VZ ##/	 1%2B2B2M2MN#..88
 	
 
 	
rZ   c                     t        j                  |j                  |j                  |j                  |j
                        S N)r   r   r   r   )r   r   r   r   r   r   r   s     r%   r   zRestToGrpc.convert_range	  s/    zzxxxx					
 	
rZ   c                     t        |t              rBt        |t              s2t        j                  |t        j                  j                               }t               }|j                  |       |S r3   )r?   r   r   combinemintimer   FromDatetimer   rc   tss      r%   convert_datetimezRestToGrpc.convert_datetime	  sL    eT":eX+F$$UHLL,=,=,?@E[
	rZ   c                 v   t        j                  |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j
                  | j                  |j
                        nd |j                   | j                  |j                              S d       S rE  )r   r   r   rM  r   r   r   r   s     r%   r   z!RestToGrpc.convert_datetime_range	  s    !!161Es##EHH-4161Es##EHH-438993H$$UYY/d38993H$$UYY/	
 	
 OS	
 	
rZ   c                 v    t        j                  | j                  |j                        |j                        S r   )r   r   r   r   r   r   s     r%   r   zRestToGrpc.convert_geo_radius	  r   rZ   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w r   )r   r   r   r   r   s      r%   r   z"RestToGrpc.convert_geo_line_string	  r   r   c           	          t        j                  | j                  |j                        |j                  r.|j                  D cg c]  }| j                  |       c}      S d       S c c}w r   )r   r   r   r   r   r   s      r%   r   zRestToGrpc.convert_geo_polygon	  sc    00@ NS__]_s228<_]
 	
 	
 	
]r   c                 B    t        j                  |j                        S r   )r   r   r!   r   s     r%   r   z)RestToGrpc.convert_collection_description	  r   rZ   c           	         t        j                  |j                  r| j                  |j                        nd | j	                  |j
                        |j                  | j                  |j                        nd |j                  | j                  |j                        |j                  |j                  nd |j                        S )N)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   s     r%   r   z"RestToGrpc.convert_collection_info	  s    ""BG,,300>TX 99%:P:PQ ''3 **5+?+?@ //00>161D1D1P%--VZ++
 	
rZ   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       rM  )r   rN  rT  r   rS  rR  rQ  rP  rO  rV  rU  r   r   s     r%   r   z$RestToGrpc.convert_collection_status
  s    D))---((,,,D))000((///D))///((...D))...((---;E7CDDrZ   c                     t        |t        j                        rt        j                  d      S t        |t        j
                        r!t        j                  d|j                        S t        d|       )NT)r   F)r   r   z invalid OptimizersStatus model: )r?   r   r   r   r  r   r   r   r   s     r%   r   z#RestToGrpc.convert_optimizer_status
  sd    eT778''  eT889''5DD;E7CDDrZ   c                 H     t         fd|j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr3   )convert_payload_index_infor  s      r%   r9   z4RestToGrpc.convert_payload_schema.<locals>.<genexpr>!
  s&     ]}83S#88=>}rY  r]   r   s   ` r%   r   z!RestToGrpc.convert_payload_schema
  s     ]u{{}]]]rZ   c                     |j                   }t        j                  | j                  |j                        || j                  |      nd |j                        S )Nr-  )r   r   r  r0  r.  r1  r   )r   rc   r   s      r%   rX  z%RestToGrpc.convert_payload_index_info#
  sM    %%55eooF@F@R344V<X\<<
 	
rZ   c                    t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                         r%t        j                  | j#                  |            S t        |t        j$                        r%t        j                  | j'                  |            S t)        d	|       )
N)r3  )r4  )r5  )r6  )r7  )r8  )r9  )r:  z#invalid PayloadSchemaParams model: )r?   r   r~  r   r   r;  r  r<  r  r=  r  r>  r  r?  r  r@  r  rA  r  rB  r   r   s     r%   r1  z(RestToGrpc.convert_payload_schema_params,
  s    eT112**S=Z=Z[`=abbeT445**%(%E%Ee%L  eT445**%(%E%Ee%L  eT223**#&#A#A%#H  eT001**C<X<XY^<_``eT112**S=Z=Z[`=abbeT556**&)&G&G&N  eT112**S=Z=Z[`=abb>ugFGGrZ   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                   S |t         j                  j"                  k(  rt        j                  j$                  S t'        d|       re   )r   rf   rG  r   rg   rF  rj   rD  rl   rH  rn   rE  rp   rI  rr   rJ  rt   rK  rv   r   r   s     r%   r0  z&RestToGrpc.convert_payload_schema_typeR
  sE   D**222))111D**222))111D**000))///D**///))...D**...))---D**///))...D**333))222D**///))...<UGDEErZ   c                 v    t        j                  |j                  | j                  |j                              S rX  )r   rZ  rY  convert_update_statsr   r   s     r%   r\  z RestToGrpc.convert_update_resultg
  s0      ++++ELL9
 	
rZ   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S t        d|       r^  )r   r_  rc  r   rb  ra  r`  r   r   s     r%   r]  zRestToGrpc.convert_update_statsn
  sa    D%%///$$...D%%222$$1117w?@@rZ   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w re  )r   rg  r   convert_extended_point_idri  s      r%   r   z#RestToGrpc.convert_has_id_conditionw
  s9    ""BG,,O,3C11#6,O
 	
Or   c                 B    t        j                  |j                        S rl  )r   rn  r   r   s     r%   r   z'RestToGrpc.convert_has_vector_condition}
  ro  rZ   c                 B    t        j                  |j                        S ru  )r   rw  rv  r   s     r%   rx  zRestToGrpc.convert_delete_alias
  ry  rZ   c                 X    t        j                  |j                  |j                        S r{  )r   r~  r|  r}  r   s     r%   r  zRestToGrpc.convert_rename_alias
  r  rZ   c                 V    t        j                  |j                  j                        S Nr  )r   r  r   rT   r   s     r%   r   z%RestToGrpc.convert_is_empty_condition
  s    $$););<<rZ   c                 V    t        j                  |j                  j                        S re  )r   r  r   rT   r   s     r%   r   z$RestToGrpc.convert_is_null_condition
  s    ##(9(9::rZ   c                     t        j                  |j                  j                  | j	                  |j                  j
                              S )Nr  )r   r  r   rT   r   r   r   s     r%   r   z#RestToGrpc.convert_nested_condition
  s:    ##  %%ell&9&9:
 	
rZ   c                     t        j                  |j                  |j                  |j                  | j                  |j                        nd |j                        S )Nr  )r   r  r  r  r  r  r  r   s     r%   r  z RestToGrpc.convert_search_params
  sS      MM++ %%1 66u7I7IJ++	
 		
rZ   c                 X    t        j                  |j                  |j                        S r  )r   r  r  rv  r   s     r%   r  zRestToGrpc.convert_create_alias
  r  rZ   c                     t        |t              rt        j                  |      S t        |t              rt        j                  |      S t        d|       )N)rA   rB   r  )r?   rA   r   r  rB   r   r   s     r%   r  zRestToGrpc.convert_order_value
  sG    eS!??u--eU#??//5eW=>>rZ   c                    t        j                  | j                  |j                        |j                  | j                  |j                        nd |j                  |j                  | j                  |j                        nd |j                  |j                  r| j                  |j                        nd |j                  r | j                  |j                              S d       S )N)r  r'   r  r  r  r  r  )r   r  r`  r  r'   r  r  r  convert_vector_struct_outputr  r  r  r  r  r   s     r%   r  zRestToGrpc.convert_scored_point
  s    ,,UXX6:?--:SC''6Y]++ <<+ 00>MM@Ec++EOO<UYFKFWFW//0A0AB
 	
 ^b
 	
rZ   c                     t        j                  |j                  |j                  |j                  |j
                        S rE  )r   r  r   r   r   r   r   s     r%   r  zRestToGrpc.convert_values_count
  s1    xxxx					
 	
rZ   c                     t        j                  | j                  |j                        | j                  |j                              S )N)r  r  )r   r  r   r  r  r   s     r%   r  z#RestToGrpc.convert_geo_bounding_box
  s;    ""**5>>:..u/A/AB
 	
rZ   c                     t        j                  | j                  |j                        | j	                  |j
                        |j                   | j                  |j                              S d       S )Nr  r  r'   )r   r  r`  r  convert_vector_structr  r'   r  r   s     r%   r  zRestToGrpc.convert_point_struct
  se    ,,UXX6--ell;:?--:SC''6
 	
 Z^
 	
rZ   c                 B    t        d |j                         D              S )Nc              3   <   K   | ]  \  }}|t        |      f  y wr3   r4   rS   s      r%   r9   z-RestToGrpc.convert_payload.<locals>.<genexpr>
  s     Lm(#sS-,-mr:   r]   r   s     r%   r  zRestToGrpc.convert_payload
  s    LekkmLLLrZ   c                     t        j                  |j                  |j                  |j                  |j
                  |j                  |j                        S N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s     r%   r   z#RestToGrpc.convert_hnsw_config_diff
  E    ""++ % 9 9gg!&!;!;MMoo
 	
rZ   c                 F   |j                   :t        j                  |j                  | j	                  |j                               S |j
                  t        |j
                  t        j                        r:t        j                  |j                  | j                  |j
                              S t        |j
                  t        j                        r:t        j                  |j                  | j                  |j
                              S |j                  :t        j                  |j                  | j                  |j                              S |j                  :t        j                  |j                  | j                  |j                              S |j                   :t        j                  |j                  | j#                  |j                               S |j$                  :t        j                  |j                  | j'                  |j$                              S |j(                  +t        j                  |j                  |j(                        S |j*                  +t        j                  |j                  |j*                  	      S t-        d
|       )N)rT   r  )rT   r  )rT   r  )rT   r  )rT   r  )rT   r  )rT   r  )rT   r   )rT   r   zinvalid FieldCondition model: )r  r   r  rT   r  r  r?   r   r   r   r   r   r  r  r  r   r  r   r  r  r   r   r   r   s     r%   r   z"RestToGrpc.convert_field_condition
  s   ;;"&&599C<M<Mekk<Z[[;;"%++tzz2**uyy@Q@QRWR]R]@^__%++t'9'9:**		#&#=#=ekk#J  !!-&&II!$!=!=e>T>T!U  '&&II#*@*@AQAQ*R  (&&II3+B+B5CTCT+U  )&&IIC,D,DUEWEW,X  >>%&&599u~~NN==$&&599emmLL9%ABBrZ   c                 X    t        j                  |j                  |j                        S Nr'  r   r  r%  r&  r   s     r%   r  z"RestToGrpc.convert_wal_config_diff  '    !!!11$77
 	
rZ   c           
         t        j                  | j                  |j                        | j	                  |j
                        | j                  |j                        | j                  |j                        |j                  | j                  |j                        nd |j                   | j                  |j                              S d       S )N)r   r   r   r   r   r   )r   r   r   r   r   r   convert_optimizers_configr   r   r   r   r   r   r   r   s     r%   r   z$RestToGrpc.convert_collection_config  s    $$00>//0A0AB ::5;Q;QR--e.>.>? ,,8 //0I0IJ ++7 55e6N6NO
 	
 
 	
rZ   c                     t        j                  |j                  |j                  |j                  |j
                  |j                  |j                        S rv  rw  r   s     r%   r   zRestToGrpc.convert_hnsw_config*  rx  rZ   c                 X    t        j                  |j                  |j                        S r{  r|  r   s     r%   r   zRestToGrpc.convert_wal_config5  r}  rZ   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )r   r  r!  r   r   r  r  r  r  r  r  r   r   s     r%   r"  zRestToGrpc.convert_distance<  s    DMM%%%==$$$DMM(((=='''DMM(((=='''DMM+++==***3E7;<<rZ   c                    t        j                  |j                  | j                  |j                        nd |j                  |j
                  xs d|j                  |j                  |j                  |j                  | j                  |j                        nd |j                   | j                  |j                              S d       S )NF)r  r  r  r  r  r  r  r  )r   r  r  r  r  r  r  r  r  r  r  r  r  r   s     r%   r   z$RestToGrpc.convert_collection_paramsI  s    $$=B]]=V**5==9\`++!11:U%*%C%C$77 % 9 9 ''3 001E1EF ((4 ++E,A,AB
 	
" #
 	
rZ   c                    |t         j                  j                  k(  r8t        j                  t        j                  j
                  j                        S t        |t              rt        j                  |      S t        d|       )Nr  r  r  )
r   r  r  r   r  r  r  r?   rA   r   r   s     r%   r	  z+RestToGrpc.convert_max_optimization_threads`  si     D66;;;..t7R7R7Z7Z7_7_``s#..U;;A%IJJrZ   c                 ,   t        j                  |j                  |j                  |j                  |j
                  |j                  | j                  |j                        nd |j                  |j                  |j                  |j                  	      S N)	r  r  r  r  r  r  r  r  r  )r   r  r  r  r  r  r  r	  r  r  r  r   s     r%   r  z$RestToGrpc.convert_optimizers_configj  s    ((#(#?#?#55$77$77 11= 44U5S5ST"33"33%*%C%C050N0N
 	
rZ   c                 h   d }t        |j                  t              r|j                  }t        j                  |j
                  |j                  |j                  |j                  |j                  | j                  |j                        nd |j                  |j                  |j                  |	      S r  )r?   r  rA   r   r  r  r  r  r  r	  r  r  r  )r   rc   r  s      r%   r  z)RestToGrpc.convert_optimizers_config_diff|  s     /3+e44c:272P2P/((#(#?#?#55$77$77 11= 44U5S5ST"33"33%*%C%C0S
 	
rZ   r  c           
         t        j                  ||j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                   | j                  |j                              S d       S )N)r  r  r  r   r   r   )r   r  r  r  r  r  r   r  r   r   r   r  r   rc   r  s      r%   r  z$RestToGrpc.convert_update_collection  s     $$+ **6 2253J3JK ==, //> <<+ 225<<@ $$0 ,,U->->? ,,8 44U5N5NO/
 	
2 3
 	
rZ   c                 X    t        j                  |j                  |j                        S )N)r  r  )r   r  r  r  r   s     r%   r   zRestToGrpc.convert_geo_point  s    }}		::rZ   c                    t        |t        j                        rt        |j                  t              r t        j                  |j                        S t        |j                  t              r t        j                  |j                        S t        |j                  t              r t        j                  |j                        S t        |t        j                        r t        j                  |j                        S t        |t        j                        rt        |j                        dk(  r*t        j                  t        j                  g             S t        |j                  d   t              r4t        j                  t        j                  |j                              S t        |j                  d   t              r4t        j                  t        j                  |j                              S t!        d	|       t        |t        j"                        rt        |j$                        dk(  r*t        j                  t        j                  g       
      S t        |j$                  d   t              r4t        j                  t        j                  |j$                        
      S t        |j$                  d   t              r4t        j                  t        j                  |j$                              S t!        d|       t        |t        j&                        r t        j                  |j(                        S t!        d|       )N)r  r  r  r  r   )r  )r  )r  zinvalid MatchAny model: )r  )r  zinvalid MatchExcept model: r  r  )r?   r   r  rH   r@   r   r  rA   rC   r  r  r  rc  r  RepeatedStringsRepeatedIntegersr   r  except_r  r  r   s     r%   r  zRestToGrpc.convert_match  s(   eT__-%++t,zz%++66%++s+zz%++66%++s+zz%++66eT^^,::5::..eT]]+599~"zz4+?+?+KLL%))A,,zz4+?+?		+RSS%))A,,zz4+@+@%))+TUU7w?@@eT--.5==!Q&zz$2F2Fr2RSS%--*C0zz$2F2Fu}}2]^^%--*C0zz$2G2GQVQ^Q^2_``:5'BCCeT--.::U\\220899rZ   c                    t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S t        d|       )Nr  r  r  r   )r?   r   r  r   r  r  r  r	  rx  r  r  r  r  r   r   s     r%   r
  z#RestToGrpc.convert_alias_operations  s    eT667''S5M5MeN`N`5abbeT667''S5M5MeN`N`5abbeT667''S5M5MeN`N`5abb:5'BCCrZ   c                 X    t        j                  |j                  |j                        S r  )r   r  rv  r  r   s     r%   r  z$RestToGrpc.convert_alias_description  r  rZ   examplesc                     g }|D ]f  }t        |t        t        j                              r| j	                  |      }nt        |t
        j                        r|}nV|j                  |       h |S r3   )r?   r   r   r  r`  r   r  append)r   r  r  exampleid_s        r%   !convert_recommend_examples_to_idsz,RestToGrpc.convert_recommend_examples_to_ids  sa     #%G'#6t7K7K#LM33G<GT\\2JJsO   
rZ   c                    g }|D ]  }t        |t        j                        r|}nTt        |t              rt        j                  |      }n-t        |t        j
                        r| j                  |      }nt|j                  |        |S Nr~  )r?   r   r  rD   r   ra  convert_sparse_vector_to_vectorr  )r   r  r  r  r  s        r%   %convert_recommend_examples_to_vectorsz0RestToGrpc.convert_recommend_examples_to_vectors  st     &(G'4;;/ GT*'2GT%6%67<<WENN6"   rZ   c                 $    | j                  |      S r3   )convert_recommend_exampler   s     r%   rc  z!RestToGrpc.convert_vector_example  s    ,,U33rZ   c                    t        |t        t        j                              r%t	        j
                  | j                  |            S t        |t        j                        r%t	        j
                  | j                  |            S t        |t              r*t	        j
                  t	        j                  |            S t        d|       )Nr  r  r~  z Invalid RecommendExample model: )r?   r   r   r  r   r&  r`  ra  r  rD   r  r   r   s     r%   r  z$RestToGrpc.convert_recommend_example  s    e01E1EFG%%)F)Fu)MNNeT../%%S-P-PQV-WXXeT"%%T[[e-DEE;E7CDDrZ   c                     t        j                  |j                  t        j                  |j                              S Nr~  )rb  r\  )r   r  r0   SparseIndicesr\  r   s     r%   r  z*RestToGrpc.convert_sparse_vector_to_vector  s,    {{&&EMM:
 	
rZ   c                     t        j                  |j                  t        j                  |j                              S r  )r   r  r0   r  r\  r   s     r%   &convert_sparse_vector_to_vector_outputz1RestToGrpc.convert_sparse_vector_to_vector_output$  s.      &&EMM:
 	
rZ   c                 L    t        j                  | j                  |            S )N)re  )r   r(  r  r   s     r%   r^  z RestToGrpc.convert_target_vector+  s      (E(Ee(LMMrZ   c                     t        j                  | j                  |j                        | j                  |j                              S r  )r   rg  r  r  r  r   s     r%   r_  z'RestToGrpc.convert_context_example_pair/  s;    
 &&225>>B225>>B
 	
rZ   c                     t        |t              rt        j                  |      S t        |t              rt        j                  |      S t        d|       )N)rr  )rs  zinvalid ExtendedPointId model: )r?   rA   r   r  rC   r   r   s     r%   r`  z$RestToGrpc.convert_extended_point_id9  sG    eS!<<E**eS!<<U++:5'BCCrZ   c           
         t        |t        j                        rQt        j                  t        j
                  |j                  D cg c]  }| j                  |       c}            S t        |t        j                        r/t        j                  | j                  |j                              S t        d|       c c}w )N)r  r   r   r  )r?   r   r  r   r  PointsIdsListr   r`  r  r   r   r   r   s      r%   r  z"RestToGrpc.convert_points_selectorA  s    eT../&&))KP<<X<%66u=<X 
 eT001&&c.@.@.NOO9%ABB Ys   Cc                    t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                         r%t        j                  | j#                  |            S t%        d|       )	N)r   r  r  rf  rm  r  r  r   )r?   r   r  r   r  r   r  r   r  r   rg  r   rn  r   r   r   r  r   r   r   s     r%   r   zRestToGrpc.convert_conditionM  s9   eT001>>(C(CE(JKKeT223>>3+I+I%+PQQeT112>>#*G*G*NOOeT001>>)E)Ee)LMMeT445>>S-M-Me-TUUeT[[)>>););E)BCCeT112>>)E)Ee)LMM4UG<==rZ   c                 V   t        |t        j                        r4t        j                  t        j
                  |j                              S t        |t        j                        r4t        j                  t        j                  |j                              S t        d|       )Nr;   r  r  zinvalid PayloadSelector model: )r?   r   PayloadSelectorIncluder   r
  PayloadIncludeSelectorr  r  PayloadExcludeSelectorr  r   r   s     r%   convert_payload_selectorz#RestToGrpc.convert_payload_selector`  s    eT889++335==I  eT889++335==I  :5'BCCrZ   c                 $    | j                  |      S r3   )r"  r   s     r%   r   z(RestToGrpc.convert_with_payload_selectorl  s     11%88rZ   c                 F   t        |t              rt        j                  |      S t        |t              r*t        j                  t        j
                  |            S t        |t        t        j                              r| j                  |      S t        d|       )Nr  r;   r  z$invalid WithPayloadInterface model: )r?   r@   r   r
  rD   r  r   r   PayloadSelectorr  r   r   s     r%   r"  z)RestToGrpc.convert_with_payload_interfacer  s     eT"++599t$++D4O4OW\4]^^x(<(<=>//66?wGHHrZ   c                 p   t        |t              rt        j                  |      S t        |t              rt        j                  |      S t        |t
              r'| j                  |      }t        j                  |      S t        |t              rt        j                  |      S t        d|       )Nr  rk  )r  r  zinvalid StartFrom model: )	r?   rA   r   r5  rB   r   rM  rC   r   rK  s      r%   r  zRestToGrpc.convert_start_from  s    eS!>>%00eU#>>..eX&%%e,B>>B//eS!>>5114UG<==rZ   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S t        d|       r  )r   r  r  r   r  r  r  r   r   s     r%   r  zRestToGrpc.convert_direction  sY    DNN&&&>>%%%DNN'''>>&&&4UG<==rZ   c                     t        j                  |j                  |j                  | j	                  |j                        nd |j
                   | j                  |j
                              S d       S )Nr  )r   r  rT   r  r  r  r  r   s     r%   r0  zRestToGrpc.convert_order_by  sk    ||		:?//:U%%eoo6[_ =B<L<L<X&&u'7'78
 	
 _c
 	
rZ   c                     t        |t              rt        j                  |      S t        |t        j                        r| j                  |      S t        d|       )Nr  z invalid OrderByInterface model: )r?   rC   r   r  r   r0  r   r   s     r%   convert_order_by_interfacez%RestToGrpc.convert_order_by_interface  sO     eS!<<E**eT\\*''..;E7CDDrZ   c                     t        |t              rt        j                  |      S t        |t              rt        j                  |      S t        d|       )Nr.   r+   r  )r?   rC   r   r6  rA   r   r   s     r%   r  zRestToGrpc.convert_facet_value  sG    eS!??66eS!??775eW=>>rZ   c                 v    t        j                  | j                  |j                        |j                        S r  )r   r7  r  rH   r*  r   s     r%   r  z"RestToGrpc.convert_facet_value_hit  s,    }}))%++6++
 	
rZ   c           	         t        j                  | j                  |j                        | j	                  |j
                        |j                  | j                  |j                        nd |j                  r| j                  |j                        nd |j                  r | j                  |j                              S d       S )N)r  r'   r  r  r  )r   r  r`  r  r  r'   r  rm  r  r  r  r  r   s     r%   r'  zRestToGrpc.convert_record  s    "",,UXX6''6 <<+ 00>@Ec++EOO<UYFKFWFW//0A0AB

 
	
 ^b

 
	
rZ   c                 $    | j                  |      S r3   )r'  r   s     r%   r%  z"RestToGrpc.convert_retrieved_point  s    !!%((rZ   c                 B    t        j                  |j                        S r)  )r   r+  r*  r   s     r%   r,  zRestToGrpc.convert_count_result  r-  rZ   c                     t               }|j                  t        j                  |j                               t        j                  |j                  ||j                        S )Nr0  )	r   rJ  r   fromisoformatr/  r   r2  r!   r1  )r   rc   r  s      r%   r4  z'RestToGrpc.convert_snapshot_description  sN     K	x55e6I6IJK''#
 	
rZ   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r6  )
r   r7  r9  r   r8  r;  r:  r=  r<  r   r   s     r%   r>  zRestToGrpc.convert_datatype  s{    DMM)))==(((DMM'''==&&&DMM)))==(((3E7;<<rZ   c                    t        j                  |j                  | j                  |j                        |j
                  | j                  |j
                        nd |j                  | j                  |j                        nd |j                  |j                  | j                  |j                        nd |j                   | j                  |j                              S d       S )NrB  )r   rD  r1  r"  rC  r   r   r   r   r   r@  r>  rA  rE  r   s     r%   rF  z RestToGrpc.convert_vector_params  s      ))%..9 $$0 ,,U->->? ,,8 //0I0IJMM=B^^=WS))%..9]a ++7 ..u/G/GH!
 	
$ %
 	
rZ   c                 `    t        j                  | j                  |j                              S rH  )r   rJ  rK  rI  r   s     r%   rE  z%RestToGrpc.convert_multivector_config   rL  rZ   c                     |t         j                  j                  k(  rt        j                  j                  S t        d|       rN  )r   rO  rQ  r   rP  r   r   s     r%   rK  z)RestToGrpc.convert_multivector_comparator  s=     D..666--444@HIIrZ   c           	      R    t        |t        j                        r%t        j                   j                  |            S t        |t              rJt        j                  t        j                  t         fd|j                         D                          S t        d|       )Nr   c              3   J   K   | ]  \  }}|j                  |      f  y wr3   rV  r  s      r%   r9   z4RestToGrpc.convert_vectors_config.<locals>.<genexpr>  s(     aS`xsCc3#<#<S#ABS`rY  rZ  rT  rS  )
r?   r   rD  r   r  rF  rF   VectorParamsMaprG   r   r   s   ` r%   r  z!RestToGrpc.convert_vectors_config  s    eT../%%S-F-Fu-MNNt$%%//aSXS^S^S`aa  <UGDEErZ   c           	      F   dt         t        t           t        t        t              f   dt        j                  fd}t        |t              rt        j                   ||            S t        |t              ri }|j                         D ]b  \  }}t        |t              r|j                  | ||      i       1t        |t        j                        r#|j                  || j                  |      i       nt        |t        j                        r7|j                  |t        j                  | j                  |            i       t        |t        j                        r8|j                  |t        j                  | j!                  |            i       t        |t        j"                        s-|j                  |t        j                  | j%                  |            i       e t        j                  t        j&                  |            S t        |t        j                        r9t        j                  t        j                  | j                  |                  S t        |t        j                        r9t        j                  t        j                  | j!                  |                  S t        |t        j"                        r9t        j                  t        j                  | j%                  |                  S t)        d	|       )
Nr  r   c                     t        |       dk7  rJt        | d   t              r7t        j                  | D cg c]  }|D ]  }|  c}}t        |             S t        j                  |       S c c}}w Nr   )rb  r   r~  )rc  r?   rD   r   r  r  multi_vectorinner_vectors      r%   rr  z8RestToGrpc.convert_vector_struct.<locals>.convert_vector  s|     6{aJq	4% {{ -3,2L,8L %,8 %,2
 #&f+  ;;F++   A/
r  rk  rl  rm  r  zinvalid VectorStruct model: )r
   rD   rB   r   r  r?   r  rF   rG   updater   ra  r  r  ro  r  rp  r  rq  r  r   r   rc   rr  r  rT   rU   s         r%   rr  z RestToGrpc.convert_vector_struct  s$   	,$u+tDK'889	,[[	,  eT"<<~e'<==t$G!KKMSc4(NNC)<#=>T%6%67NNC)L)LS)Q#RST]]3NNCc>R>RSV>W)X#YZTZZ0NNC3;L;LS;Q)R#STT%9%9:NNCC<X<XY\<])^#_` * <<(9(9'(JKKt}}-<<t{{C<P<PQV<W'XYYtzz*<<t{{9J9J59Q'RSSt334<<t{{#:V:VW\:]'^__;E7CDDrZ   c                 d   dt         t        t           t        t        t              f   dt        j                  fd}t        |t              rt        j                   ||            S t        |t              ri }|j                         D ]l  \  }}t        |t              r|j                  | ||      i       0t        |t        j                        sK|j                  || j                  |      i       n t        j                  t        j                  |            S t        d|       )Nr  r   c                     t        |       dk7  rJt        | d   t              r7t        j                  | D cg c]  }|D ]  }|  c}}t        |             S t        j                  |       S c c}}w r  )rc  r?   rD   r   r  r  s      r%   rr  z?RestToGrpc.convert_vector_struct_output.<locals>.convert_vectorI  s     6{aJq	4% (( -3,2L,8L %,8 %,2
 #&f+  $$&11r  r  r  z"invalid VectorStructOutput model: )r
   rD   rB   r   r  r?   r  rF   rG   r  r   ra  r  r  r   r  s         r%   rm  z'RestToGrpc.convert_vector_struct_outputG  s    	2$u+tDK'889	2	2  eT"%%^E-BCCt$G!KKMSc4(NNC)<#=>T%6%67NNC)S)STW)X#YZ	 *
 %%d.E.Eg.VWWA%IJJrZ   c                     t        |t              rt        j                  |      S t        |t              r*t        j                  t        j
                  |            S t        d|       )Nr  rA  r  zinvalid WithVectors model: )r?   r@   r   r   rD   r  r   r   s     r%   convert_with_vectorszRestToGrpc.convert_with_vectorsf  sV    eT"++599t$++D4H4Hu4UVV:5'BCCrZ   num_recordsc                    t        |t              r|D cg c]  }| j                  |       c}S t        |t              rjt	        |      D cg c]  }i  }}|j                         D ]   \  }}t        |      D ]  \  }}|||   |<    " |D cg c]  }| j                  |       c}S t        d|       c c}w c c}w c c}w )Nz!invalid BatchVectorStruct model: )r?   rD   rr  rF   r  rG   	enumerater   )	r   rc   r  item_resultrT   rU   rh  s	            r%   convert_batch_vector_structz&RestToGrpc.convert_batch_vector_structo  s     eT"@EFC--d3FFt$.3K.@!A.@".@F!A!KKMS(~GAt%)F1IcN  . * AGGC--d3GG@HII G!A Hs   B8	B=Cc                 x   t        |t              r|d d fS t        |t        j                        r|j                  d |j
                  fS t        |t        j                        rK|j                  j                  t        j                  |j                  j                        |j
                  fS t        d|       )Nr~  z!invalid NamedVectorStruct model: )r?   rD   r   rL  r  r!   rN  r0   r   r  r\  r   r   s     r%   convert_named_vector_structz&RestToGrpc.convert_named_vector_struct~  s     eT"$$$t//0<<uzz11t556##""(<(<=

  @HIIrZ   c                 .    t        j                  |      S r  )r   r  r   s     r%   rd  zRestToGrpc.convert_dense_vector  s    U++rZ   c                 X    t        j                  |j                  |j                        S )N)r0   r\  )r   ra  r0   r\  r   s     r%   re  z RestToGrpc.convert_sparse_vector  s      emmLLrZ   c                 r    t        j                  |D cg c]  }| j                  |       c}      S c c}w )Nr  )r   r  rd  r  s      r%   rf  z%RestToGrpc.convert_multi_dense_vector  s5    $$DIJE&S--f5EJ
 	
Js   4c                     t        j                  |j                  |j                  |j                  t        |j                              S d       S r  )r   r  r  rc   r  r^   r   s     r%   ro  zRestToGrpc.convert_document  sG    }}++6;mm6OOEMM2
 	
 VZ
 	
rZ   c                     t        j                  t        |j                        |j                  |j
                  t        |j
                              S d       S r  )r   r  r5   rl  rc   r  r^   r   s     r%   rp  zRestToGrpc.convert_image  sL    zz,++6;mm6OOEMM2
 	
 VZ
 	
rZ   c                     t        j                  t        |j                        |j                  |j
                  t        |j
                              S d       S r  )r   r  r5   rm  rc   r  r^   r   s     r%   rq  z#RestToGrpc.convert_inference_object  sN    ## .++6;mm6OOEMM2
 	
 VZ
 	
rZ   c                    t        |t              rkt        |      dk7  r8t        |d   t              r%t        j                  | j                  |            S t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        t        j                              r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j!                  |            S t        |t        j"                        r%t        j                  | j%                  |            S t'        d	|       )
Nr   )r`  )r^  )r_  r  r  r  r  r  )r?   rD   rc  r   r  rf  rd  r   ra  re  r   r  r`  r  ro  r  rp  r  rq  r   r   s     r%   r  zRestToGrpc.convert_vector_input  sS   eT"5zQ:a$$ ''C4R4RSX4YZZ###*B*B5*IJJeT../##3+D+DU+KLLe01E1EFG##s'D'DU'KLLeT]]+##S-A-A%-HIIeTZZ(###*;*;E*BCCeT112##3+G+G+NOO6ug>??rZ   c           	      r   t        j                  |j                  )|j                  D cg c]  }| j                  |       c}nd |j                  )|j                  D cg c]  }| j                  |       c}nd |j
                   | j                  |j
                              S d       S c c}w c c}w )Nr  )r   r  r  r  r  r  r  r  s      r%   r  z"RestToGrpc.convert_recommend_input  s    "" >>- AFOf))&1O >>- AFOf))&1O >>- ..u~~>
 	
 
 	
O
 Ps   B/ B4
c                     t        j                  | j                  |j                        | j                  |j                              S r  )r   r  r  r  r  r   s     r%   r  z%RestToGrpc.convert_context_input_pair  s9    $$--enn=--enn=
 	
rZ   c                 .   t        |t              r3t        j                  |D cg c]  }| j	                  |       c}      S t        |t
        j                        r&t        j                  | j	                  |      g      S t        d|       c c}w )Nr  zinvalid ContextInput model: )r?   rD   r   r  r  r   r  r   r  s      r%   r  z RestToGrpc.convert_context_input  s    eT"$$HMNs55d;N  eT--.$$C,J,J5,Q+RSS7w?@@ Os   Bc                     t        j                  | j                  |j                        | j	                  |j
                              S r  )r   r  r  r  r  r  r   s     r%   r  z!RestToGrpc.convert_discover_input  r  rZ   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )r   r  r  r   r  r   r   s     r%   r  zRestToGrpc.convert_fusion  r  rZ   c                     |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )r   r  r  r   r  r   r   s     r%   r  zRestToGrpc.convert_sample  r  rZ   c                 X    t        j                  |j                  |j                        S )Nr  )r   r  r  r  r   s     r%   r  zRestToGrpc.convert_mmr  s    xx%//EDZDZ[[rZ   c                 p   t        |t        j                        r|j                  _t	        j
                  | j                  |j                        | j                  |j                              }t	        j                  |      S t	        j                  | j                  |j                              S t        |t        j                        r/t	        j                  | j                  |j                              S t        |t        j                        r/t	        j                  | j                  |j                              S t        |t        j                         r/t	        j                  | j#                  |j$                              S t        |t        j&                        r/t	        j                  | j)                  |j*                              S t        |t        j,                        r/t	        j                  | j/                  |j0                              S t        |t        j2                        r/t	        j                  | j5                  |j6                        	      S t        |t        j8                        r%t	        j                  | j;                  |      
      S t=        d|       )Nr)  )r(  r  r  r   r!  r#  r%  r'  )r  r  )r?   r   r+  r*  r   NearestInputWithMmrr  r  r  r  r,  r  r  r-  r  r  r.  r  r  r/  r  r"  r1  r  r$  r2  r  r&  r  r  r   )r   rc   r(  s      r%   r3  zRestToGrpc.convert_query  s   eT../yy$#'#;#;44U]]CY^YbYbIc$  zz3CDD::c&>&>u}}&MNNeT001::(C(CEOO(TUUeT//0::s'A'A%..'QRReT../::c&?&?&NOOeT../::s'E'Eenn'UVVeT--.::S%7%7%EFFeT--.::S%7%7%EFFeT../::c&?&?&FGG0899rZ   c                     |j                   t        |j                         nd }| j                  |j                        }t	        j
                  ||      S )N)r  r  )r  r^   r  r  r   r  )r   rc   r  r  s       r%   r  z RestToGrpc.convert_formula_query.  sA    6;nn6P?5>>2VZ++EMM:
||X*EErZ   c                 	   t        |t              rt        j                  |      S t        |t              rt        j                  |      S t        |t        t        j                              r%t        j                  | j                  |            S t        |t        j                        r t        j                  |j                        S t        |t        j                        r t        j                  |j                        S t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                         r%t        j                  | j#                  |            S t        |t        j$                        r%t        j                  | j'                  |            S t        |t        j(                        r%t        j                  | j+                  |      	      S t        |t        j,                        r%t        j                  | j/                  |      
      S t        |t        j0                        r/t        j                  | j                  |j2                              S t        |t        j4                        r/t        j                  | j                  |j6                              S t        |t        j8                        r/t        j                  | j                  |j:                              S t        |t        j<                        r/t        j                  | j                  |j>                              S t        |t        j@                        r/t        j                  | j                  |jB                              S t        |t        jD                        r%t        j                  | jG                  |            S t        |t        jH                        r/t        j                  | jK                  |jL                              S t        |t        jN                        r/t        j                  | jK                  |jP                              S t        |t        jR                        r/t        j                  | jK                  |jT                              S tW        d|       )N)r  )r  )r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  zinvalid Expression model: ),r?   rB   r   r  rC   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  r  r  r   r   s     r%   r  zRestToGrpc.convert_expression4  s<   eU#??E22eS!??E22e0@A??S-B-B5-IJJeT445??ENN;;eT778??0B0BCCeT//0??s'='=eii'HIIeT//0??s'A'A%'HIIeT001??(C(CE(JKKeT//0??s'A'A%'HIIeT//0??s'A'A%'HIIeT112??)?)?)LMMeT../??c&<&<UXX&FGGeT//0??s'='=eii'HIIeT001??(>(>uzz(JKKeT//0??s'='=eii'HIIeT--.??0H0H0OPPeT445??S-P-PQVQ`Q`-abbeT445??S-P-PQVQ`Q`-abbeT667????@Q@QR  5eW=>>rZ   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w r  )r   r  r  r  r  s      r%   r  z!RestToGrpc.convert_sum_expressiona  r  r   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w r  )r   r  r  r  r  s      r%   r  z"RestToGrpc.convert_mult_expressione  r  r   c                     t        j                  | j                  |j                  j                        | j                  |j                  j
                        |j                  j                        S )Nr  )r   r  r  r  r  r  r  r   s     r%   r  z!RestToGrpc.convert_div_expressioni  sN    !!''		7((9!II55
 	
rZ   c                     t        j                  | j                  |j                  j                        | j                  |j                  j
                              S )Nr  )r   r  r  r  r  r  r   s     r%   r  z!RestToGrpc.convert_pow_expressionq  sC    !!''		7++EII,>,>?
 	
rZ   c                     t        j                  | j                  |j                  j                        |j                  j
                        S )Nr  )r   r  r   r  r	  r
  r   s     r%   r  zRestToGrpc.convert_geo_distancex  s>    ((););)B)BC!!$$
 	
rZ   c                     t        j                  | j                  |j                        |j                  | j                  |j                        nd |j
                  |j                        S )Nr  )r   r  r  r  r  r  r  r   s     r%   r  z*RestToGrpc.convert_decay_params_expression  sU     ))$$UWW-;@<<;S3))%,,7Y]^^++	
 	
rZ   c                    t        |t        t        j                              r%t	        j
                  | j                  |            S t        |t        t        j
                              r| j                  |      S t        d|       )Nr  zinvalid QueryInterface: )
r?   r   r   r  r   r  r  r   r3  r   r   s     r%   convert_query_interfacez"RestToGrpc.convert_query_interface  si    e01A1ABC::c&>&>u&EFFeXdjj12$$U++3E7;<<rZ   c                    d }t        |j                  t        j                        r| j	                  |j                        g}nCt        |j                  t
              r)|j                  D cg c]  }| j	                  |       c}}t        j                  ||j                  | j                  |j                        nd |j                  |j                  nd |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                  |j                   |j                   nd |j"                   | j%                  |j"                              S d       S c c}w )Nr:  )r?   r;  r   r<  r=  rD   r   r  r5  r  r6  r   r   r   r  r7  r8  r9  r>  r?  s      r%   r=  z!RestToGrpc.convert_prefetch_query  s7   enndmm4225>>BCH-MR^^\^228<^\H!!>Ckk>U#--ekk:[_!&!8%++d7<||7O3%%ell3UY>Cll>V3,,U\\:\`!11!&!8%++d $$0 ++E,=,=>
 	
 
 	
 ]s   ,E?c                 N   | j                  |j                        \  }}}t        j                  ||||j                  | j                  |j                        nd |j                  |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                  |j                  ||j                  | j                  |j                        nd |j                  r | j!                  |j                              S d       S )N)r  r  rG  r   r8  rH  r   r7  rI  rM  rJ  r  )r  r  r   r"  r   r   r8  rH  r"  r   r  r7  rI  rK  r  r  rP  )r   rc   r  r  rG  r!   s         r%   convert_search_requestz!RestToGrpc.convert_search_request  s    (+'F'Fu||'T$  +)7<||7O3%%ell3UY++ %%1 2253E3EF>Cll>V3,,U\\:\`!11<< $$0 (():):; DI??..u?+
 	
* Y]+
 	
rZ   c                 &    | j                  ||      S r3   )r  r  s      r%   rQ  z RestToGrpc.convert_search_points  s     ))%AArZ   c                    t        |j                  t        j                        r|j                  gn|j                  }t	        j
                  ||j                  |D cg c]  }| j                  |       c}nd |j                  | j                  |j                        nd |j                  |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                  |j                  |j                   |j"                  | j%                  |j"                        nd |j&                  | j)                  |j&                        nd |j*                  | j-                  |j*                        nd |j.                   | j1                  |j.                              S d       S c c}w )N)r  r;  r5  r6  r   r   r7  r8  rI  rJ  rH  r  r9  )r?   r;  r   r<  r   r#  r=  r5  r  r6  r   r   r   r  r7  r8  rI  rK  r  rH  r"  r  rP  r9  r>  )r   rc   r  r;  ps        r%   convert_query_requestz RestToGrpc.convert_query_request  s   
 !+5>>4== IU^^u~~ 	 + >>- 9AA1++A.A>Ckk>U#--ekk:[_++7<||7O3%%ell3UY>Cll>V3,,U\\:\`!11++<< $$0 (():):; %%1 2253E3EF ??. ..u? $$0 ++E,=,=>="
 "	
@ A"
 "	
 Bs   G	
c                 &    | j                  ||      S r3   )r	  r  s      r%   rT  zRestToGrpc.convert_query_points  s     ((@@rZ   c                    | j                  |j                        }| j                  |j                        }| j                  |j                        }| j                  |j                        }t	        j
                  di d|d|d|d|j                  | j                  |j                        nd d|j                  d|j                  | j                  |j                        nd d|j                  | j                  |j                        nd d|j                  d	|j                  d
|j                  | j!                  |j                        nd d|j"                  d|j$                  | j'                  |j$                        nd d|j(                  | j+                  |j(                        nd d|d|d|j,                  r| j/                  |j,                        S d S )Nr  r  r  r   r8  rH  r   r7  rI  rJ  r6  r9  r  rV  rW  r  r  )r  r  r  r  r   r$  r   r   r8  rH  r"  r   r  r7  rI  rK  r  r6  r9  r>  r  r  r  rP  )r   rc   r  rZ  r[  rV  rW  s          r%   convert_recommend_requestz$RestToGrpc.convert_recommend_request  s    <<U^^L<<U^^LDDU^^TDDU^^T## #
+#
!#
 "#
 8=||7O3%%ell3UY	#

 ++#
 %%1 2253E3EF#
 ?Dll>V3,,U\\:\`#
 "11#
 <<#
  $$0 (():):;##
& ++'#
, $$0 ++E,=,=>/#
6 >>- ..u~~>9#
< .=#
> .?#
B DI??..u?C#
 #	
B Y]C#
 #	
rZ   c                 &    | j                  ||      S r3   )convert_discover_requestr  s      r%   ra  z"RestToGrpc.convert_discover_points0  s     ++E?CCrZ   c                 8   |j                   | j                  |j                         nd }|j                  )|j                  D cg c]  }| j                  |       c}nd }|j                  d n| j                  |j                        }|j                  d n| j                  |j                        }|j                  d n| j                  |j                        }|j                  d n| j                  |j                        }	|j                  d n| j                  |j                        }
|j                  d n| j                  |j                        }t!        j"                  |||||j$                  |j&                  |	|||j(                  |
|      S c c}w )Nrx   )r  r  r  r   r8  rI  rJ  rH  r   r6  r9  r  )r  r^  r  r_  r   r   r   r  rH  r"  rK  r  r9  r>  r  rP  r   r%  r8  rI  r6  )r   rc   r  r  r  r  query_filtersearch_paramsrH  rJ  r9  r  s               r%   r  z#RestToGrpc.convert_discover_request6  s    =BLL<T**5<<8Z^ }}( AFNS--d3N 	  %||3t9K9KRWR^R^9K9_ % 4#:S:STYT`T`:a !!) 33E4F4FG 	 %%-D33K3KEL]L]3^ 	
 %%-D33N3NuO`O`3a 	
 OO+D1O1OPUP_P_1` 	 ""+++<<%% ++#1
 	
7 Os   Fc                 &    | j                  ||      S r3   )r  r  s      r%   r\  z#RestToGrpc.convert_recommend_pointsg  s     ,,UODDrZ   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       ri  )r   rl  rq  r   rp  ro  rn  rm  rk  rs  rr  r   r   s     r%   rt  z!RestToGrpc.convert_tokenizer_typem  s    D&&+++%%***d((333%%000d((///%%,,,d((555%%222<UGDEErZ   c                    t        j                  |j                  | j                  |j                        nd |j                  |j
                  |j                  |j                  |j                  | j                  |j                        nd |j                  |j                   | j                  |j                              S d       S )N)r}  rx  rv  rw  r   rz  ry  r{  )r   r~  r}  rt  rx  rv  rw  r   rz  r  ry  r{  r  r   s     r%   r;  z$RestToGrpc.convert_text_index_paramsz  s    ## ??. **5??;oo----MM* ++EOO<!11:?--:SC''6
 	
 Z^
 	
rZ   c                 `   t        |t        j                        r!t        j                  |j
                  g      S t        |t        j                        rGt        j                  |j                  r|j                  D cg c]  }| c}nd |j                        S t        d|       c c}w )N)r  r  z"invalid StopwordsInterface model: )	r?   r   r  r   r  rH   r  r  r   )r   rc   langs      r%   r  zRestToGrpc.convert_stopwords  s    eT]]+$$}==eT../$$@EEOO<OD4O<UY|| 
 =eWEFF	 =s   ?	B+c                     t        |t        j                        r4t        j                  t        j                  |j
                              S t        d|       )N)r  )r  r  )r?   r   r  r   r*  r  r   r   s     r%   r  zRestToGrpc.convert_stemmer  sH    eT001))43F3FPUP^P^3_``<UGDEErZ   c                     t        j                  |j                  |j                  |j                  |j
                        S )N)r  r  r  r   )r   r  r  r  r  r   r   s     r%   r<  z'RestToGrpc.convert_integer_index_params  s5     &&<<++++MM	
 	
rZ   c                 X    t        j                  |j                  |j                        S N)r  r   )r   r  r  r   r   s     r%   r=  z'RestToGrpc.convert_keyword_index_params  s     &&%--XXrZ   c                 X    t        j                  |j                  |j                        S N)r  r   )r   r  r  r   r   s     r%   r>  z%RestToGrpc.convert_float_index_params  s    $$%2D2Demm\\rZ   c                 B    t        j                  |j                        S N)r   )r   r  r   r   s     r%   r?  z#RestToGrpc.convert_geo_index_params  s    ""5==99rZ   c                 B    t        j                  |j                        S r  )r   r  r   r   s     r%   r@  z$RestToGrpc.convert_bool_index_params  s    ##EMM::rZ   c                 X    t        j                  |j                  |j                        S r  )r   r  r  r   r   s     r%   rA  z(RestToGrpc.convert_datetime_index_params  s$     ''U5G5GQVQ^Q^__rZ   c                 X    t        j                  |j                  |j                        S r  )r   r  r  r   r   s     r%   rB  z$RestToGrpc.convert_uuid_index_params  s    ##eoou}}UUrZ   c                     t        j                  |j                  |j                  |j                  |j
                        S )N)r  r  r  r  )r   r  r  r  r  r  r   s     r%   r  z)RestToGrpc.convert_collection_params_diff  s;     (($77%*%C%C!11 % 9 9	
 	
rZ   c                 X    t        j                  |j                  |j                        S )N)r  rM  )r   r  r  r  r   s     r%   r>  z"RestToGrpc.convert_lookup_location  s%    ""!,,
 	
rZ   c                     t        |t              rt        j                  |      S t        |t        j
                        r%t        j                  | j                  |            S t        d|       )N)r  r|  r  )r?   rA   r   r+  r   r  r  r   r   s     r%   r  z#RestToGrpc.convert_read_consistency  sj    eS!''  t778''66u=  >ugFGGrZ   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )
r   r  r  r   r  r  r  r  r  r   r   s     r%   r  z(RestToGrpc.convert_read_consistency_type  s     D,,555++444d..222++///d..555++222B5'JKKrZ   c                    |t         j                  j                  k(  r.t        j                  t        j                  j
                        S |t         j                  j                  k(  r.t        j                  t        j                  j                        S |t         j                  j                  k(  r.t        j                  t        j                  j                        S t        d|       )Nr%  r  )r   r  r  r   r  r  r  r  r  r  r   r   s     r%   r  z!RestToGrpc.convert_write_ordering  s    D&&+++%%4+A+A+F+FGGd((///%%4+A+A+H+HIId((///%%4+A+A+H+HII<UGDEErZ   c                     t        j                  t         j                  j                  |j                  |j
                        S )Nr  )r   r  QuantizationTypeInt8r  r  r   s     r%   r  z-RestToGrpc.convert_scalar_quantization_config  s6     &&&&++^^''
 	
rZ   c                 v    t        j                  | j                  |j                        |j                        S )Nr  )r   r  r  r  r  r   s     r%   r  z.RestToGrpc.convert_product_quantization_config	  s4     ''55e6G6GH''
 	
rZ   c                     t        j                  |j                  |j                  | j	                  |j                        nd |j
                   | j                  |j
                              S d       S )Nr  )r   r  r  r  r  r  r  r   s     r%   r  z-RestToGrpc.convert_binary_quantization_config  sr     &&''~~) ==ennM##/ II%J^J^_
 	
 
 	
rZ   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )
r   r  r  r   r  r  r  r  r  r   r   s     r%   r  z/RestToGrpc.convert_binary_quantization_encoding   s     D33;;;22999D33<<<22:::D33EEE22AAAEeWMNNrZ   c                    |t         j                  j                  k(  r8t        j                  t        j                  j                  j
                        S |t         j                  j                  k(  r8t        j                  t        j                  j                  j                        S |t         j                  j                  k(  r8t        j                  t        j                  j                  j                        S |t         j                  j                  k(  r8t        j                  t        j                  j                  j                        S t        d|       )Nr  r  )r   r  r  r   r  r  r  r  r  r  r  r  r   r   s     r%   r  z5RestToGrpc.convert_binary_quantization_query_encoding/  s    D88@@@77<<DDLL  D88???77<<DDKK  D88DDD77<<DDPP  D88DDD77<<DDPP  =eWE
 	
rZ   c                 D   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )r   r  r  r   r  r  r  r  r  r   r  r  r  r   r   s     r%   r  z$RestToGrpc.convert_compression_ratioK  s    D)),,,((+++d++...((+++d++///((,,,d++///((,,,d++///((,,,?wGHHrZ   c                    t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S t        d|       )Nr  r  r
  r  )r?   r   r  r   r,  r  r  r  r  r  r  r  r	  r   r   s     r%   r   z&RestToGrpc.convert_quantization_configZ  s     eT445**==ellK  eT556**??N  eT445**==ellK  A%IJJrZ   c                 n    t        j                  |j                  |j                  |j                        S )Nr  )r   r  r  r  r  r   s     r%   r  z-RestToGrpc.convert_quantization_search_paramsm  s.     ,,<<MM++
 	
rZ   c                     t        j                  | j                  |j                        | j	                  |j
                              S )N)r  r  )r   r  r`  r  rr  r  r   s     r%   r  z RestToGrpc.convert_point_vectorsw  s9      ,,UXX6--ell;
 	
rZ   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w r  )r   r  r  r  r  s      r%   r  z RestToGrpc.convert_groups_result~  r  r   c           	         t        j                  | j                  |j                        |j                  D cg c]  }| j                  |       c}|j                   | j                  |j                              S d       S c c}w )Nr!  )r   r#  r$  r  r"  r  r  r'  r   s      r%   r  zRestToGrpc.convert_point_group  su    ##EHH-?DzzJze#**51zJ7<||7O3%%ell3
 	
 VZ
 	
Js   B
c                     t        |t              rt        j                  |      S t        |t              r1|dk\  rt        j                  |      S t        j                  |      S t        d|       )Nr.   r   )unsigned_valuer+   r(  )r?   rC   r   r-  rA   r   r   s     r%   r$  zRestToGrpc.convert_group_id  sr    eS!<<"  s#z||#(  ||"'  6ug>??rZ   c                     t        j                  |j                  |j                  | j	                  |j                        nd |j
                   | j                  |j
                              S d       S )N)r  rJ  rH  )r   r*  r  rJ  r  rH  r"  r   s     r%   r+  zRestToGrpc.convert_with_lookup  sv    '' %%1 ((););< %%1 2253E3EF
 	
 
 	
rZ   c                 ^   t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S |t        j                  j                  k(  r(t        j                  t        j                               S t        d|       )Nr  r  r
  )r.  r-  )r?   r   r  r   r.  r  r  r  r  r  r  r  r	  r/  r0  r   r   s     r%   r  z+RestToGrpc.convert_quantization_config_diff  s     eT445..==ellK  eT556..??N  eT445..==ellK  DMM***..  EeWMNNrZ   c                     t        j                  |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                        S )Nr2  )r   r3  r   r   r   r  r   r   s     r%   r4  z%RestToGrpc.convert_vector_params_diff  sj    $$ $$0 ,,U->->? ,,8 44U5N5NOMM
 	
rZ   c           	      h    t        |t              r:t        |      dk(  r,d|v r(t        j                   j                  |d               S t        |t              rJt        j                  t        j                  t         fd|j                         D                          S t        d|       )Nr  r7  r  c              3   J   K   | ]  \  }}|j                  |      f  y wr3   r9  r  s      r%   r9   z9RestToGrpc.convert_vectors_config_diff.<locals>.<genexpr>  s*      S`xsCc<<SABS`rY  r  r  r6  )	r?   rF   rc  r   r/  r4  VectorParamsDiffMaprG   r   r   s   ` r%   r  z&RestToGrpc.convert_vectors_config_diff  s    eT"s5zQ2;))1O1OPUVXPY1Z[[t$))33 SXS^S^S`   @HIIrZ   c                    t        |t        j                        r| j                  |j                  j
                  t        |j                  j                              }t        t        |j                  j                              D cg c]  }t        j                  t        j                  |j                  j                  |         ||   |j                  j                  ,t        j                  |j                  j                  |         nd        c}S t        |t        j                        r)|j                   D cg c]  }| j#                  |       c}S t%        d|       c c}w c c}w )Nrq  z%invalid PointInsertOperations model: )r?   r   PointsBatchr  batchr  rc  r  r  r   r  r@  r`  payloadsr  rO  r   r  r   )r   rc   vectors_batchrj  r   s        r%   convert_point_insert_operationz)RestToGrpc.convert_point_insert_operation  s,    eT--.030O0O##S%91M !U[[__!56 7C   !;;EKKOOC<PQ)#. !;;//; #225;;3G3G3LM! 7  t/AFNC,,U3NNDUGLMM Os   BE*E/c                 $    | j                  |      S r3   )r]  r   s     r%   convert_update_operationz#RestToGrpc.convert_update_operation  s    22599rZ   c           
      P   t        |t        j                        r|j                  j                  r%| j                  |j                  j                        nd }t        j                  t        j                  j                  | j                  |j                        |            S t        |t        j                        r|j                  j                  r%| j                  |j                  j                        nd }| j                  |j                        }t        j                  j                  ||      }t        j                  |      S t        |t        j                        rJ|j                  j                   r+t        j"                  |j                  j                         }nO|j                  j$                  r+t        j&                  |j                  j$                        }nt)        d|       |j                  j                  r%| j                  |j                  j                        nd }t        j                  t        j                  j+                  | j-                  |j                  j.                        | j                  |      ||j                  j0                              S t        |t        j2                        rJ|j4                  j                   r+t        j"                  |j4                  j                         }nO|j4                  j$                  r+t        j&                  |j4                  j$                        }nt)        d	|       |j4                  j                  r%| j                  |j4                  j                        nd }t        j                  t        j                  j7                  | j-                  |j4                  j.                        | j                  |      ||j4                  j0                        
      S t        |t        j8                        r&|j:                  j                   r+t        j"                  |j:                  j                         }nO|j:                  j$                  r+t        j&                  |j:                  j$                        }nt)        d|       |j:                  j                  r%| j                  |j:                  j                        nd }t        j                  t        j                  j=                  |j:                  j>                  | j                  |      |            S t        |t        j@                        r|jB                  j                  r%| j                  |jB                  j                        nd }| j                  |jB                        }t        j                  jE                  ||      }t        j                  |      S t        |t        jF                        r|jH                  j                  r%| j                  |jH                  j                        nd }t        j                  t        j                  jK                  |jH                  j                   D cg c]  }| jM                  |       c}|            S t        |t        jN                        r:|jP                  j                   r+t        j"                  |jP                  j                         }nO|jP                  j$                  r+t        j&                  |jP                  j$                        }nt)        d|       |jP                  j                  r%| j                  |jP                  j                        nd }t        j                  t        j                  jS                  | j                  |      t        jT                  |jP                  jV                        |            S t)        d|       c c}w )N)r   r  r=  )r>  r   r  z#invalid SetPayloadOperation model: )r'   rQ  r  rT   rA  z)invalid OverwritePayloadOperation model: rC  z&invalid DeletePayloadOperation model: )rE  rQ  r  rF  rH  rJ  rA  )rQ  r  r  rL  rM  ),r?   r   rN  r<  r  rP  r   r0  PointStructListrB  rP  r?  r  DeletePointsrR  r@  r   r  r   r  r   rS  r  r'   rT   rT  rB  OverwritePayloadrU  rD  rV  rE  rW  rG  ClearPayloadrX  rI  rY  r  rZ  rK  r[  r  r  )r   rc   r  rQ  r>  rG  r   s          r%   r]  z*RestToGrpc.convert_points_update_operation  s    eT112 <<)) ..u||/E/EF 
 --11AA==ellK'9 B   t334 <<)) ..u||/E/EF 
 "99%,,GO 66CC&#5 D M --+  t778  ''"&"3"35;L;L;S;S"T""))"&"5"5U=N=N=U=U"V #Fug!NOO $$.. ..u/@/@/J/JK  -- 66AA//0A0A0I0IJ$'$?$?$P'9))--	 B   t==>&&--"&"3"35;R;R;Y;Y"Z((//"&"5"5U=T=T=[=["\ ?wG  **44 ..u/F/F/P/PQ  --"&"<"<"M"M//0G0G0O0OP$'$?$?$P'9//33	 #N #  t::;##**"&"3"35;O;O;V;V"W%%,,"&"5"5U=Q=Q=X=X"Y <UGD  ''11 ..u/C/C/M/MN  --#99GG--22$'$?$?$P'9  H    t99: &&00 ..u/B/B/L/LM 
 "99%:M:MNO 66CC&#5 D M --+  t::; ''11 ..u/C/C/M/MN  --#99GGFKFZFZFaFaFaU11%8Fa (:	  H    t::;##**"&"3"35;O;O;V;V"W%%,,"&"5"5U=Q=Q=X=X"Y <UGD  ''11 ..u/C/C/M/MN  --#99GG$'$?$?$P 00u7K7K7R7RS'9  H    >ugFGG=s   `#c                 j    t        |t        j                        r|j                  S t	        d|       )Nzinvalid InitFrom model: )r?   r   r_  r  r   r   s     r%   r`  zRestToGrpc.convert_init_from  s/    eT]]+###7w?@@rZ   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       rb  )
r   rc  re  r   rd  rg  rf  ri  rh  r   r   s     r%   r  z%RestToGrpc.convert_recommend_strategy  s    D**999))777d,,777))333d,,777))333@HIIrZ   c                     t        j                  |j                  |j                  nd |j                  |j                  nd |j                   | j                  |j                              S d       S )Nrk  )r   r2  r   r   r@  r>  r   s     r%   convert_sparse_index_paramsz&RestToGrpc.convert_sparse_index_params  sj    %%-2-F-F-R))X\%*]]%>EMMD=B^^=WS))%..9
 	

 ^b
 	
rZ   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        t        j                  d      S t        d|       ro  )r   rq  rs  r   rr  rt  r   r   r   s     r%   ru  zRestToGrpc.convert_modifier  sZ    DMM%%%==$$$dmm(((4==&117w?@@rZ   c                     t        j                  |j                  | j                  |j                        nd |j                   | j                  |j                              S d       S )Nry  )r   rz  rw  rM  rx  ru  r   s     r%   r{  z'RestToGrpc.convert_sparse_vector_params  sc     &&@E@W//<]a 9>8R$$U^^4
 	

 Y]
 	
rZ   c                 p     t        j                  t         fd|j                         D                    S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr3   r~  r  s      r%   r9   z:RestToGrpc.convert_sparse_vector_config.<locals>.<genexpr>  s(     `R_hc3c3;;C@AR_rY  r  )r   r3  rF   rG   r   s   ` r%   r  z'RestToGrpc.convert_sparse_vector_config  s0     &&`RWR]R]R_``
 	
rZ   c                     t        |t              rt        j                  |      S t        |t              rt        j                  |      S t        d|       )N)numberr  r  )r?   rA   r   r4  rC   r   r   s     r%   r  zRestToGrpc.convert_shard_key  sG    eS!==..eS!==//3E7;<<rZ   c                 @   t        |t        t        j                              r&t	        j
                  | j                  |      g      S t        |t              r3t	        j
                  |D cg c]  }| j                  |       c}      S t        d|       c c}w )N)r  z invalid ShardKeySelector model: )	r?   r   r   r4  r   r	  r  rD   r   )r   rc   rT   s      r%   rP  z%RestToGrpc.convert_shard_key_selector  s    e0?@((S5J5J55Q4RSSeT"(([`4a[`TWS5J5J35O[`4abb;E7CDD 5bs   -Bc                     |t         j                  j                  k(  rt        j                  S |t         j                  j
                  k(  rt        j                  S t        d|       r  )r   r  r  r   r  r  r  r   r   s     r%   r  z"RestToGrpc.convert_sharding_method  sQ    D'',,,99d))000;;=eWEFFrZ   c                 n    t        j                  |j                  |j                  |j                        S )Nr  )r   r8  r  r  r  r   s     r%   r  z%RestToGrpc.convert_health_check_reply  s*    $$++MM<<
 	
rZ   c                     t        j                  | j                  |j                        | j                  |j                        |j
                        S r  )r   r  r`  r  r  r  r   s     r%   r  z%RestToGrpc.convert_search_matrix_pair  s@    $$++EGG4++EGG4++
 	
rZ   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w r  )r   r9  r  r  r  s      r%   r  z&RestToGrpc.convert_search_matrix_pairs  s;     %%DIKKPKD311$7KP
 	
Pr   c                     t        j                  t        |j                        t        |j                        t        |j
                        |j                  D cg c]  }| j                  |       c}      S c c}w r  )r   r:  rD   r  r  r  r  r`  r  s      r%   r  z(RestToGrpc.convert_search_matrix_offsets	  sf     ''U../U../%AFK..t4K	
 	
 Lr  c                 B    t        j                  |j                        S Nr  r   r  r  r   s     r%   r  z*RestToGrpc.convert_strict_mode_multivector        ))))
 	
rZ   c                 p     t        j                  t         fd|j                         D                    S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr3   r  r  s      r%   r9   zDRestToGrpc.convert_strict_mode_multivector_config.<locals>.<genexpr>!  s*      $P]HCc99#>?P]rY  rA  r   r;  rF   rG   r   s   ` r%   r  z1RestToGrpc.convert_strict_mode_multivector_config  s6     //# $PUP[P[P]$  
 	
rZ   c                 B    t        j                  |j                        S Nr  r   r  r  r   s     r%   r  z%RestToGrpc.convert_strict_mode_sparse&  s    $$''
 	
rZ   c                 p     t        j                  t         fd|j                         D                    S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr3   r  r  s      r%   r9   z?RestToGrpc.convert_strict_mode_sparse_config.<locals>.<genexpr>1  s)      KXxsCc44S9:=rY  r  r   r<  rF   rG   r   s   ` r%   r  z,RestToGrpc.convert_strict_mode_sparse_config,  s3     ** KP;;= 
 	
rZ   c                 t   t        j                  di d|j                  d|j                  d|j                  d|j
                  d|j                  d|j                  d|j                  d|j                  d	|j                  d
|j                  d|j                  d|j                  d|j                  d|j                  d|j                   d|j"                  d|j$                  r| j'                  |j$                        nd d|j(                  r| j+                  |j(                        S d S r  )r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rA  r  r  r  r   s     r%   r  z%RestToGrpc.convert_strict_mode_config6  sn   $$ 
MM
!11
 ))
 */)K)K	

 (-'G'G
  %77
  %77
 %*$A$A
 "'!;!;
 .3-S-S
 "11
 #33
 /4.U.U
 #33
 #("="=
   %77!
& ++ ::5;S;ST)
0 && 55e6I6IJ/
 	
2 3
 	
rZ   c                 t   t        j                  di d|j                  d|j                  d|j                  d|j
                  d|j                  d|j                  d|j                  d|j                  d	|j                  d
|j                  d|j                  d|j                  d|j                  d|j                  d|j                   d|j"                  d|j$                  r| j'                  |j$                        nd d|j(                  r| j+                  |j(                        S d S r  )r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rA  r  r  r  r   s     r%   r   z,RestToGrpc.convert_strict_mode_config_outputU  sp    $$ 
MM
!11
 ))
 */)K)K	

 (-'G'G
  %77
  %77
 %*$A$A
 "'!;!;
 .3-S-S
 "11
 #33
 /4.U.U
 #33
 #("="=
   %77!
& ++ AA%BZBZ[)
0 && <<U=P=PQ/
 	
2 3
 	
rZ   c                 p     t        j                  t         fd|j                         D                    S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr3   r  r  s      r%   r9   zKRestToGrpc.convert_strict_mode_multivector_config_output.<locals>.<genexpr>{  s-      $ -HC c@@EF -rY  r`  ra  r   s   ` r%   r  z8RestToGrpc.convert_strict_mode_multivector_config_outputv  s3     //# $ %$  
 	
rZ   c                 p     t        j                  t         fd|j                         D                    S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr3   r  r  s      r%   r9   zFRestToGrpc.convert_strict_mode_sparse_config_output.<locals>.<genexpr>  s*      R_hc3c;;C@AR_rY  rg  rh  r   s   ` r%   r  z3RestToGrpc.convert_strict_mode_sparse_config_output  s6     ** RWR]R]R_ 
 	
rZ   c                 B    t        j                  |j                        S r[  r\  r   s     r%   r  z1RestToGrpc.convert_strict_mode_multivector_output  r]  rZ   c                 B    t        j                  |j                        S rc  rd  r   s     r%   r  z,RestToGrpc.convert_strict_mode_sparse_output  s      $$''
 	
rZ   N(~  r  r  r  r  r   r   r   r   r   r   r
   r   r   r   rM  r   r   r   r   r   r   r   r   r   r   r   r   rN  r   r  r  r   rF   rC   r/  r  r   rX  r  r   r1  rf   r0  rZ  r\  r_  r]  rg  r   rn  r   rw  rx  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(  r   r  r"  r  r   r  r	  r  r  r  r  r  r  r  r   r  r  r  r
  r  r  r	   r'  rD   r  r  r  r  r&  rc  r  ra  r  r  r  r(  r^  rg  r_  r  r`  r  r  r  r   r  r
  r  r   r  r"  r5  r  r  r  r  r0  OrderByInterfacer  r6  r  r  r7  r  r$  r  r'  r%  r+  r,  r2  r4  r7  r>  rD  rF  rJ  rE  rO  rK  r  r  r  r  rr  r  r  rm  r!  r   r  BatchVectorStructrA   r  NamedVectorStructrE   rB   r   r  r  r  rd  re  r  rf  r  ro  r  rp  r  rq  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r3  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  QueryInterfacer  r<  r  r=  rO  r"  r  rQ  rS  r#  r	  rT  rX  r$  r  r`  r%  ra  r  r\  rl  rt  r~  r;  r)  r  r  r*  r  r  r<  r  r=  r  r>  r  r?  r  r@  r  rA  r  rB  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-  r$  r*  r+  r.  r  r3  r4  r/  r  PointInsertOperationsrB  r1  r0  rD  r]  r_  r`  rc  r  rl  r2  rM  rq  ru  rz  r{  r   r3  r  r4  r  r	  rP  r  r  r  r8  r  r  r  r  r9  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  rZ   r%   r@  r@  	  s    
4;; 
4;; 
 
, 
$** 
 
 
 U8T>%: y   
4+=+= 
$BTBT 
 
 _t~~ _$.. _ _ cD,>,> c4CUCU c c 
 
DOO 
 
 ;..;		#	#; ;
 
D,?,? 
DDWDW 
 
 
Ed.C.C 
EH]H] 
E 
E ET-B-B EtG[G[ E E ^d3334^	c4)))	*^ ^
 
t/D/D 
I_I_ 
 
 #H,,#H		 	 #H #HJ F0F0F F4KaKa F F( 
$*;*; 
@Q@Q 
 
 A):): At?P?P A A 
T-@-@ 
TEXEX 
 

 D++D		 	 D D
 =)9)9 =d>N>N = = 
)9)9 
d>N>N 
 

 =t/D/D =I^I^ = = ;d.B.B ;tG[G[ ; ; 
T-A-A 
dFZFZ 
 
 

$*;*; 

@Q@Q 

 

 d)9)9 dd>N>N d d ? ?DOO ? ? 
)9)9 
d>N>N 
 
 
)9)9 
d>N>N 
 
 
T-@-@ 
TEXEX 
 
 
)9)9 
d>N>N 
 
 MDLL MT#tzz/5J M M 
T-@-@ 
TEXEX 
 
 !CD,?,? !CDDWDW !C !CF 
D,>,> 
4CUCU 
 
 
d.C.C 
H]H] 
 
$ 
 
D<O<O 
 
 
t~~ 
$:L:L 
 
 
=T]] 
=t}} 
= 
= 
d.C.C 
H]H] 
 
, K//K		$	$K K 
d.C.C 
HaHa 
 
" 
--
		"	"
 
. 
))
<?
			
 
@ ;dmm ; ; ; :$** : : :< DT-A-A DdFZFZ D D 
d.C.C 
H]H] 
 
  5 56	dll	    5 56	dkk	 $ 44+@+@ 4TEWEW 4 4 Ed.C.C EHZHZ E E 
D4E4E 
$++ 
 
 
4;L;L 
QUQbQb 
 
 N$*?*? NDDUDU N N 
&&
 
	 	 
 
 Dd.B.B Dt|| D D 	CD,?,? 	CDDWDW 	C 	C >dnn > > >$ 	DT-A-A 	DdF^F^ 	D 	D 9((9		!	!9 9
 
I--
I		!	!
I 
I >t~~ >$.. > > >dnn > > > 	
T\\ 	
dll 	
 	
 Et/D/D E E E ? ?DOO ? ? 
D,>,> 
4== 
 
 
4;; 
43F3F 
 
 )DKK )D<O<O ) ) 3)9)9 3d>N>N 3 3 	
,,	
		!	!	
 	
 =T]] =t}} = = 
$*;*; 
@Q@Q 
 
. 
t/E/E 
$J`J` 
 

 J..J		#	#J J 
F4+=+= 
F$BTBT 
F 
F (E$*;*; (E (E (ET K1H1H KTM_M_ K K< D DT=U=U D D J**J9<J	dll	J J J**J	tE{HT%7%78(3-G	HJ J  ,e ,9I9I , , M$*;*; M@Q@Q M M 
tDK/@ 
TEZEZ 
 

 
T]] 
t}} 
 
 
$** 
 
 
 
T-A-A 
dFZFZ 
 
 @)9)9 @d>N>N @ @( 
D,?,? 
DDWDW 
 
& 
t/?/? 
DDYDY 
 
 A$*;*; A@Q@Q A A 
4+=+= 
$BTBT 
 
 ;4;; ;4;; ; ; ;4;; ;4;; ; ; \ \TXX \ \ :$** : : :B F$*;*; F F F
 *?t *?4?? *? *?X \4+=+= \$BTBT \ \ _D,?,? _DDWDW _ _ 
4+=+= 
$BTBT 
 
 
4+=+= 
$BTBT 
 
 
)9)9 
d>N>N 
 
 
..
		#	#
 
 =D,?,? =DJJ = = 
4== 
T=O=O 
 
, 
&&
9<
			
 
< B&&B9<B			B B
 (
%%(
8;(
			(
 (
T A%%A8;A			A A
 ,
)),
<?,
			,
 ,
\ D((D;>D			D D
 .
((.
;>.
			.
 .
` E))E<?E			E E
 
F4+=+= 
F$BTBT 
F 
F 
d.B.B 
tG[G[ 
 
$ 
Gd&=&= 
G$BSBS 
G 
G FD$:$: Ft?U?U F F 
++
		 	 
 
 Y++Y		 	 Y Y
 ]t/D/D ]I^I^ ] ] :T-@-@ :TEXEX : : ;d.B.B ;tG[G[ ; ; `,,`		!	!` `
 Vd.B.B VtG[G[ V V 
--
		"	"
 
 
D,?,? 
DDWDW 
 
 
HT-A-A 
HdFZFZ 
H 
H 
L,,
L		!	!
L 
L F4+=+= F$BTBT F F 
11
		 	 
 
 
22
		!	!
 
 
11
		 	 
 
 O33O		(	(O O 
88
		-	-
 
6 Id.C.C IH]H] I I K++K		 	 K K$ 
11
		&	&
 
 
$*;*; 
@Q@Q 
 
 
$*;*; 
@Q@Q 
 

 
 
DOO 
 
 @T\\ @dll @ @" 
 
DOO 
 
 O//O		$	$O O, 
t/D/D 
I^I^ 
 
 J0F0F J4KaKa J J N..N	d	N N0 :T-A-A :dF`F` : : WH((WH		#	#WH WHr Admm A A A Jt/E/E J$J`J` J J 
0F0F 
4KaKa 
 
 AT]] At}} A A 

++

		 	 

 

 
C!8!889
		 	 
 
 =dmm = = = Et/D/D EI^I^ E E GD,?,? GDDWDW G G 
t/?/? 
DDYDY 
 
 
t/D/D 
I^I^ 
 
 
22
			
 
 
44
		!	!
 
 
..
		#	#
 
 
44
		)	)
 
 
t/D/D 
I^I^ 
 

 
//
		$	$
 
 
t/D/D 
I^I^ 
 
< 
//
			
 
@ 
::
		)	)
 
 
55
		$	$
 
 
44
		#	#
 
 
//
			
 
rZ   r@  N)0r   r   r   typingr   r   r   r	   r
   r   #google.protobuf.internal.containersr   google.protobuf.json_formatr   google.protobuf.timestamp_pb2r   google.protobuf.pyext._messager   ImportErrorqdrant_clientr   qdrant_client.grpcr   r   r   r   qdrant_client.http.modelsr   r   qdrant_client._pydantic_compatr   r   &qdrant_client.conversions.common_typesr   rC   r@   r&   r5   rR   rF   r^   rb   rf   rh   ry   r{   r}   r@  r  rZ   r%   <module>r     s2   - - D D : 5 3	B  B B 4 H F#s #3 #4 # =3 =5 =,7 73 7@KT#s(^ KS%Z0@ KI:c5j1 Id38n IBT-C-C B B*:T^^ :@V@V :*W$
 W$
BIl#
 l#
GM  		s   C% %C-,C-