+
    lHàjâ  ã                  óš   € R t ^ RIHt ^ RIHt ^ RIHt . ROtRtRt	]! RR7       ! R	 R4      4       t
R
 R ltR R ltR R ltR R ltR# )z¥Codec for model-facing connector tool names.

Compose and parse bridge names only here. The composed-name collision resolves prefixed vendor slugs first everywhere.
)Úannotations)Ú	dataclass)ÚOptionalÚConnectorNameÚconnectors__Úconnectors__executeT)Úfrozenc                  ó6   € ] tR t^t$ R]R&   R]R&   R]R&   RtR# )r   ÚstrÚrawÚ	connectorÚtool© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__r   ó    ÚC/home/ubuntu/.hermes/hermes-agent/tools/connectors/gateway/names.pyr   r      s   ‡ ð 
ƒHØƒNØ
‡Ir   c               ó    € V ^8„  d   QhRRRR/# )é   ÚnameÚobjectÚreturnÚboolr   )Úformats   "r   Ú__annotate__r   #   s   € ÷ Lñ L˜Fð L tñ Lr   c                ó\   € \        V \        4      ;'       d    V P                  \        4      # )z>Prefix match only; malformed names are rejected by the parser.)Ú
isinstancer
   Ú
startswithÚCONNECTOR_NAME_PREFIX)r   s   &r   Úis_connector_namer#   #   s!   € ä�dœCÓ ×KÐK T§_¡_Ô5JÓ%KÐKr   c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r   zOptional[ConnectorName]r   )r   s   "r   r   r   (   s   € ÷ 
Cñ 
C˜vð 
CÐ*Añ 
Cr   c                óÐ   € \        V \        4      '       g   R# V P                  R^4      p\        V4      ^8w  d   R# Vw  r#pVR8w  g   V'       d	   V'       g   R# \	        WVR7      # )z>Use a bounded split so tool slugs retain internal underscores.NÚ__Ú
connectors)r   r   r   )r    r
   ÚsplitÚlenr   )r   ÚpartsÚprefixr   r   s   &    r   Úparse_connector_namer,   (   sV   € ä�dœC× Ò ÙØ�J‰J�t˜QÓ€EÜ
ˆ5ƒz�Q„ÙØ#Ñ€F�tØ�Ô§Y·dÙÜ˜T¸TÔBÐBr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r
   r   r   r   )r   s   "r   r   r   5   s!   € ÷ 9ñ 9 Sð 9°ð 9¸ñ 9r   c                ód   € V P                  4        R 2pVP                  V4      p\         V  RV 2# )Ú_r&   )ÚupperÚremoveprefixr"   )r   r   r+   s   && r   Úformat_connector_namer2   5   s<   € Ø—‘Ó!Ð" !Ð$€FØ×Ñ˜VÓ$€DÜ#Ð$ Y K¨r°$°Ð8Ð8r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r
   r   r   ztuple[str, ...]r   )r   s   "r   r   r   ;   s!   € ÷ 1ñ 1 cð 1°ð 1¸ñ 1r   c                ó0   € V P                  4        RV 2V3# )zBTry the stripped conventional prefix before a literal vendor slug.r/   )r0   )r   r   s   &&r   Úvendor_slug_candidatesr5   ;   s    € à�‰Ó Ð!  4 &Ð)¨4Ð0Ð0r   N)ÚCONNECTOR_BATCH_SENTINELr"   r   r2   r#   r,   r5   )Ú__doc__Ú
__future__r   Údataclassesr   Útypingr   Ú__all__r"   r6   r   r#   r,   r2   r5   r   r   r   Ú<module>r<      s`   ðñõ
 #å !Ý ò€ð 'Ð ð 1Ð ñ �$Ô÷ð ó ðõLõ

Cõ9÷1r   