+
    lHàjŠ  ã                  óò   € ^ RI Ht ^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
 ^ RIHtHtHtHt ^ RIHtHtHt ^ RIHtHtHt ]P0                  ! ]4      tR R ltR	R/R
 R lltR R ltRR R lltRR R lltR# )é    )ÚannotationsN)ÚAnyÚDictÚIterableÚListÚOptionalÚTuple)Ú
NOT_SET_UPÚNOT_SET_UP_MESSAGEÚSIGN_IN_EXPIREDÚUNREACHABLE)Úformat_connector_nameÚis_connector_nameÚvendor_slug_candidates)ÚCatalogEntryÚ_fnÚ	_tokenizec               ó    € V ^8„  d   QhRRRR/# )é   Ú	tool_defszIterable[dict[str, Any]]ÚreturnÚbool© )Úformats   "Ú</home/ubuntu/.hermes/hermes-agent/tools/connectors/search.pyÚ__annotate__r      s   € ÷ Pñ PÐ$<ð PÀñ Pó    c                ój   € \         ;QJ d    R  V  4       F  '       g   K   R# 	  R# ! R  V  4       4      # )c              3  ó\   "  € T F"  p\        V4      P                  R 4      R8H  x € K$  	  R# 5i)ÚnameÚmanage_connectionsN)r   Úget)Ú.0Útds   & r   Ú	<genexpr>Ú'connections_in_scope.<locals>.<genexpr>   s#   é € ÐOÁY¸rŒs�2‹w�{‰{˜6Ó"Ð&:Ö:ÃYùs   ‚*,TF)Úany)r   s   &r   Úconnections_in_scoper(      s+   € ß‹3ÑOÁYÓO�3Œ3ÐOŠ3ÐOˆ3ÑOÁYÓOÓOÐOr   Únamesc               ó(   € V ^8„  d   QhRRRRRRRR/# )r   ÚfailureÚstrÚverbr)   zOptional[list[str]]r   údict[str, Any]r   )r   s   "r   r   r      s*   € ÷ ñ  Cð °#ð Ø"5ðØAOñr   c               óü   € V \         8X  dC   ^ RIHp \         R2pV! 4       ;p'       d   VRV 2,          pR\         RV/pV'       d   W&R&   V# RV R2pV \        8X  d
   VR	,          pRR
RV RV/pV'       d   W&R&   V# )r   )Úguest_setup_failurez‹ Hosted apps (Gmail, Calendar, Notion and more) are then searchable. If the request is better served by the tools above, use those instead.z< The last attempt failed, so tell the user before retrying: ÚstatusÚhintr)   z$Hosted connector tools could not be z/ right now. Do not conclude the app is missing.z% The user must sign in to Nous again.ÚunavailableÚreason)r
   Útools.connectors.gateway.configr0   r   r   )r+   r-   r)   r0   r2   Úlast_failureÚfields   &$$    r   Úconnectors_unavailabler8      s§   € à”*ÔÝGä%Ð&ð 'Yð Yˆá.Ó0Ð0ˆ<Ö0ØÐRÐS_ÐR`ÐaÕaˆDØ!)¬:°v¸tÐ DˆßØ"�'‰NØˆØ2°4°&ð 92ð 2€Dà”/Ô!ØÐ7Õ7ˆØ�} h°¸ÀÐF€EßØˆg‰Ø€Lr   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r   r    r,   Ú	connectorÚslugÚschemar.   r   r   r   )r   s   "r   r   r   )   s7   € ÷ 	]ñ 	]˜3ð 	]¨3ð 	]°cð 	]À>ð 	]ÐVbñ 	]r   c           
     ó  € \        VP                  R 4      ;'       g    R4      p^ RIHp V! WP                  R4      4      pRRRRV R VRV//pV RVP	                  R	R4       RV 2p\        WVR
V\        V4      R7      # )ÚdescriptionÚ )Úmodel_parametersÚinput_schemaÚtypeÚfunctionr    Ú
parametersÚ Ú_Ú
connectors)r    r>   r<   ÚsourceÚsource_nameÚ_tokens)r,   r"   Útools.connectors.gateway.filesr@   Úreplacer   r   )	r    r:   r;   r<   r>   r@   rD   Útool_defÚtexts	   &&&&     r   Ú_connector_entryrO   )   s–   € Ü�f—j‘j Ó/×5Ð5°2Ó6€KÝ?á! $¯
©
°>Ó(BÓC€JØ˜
 JØ��m [°,À
ð1Lð M€Hàˆ[˜˜$Ÿ,™, s¨CÓ0Ð1°°;°-Ð@€DÜ˜TÀ8Ø+¸ÌIÐVZËOô]ð ]r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   Úqueriesú	list[str]Úconnector_searchúOptional[Any]Úcallr   z.tuple[list[list[CatalogEntry]], Optional[str]]r   )r   s   "r   r   r   5   s0   € ÷ 2ñ 2Øð2à#ð2ð ð2ð 4ñ	2r   c           
     ór  € V  Uu. uF  p. NK  	  pp Vf   ^ RI Hp \        P                  ! WRR7      pT! V  Uu. uF  pRV/NK	  	  up4      pVP                  '       d   WGP                  3# VP
                  ;'       g    / pVP                  R4      p	VP                  R4      p
\        V	\        4      '       d   \        V
\        4      '       g   YH'       d   \        3# R 3# \        V
R \        V 4       4       EFà  w  r¼\        V\        4      '       g   K  VP                  R4      p\        V\        4      '       d   V'       d   WÐV,          8w  d   K\  \        VP                  R4      \        4      '       d   VP                  R4      M. p/ pV EF  pV	P                  V4      p\        V\        4      '       d   VP                  R4      '       g   KD  \        V4      p\        VR,          4      P                  4       p\        VV4      pVP                  V4      pVed   V^ ,          V8w  dV   \!        VVP#                  R^4      ^,          4      ^ ,          p\$        P'                  R	VV^ ,          VVV4       VV8w  d   Kò  MVe   Kù  V\)        V\        VR,          4      VV4      3VV&   EK  	  VP+                  4        UUu. uF  w  ppVNK
  	  uppWK&   EKã  	  VR 3# u upi u upi u uppi   \,         d9    \$        P'                  R
RR7       T  Uu. uF  p. NK  	  Mu upi up\        3u # i ; i)N)Úconnector_search_hits©rU   Úuse_caseÚschemasÚresultsÚtoolsr:   Ú__zIconnector %s: vendor slugs %s and %s both compose to %s, which reaches %sz#connector search merge failed (D32)T©Úexc_info)Útools.connectors.gateway.bridgerW   Ú	functoolsÚpartialr+   Úpayloadr"   Ú
isinstanceÚdictÚlistr   Ú	enumerateÚlenr,   Úlowerr   r   ÚsplitÚloggerÚwarningrO   ÚvaluesÚ	Exception)rQ   rS   rU   rF   Ú	per_queryrW   ÚqÚlegÚhitsrZ   ÚgroupsÚpositionÚgroupÚechoedÚslugsÚpickedr;   r<   r:   r    ÚpriorÚreachesÚentrys   &&&                    r   Úconnector_entries_by_groupr|   5   sÉ  € ñ
 8?Ó*?±w°!«2±w€IÐ*?ð+2ØÒ#ÝMä(×0Ò0Ð1FÔRÐÙ¹ÓA¹°A ¨Q£¹ÑAÓBˆØ�;�;ˆ;ØŸk™kÐ)Ð)Ø�{‰{× Ð ˜bˆØ—(‘(˜9Ó%ˆØ—‘˜)Ó$ˆÜ˜'¤4×(Ò(´
¸6Ä4×0HÒ0HØ®dœ{Ð=Ð=¸Ð=Ð=Ü(¨°´#°g³,Ð)?×@‰OˆHÜ˜e¤T×*Ò*ÙØ—Y‘Y˜zÓ*ˆFÜ˜&¤#×&Ò&¯6°fÈÕ@QÔ6QÙÜ*4°U·Y±Y¸wÓ5GÌ×*NÒ*N�E—I‘I˜gÔ&ÐTVˆEØ:<ˆFÜ�Ø Ÿ™ TÓ*�Ü! &¬$×/Ò/°v·z±zÀ+×7NÒ7NÙä˜4“y�Ü  {Õ 3Ó4×:Ñ:Ó<�	Ü,¨Y¸Ó=�ØŸ
™
 4Ó(�ØÒ$¨¨q­°TÔ)9ä4°YÀÇ
Á
È4ÐQRÓ@SÐTUÕ@VÓWÐXYÕZ�GÜ—N‘NÐ#nØ#,¨e°A­h¸¸dÀGôMà˜w”Ù ð 'àÒ&ÙØ $Ô&6°t¼SÀÈÕATÓ=UÐW[Ð]cÓ&dÐe��t”ñ% ð& :@¿¹¼Ô"I¹©X¨Q°£5¹Ò"IˆIÔñ7  Að> �dˆ?Ðùò[ +@ùò  BùóF #JøÜô 2Ü�‰Ð<ÀtˆÔLÙ#Ó$™G�q“šGùÔ$¤kÐ1Ò1ð2úsm   …K#“'K3 ºK(ÁK3 Á K3 Á-K3 Â AK3 Ã K3 Ã#A#K3 ÅBK3 ÇC2K3 ËK-ËK3 Ë(K3 Ë3&L6ÌL%Ì$L6Ì5L6c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r   r)   rR   Úcurrent_tool_defszlist[dict[str, Any]]Úconnector_describerT   rU   r   z/tuple[dict[str, dict[str, Any]], Optional[str]]r   )r   s   "r   r   r   j   s:   € ÷ ñ Øðà+ðð &ðð ð	ð
 5ñr   c                ó&  € V  Uu. uF  p\        V4      '       g   K  VNK  	  ppV'       d   \        V4      '       g   / R 3#  Vf   ^ RIHp \        P
                  ! WcR7      pV! V4      pVP                  '       d   / VP                  3# VP                  P                  R4      p\        V\        4      '       d   VR 3# / VP                  '       d   \        3# R 3# u upi   \         d#    \        P                  RRR7       / \        3u # i ; i)N)r   rX   r\   z%connector describe merge failed (D32)Tr^   )r   r(   r`   r   ra   rb   r+   rc   r"   rd   re   r   rn   rk   rl   )	r)   r~   r   rU   ÚnÚconnector_namesÚdescriberq   r\   s	   &&&&     r   Úremote_schemas_forr„   j   sð   € ñ #(Ó@¡%˜QÔ+<¸Q×+?—q�q¡%€OÐ@ßÔ"6Ð7H×"IÒ"IØ�4ˆxˆðØÒ%ÝVä!*×!2Ò!2°8Ô!GÐÙ  Ó1ˆØ�;�;ˆ;Ø�s—{‘{�?Ð"Ø—‘—‘ Ó(ˆÜ�eœT×"Ò"Ø˜$�;ÐØ 3§;§; ;”KÐ9Ð9°DÐ9Ð9ùò Aøô ô Ü�‰Ð>ÈˆÔNØ”;ˆÒðús:   …C�CÁ:C# Á>C# Â4C# ÃC# ÃC# ÃC# Ã#*DÄD)NN) Ú
__future__r   ra   ÚloggingÚtypingr   r   r   r   r   r	   r`   r
   r   r   r   Útools.connectors.gateway.namesr   r   r   Útools.tool_search_catalogr   r   r   Ú	getLoggerÚ__name__rk   r(   r8   rO   r|   r„   r   r   r   Ú<module>rŒ      s_   ðÝ "ã Û ß =× =ç hÓ hß kÑ kß BÑ Bà	×	Ò	˜8Ó	$€õPðØ8<÷õ.	]÷2÷jñ r   