§
    øžyjŽ  ã                   óö  — U d Z ddlmZ ddlmZ  G d„ de¦  «        Z ed edd¬	¦  «        fd
 edd¬	¦  «        fd edd¬	¦  «        fd edd¬	¦  «        fd edd¬	¦  «        fd edd¬	¦  «        fd edd¬	¦  «        fd edd¬	¦  «        fd edd ¬	¦  «        fd! ed"d#¬	¦  «        fd$ ed%d&¬	¦  «        fd' ed(d)¬	¦  «        fd* ed+d,¬	¦  «        fd- ed.d/¬	¦  «        fd0 ed1d2¬	¦  «        fd3 ed4d5¬	¦  «        fd6 ed7d8¬	¦  «        fd9 ed:d;¬	¦  «        fd< ed=d>¬	¦  «        fd? ed@dA¬	¦  «        fdB edCdD¬	¦  «        fdE edFdG¬	¦  «        fg¦  «        Zeeef         edH<   dQdJedKedLefdM„Z	dRdO„Z
dPS )Sa  
Shared platform registry for Hermes Agent.

Single source of truth for platform metadata consumed by both
skills_config (label display) and tools_config (default toolset
resolution).  Import ``PLATFORMS`` from here instead of maintaining
duplicate dicts in each module.
é    )ÚOrderedDict)Ú
NamedTuplec                   ó(   — e Zd ZU dZeed<   eed<   dS )ÚPlatformInfoz%Metadata for a single platform entry.ÚlabelÚdefault_toolsetN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__© ó    ú:/home/ragecks/.hermes/hermes-agent/hermes_cli/platforms.pyr   r      s-   € € € € € € Ø/Ð/Ø€J€J�JØÐÐÑÐÐr   r   Úcliu   ðŸ–¥ï¸�  CLIz
hermes-cli©r   r   Útelegramu   ðŸ“± Telegramzhermes-telegramÚdiscordu   ðŸ’¬ Discordzhermes-discordÚslacku
   ðŸ’¼ Slackzhermes-slackÚwhatsappu   ðŸ“± WhatsAppzhermes-whatsappÚwhatsapp_cloudu   ðŸ“± WhatsApp Business (Cloud)Úsignalu   ðŸ“¡ Signalzhermes-signalÚbluebubblesu   ðŸ’™ BlueBubbleszhermes-bluebubblesÚemailu
   ðŸ“§ Emailzhermes-emailÚhomeassistantu   ðŸ�  Home Assistantzhermes-homeassistantÚ
mattermostu   ðŸ’¬ Mattermostzhermes-mattermostÚmatrixu   ðŸ’¬ Matrixzhermes-matrixÚdingtalku   ðŸ’¬ DingTalkzhermes-dingtalkÚfeishuu   ðŸª½ Feishuzhermes-feishuÚwecomu
   ðŸ’¬ WeComzhermes-wecomÚwecom_callbacku   ðŸ’¬ WeCom Callbackzhermes-wecom-callbackÚweixinu   ðŸ’¬ Weixinzhermes-weixinÚqqbotu
   ðŸ’¬ QQBotzhermes-qqbotÚyuanbaou   ðŸ¤– Yuanbaozhermes-yuanbaoÚwebhooku   ðŸ”— Webhookzhermes-webhookÚ
api_serveru   ðŸŒ� API Serverzhermes-api-serverÚcronu   â�° Cronzhermes-cronÚ	PLATFORMSÚ ÚkeyÚdefaultÚreturnc                 óè   — t                                | ¦  «        }|�|j        S 	 ddlm} |                     | ¦  «        }|r|j        r|j        › d|j        › �n|j        S n# t          $ r Y nw xY w|S )z¸Return the display label for a platform key, or *default*.

    Checks the static PLATFORMS dict first, then the plugin platform
    registry for dynamically registered platforms.
    Nr   ©Úplatform_registryú  )r)   Úgetr   Úgateway.platform_registryr0   ÚemojiÚ	Exception)r+   r,   Úinfor0   Úentrys        r   Úplatform_labelr8   /   s§   € õ �=Š=˜ÑÔ€DØÐØŒzÐðØ?Ð?Ð?Ð?Ð?Ð?Ø!×%Ò% cÑ*Ô*ˆØð 	SØ6;´kÐR�e”kÐ2Ð2 U¤[Ð2Ð2Ð2ÀuÄ{ÐRð	Søåð ð ð Øˆðøøøà€Ns   ¥;A" Á"
A/Á.A/úOrderedDict[str, PlatformInfo]c                  ó  — t          t          ¦  «        } 	 ddlm} |                     ¦   «         D ]I}|j        | vr>t          |j        r|j        › d|j        › �n|j        d|j        › �¬¦  «        | |j        <   ŒJn# t          $ r Y nw xY w| S )zÒReturn PLATFORMS merged with any plugin-registered platforms.

    Plugin platforms are appended after builtins.  This is the function
    that tools_config and skills_config should use for platform menus.
    r   r/   r1   zhermes-r   )
r   r)   r3   r0   Úplugin_entriesÚnamer   r4   r   r5   )Úmergedr0   r7   s      r   Úget_all_platformsr>   C   sÈ   € õ �Ñ#Ô#€Fð	Ø?Ð?Ð?Ð?Ð?Ð?Ø&×5Ò5Ñ7Ô7ð 	ð 	ˆEØŒz Ð'Ð'Ý%1Ø=B¼[ÐY˜Uœ[Ð9Ð9¨E¬KÐ9Ð9Ð9ÈeÌkØ$:¨e¬jÐ$:Ð$:ð&ñ &ô &��u”zÑ"øð	øõ ð ð ð Øˆðøøøà€Ms   –A$A; Á;
BÂBN)r*   )r-   r9   )r   Úcollectionsr   Útypingr   r   r)   r   r   r8   r>   r   r   r   ú<module>rA      sù  ððð ð ð $Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð ðð ð ð ð �:ñ ô ð ð -8¨KØ
�|�|¨.ÐUaÐbÑbÔbÐcØ�|�|¨/ÐRcÐdÑdÔdÐeØ�|�|¨.ÐRbÐcÑcÔcÐdØ�|�|¨,ÐR`ÐaÑaÔaÐbØ�|�|¨/ÐRcÐdÑdÔdÐeØ�|�|Ð*JÐ\mÐnÑnÔnÐoØ�|�|¨-ÐRaÐbÑbÔbÐcØ�|�|Ð*<ÐRfÐgÑgÔgÐhØ�|�|¨,ÐR`ÐaÑaÔaÐbØ�|�|Ð*?ÐRhÐiÑiÔiÐjØ�|�|Ð*;ÐReÐfÑfÔfÐgØ�|�|¨-ÐRaÐbÑbÔbÐcØ�|�|¨/ÐRcÐdÑdÔdÐeØ�|�|¨-ÐRaÐbÑbÔbÐcØ�|�|¨,ÐR`ÐaÑaÔaÐbØ�|�|Ð*?ÐRiÐjÑjÔjÐkØ�|�|¨-ÐRaÐbÑbÔbÐcØ�|�|¨,ÐR`ÐaÑaÔaÐbØ�|�|¨.ÐRbÐcÑcÔcÐdØ�|�|¨.ÐRbÐcÑcÔcÐdØ�|�|Ð*;ÐReÐfÑfÔfÐgØ�|�|¨*ÐQ^Ð_Ñ_Ô_Ð`ð-9ñ -ô -€	ˆ;�s˜LÐ(Ô)ð ð ñ ð4ð ˜ð  cð °3ð ð ð ð ð(ð ð ð ð ð r   