§
    Š®0j¦  ã                   ó˜   — d Z ddlZddlmZ ddl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  ej        e¦  «        Z G d	„ d
¦  «        ZdS )z[
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License.
é    N)Úcast)ÚActivityParamsÚ	ApiClientÚConversationReferenceÚMessageActivityInputÚSentActivity)ÚClienté   )Ú
HttpStream)ÚStreamerProtocolc                   óB   — e Zd ZdZdefd„Zdededefd„Z	dede
fd„Zd	S )
ÚActivitySenderzw
    Handles sending activities to the Bot Framework.
    Separate from transport concerns (HTTP, WebSocket, etc.)
    Úclientc                 ó   — || _         dS )zz
        Initialize ActivitySender.

        Args:
            client: HTTP client with token provider configured
        N)Ú_client)Úselfr   s     úl/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/microsoft_teams/apps/activity_sender.pyÚ__init__zActivitySender.__init__   s   € ð ˆŒˆˆó    ÚactivityÚrefÚreturnc              ƒ   óð  K  — t          |t          ¦  «        o|j        duo|j        j        du }|r|j        j        dk    rt          d¦  «        ‚t          |j        | j	        ¬¦  «        }|j
        |_        |j        |_        t          |d¦  «        o|j        }|j                             |j        j        ¦  «        }|rjt!          t"          |j        ¦  «        }|r|                     ||¦  «        ƒ d{V —†}n|                     ||¦  «        ƒ d{V —†}t)          j        ||¦  «        S |r|                     |¦  «        ƒ d{V —†}n|                     |¦  «        ƒ d{V —†}t)          j        ||¦  «        S )zø
        Send an activity to the Bot Framework.

        Args:
            activity: The activity to send
            ref: The conversation reference

        Returns:
            The sent activity with id and other server-populated fields
        NTÚpersonalz<Targeted messages are not supported in 1:1 (personal) chats.)Úservice_urlÚoptionsÚid)Ú
isinstancer   Ú	recipientÚis_targetedÚconversationÚconversation_typeÚ
ValueErrorr   r   r   ÚbotÚfrom_Úhasattrr   ÚconversationsÚ
activitiesr   ÚstrÚupdate_targetedÚupdater   ÚmergeÚcreate_targetedÚcreate)	r   r   r   r    ÚapiÚ	is_updater(   Úactivity_idÚress	            r   ÚsendzActivitySender.send'   s´  è è € õ xÕ!5Ñ6Ô6ð 7ØÔ"¨$Ð.ð7àÔ"Ô.°$Ð6ð 	ð ð 	]˜3Ô+Ô=ÀÒKÐKÝÐ[Ñ\Ô\Ð\õ  C¤O¸T¼\ÐJÑJÔJˆð œˆŒØ #Ô 0ˆÔå˜H dÑ+Ô+Ð;°´ˆ	ØÔ&×1Ò1°#Ô2BÔ2EÑFÔFˆ
àð 	5Ýs H¤KÑ0Ô0ˆKØð EØ&×6Ò6°{ÀHÑMÔMÐMÐMÐMÐMÐMÐMà&×-Ò-¨k¸8ÑDÔDÐDÐDÐDÐDÐDÐDÝÔ% h°Ñ4Ô4Ð4àð 	4Ø"×2Ò2°8Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<ˆCˆCà"×)Ò)¨(Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3ˆCÝÔ! (¨CÑ0Ô0Ð0r   c                 óV   — t          |j        | j        ¦  «        }t          ||¦  «        S )z·
        Create a new activity stream for real-time updates.

        Args:
            ref: The conversation reference

        Returns:
            A new streaming instance
        )r   r   r   r   )r   r   r/   s      r   Úcreate_streamzActivitySender.create_streamS   s'   € õ ˜œ¨¬Ñ6Ô6ˆÝ˜#˜sÑ#Ô#Ð#r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r	   r   r   r   r   r3   r   r5   © r   r   r   r      s‰   € € € € € ðð ð
˜vð ð ð ð ð*1 >ð *1Ð8Mð *1ÐR^ð *1ð *1ð *1ð *1ðX$Ð!6ð $Ð;Kð $ð $ð $ð $ð $ð $r   r   )r9   ÚloggingÚtypingr   Úmicrosoft_teams.apir   r   r   r   r   Úmicrosoft_teams.commonr	   Úhttp_streamr   Úplugins.streamerr   Ú	getLoggerr6   Úloggerr   r:   r   r   ú<module>rC      sø   ððð ð
 €€€Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð *Ð )Ð )Ð )Ð )Ð )à #Ð #Ð #Ð #Ð #Ð #Ø .Ð .Ð .Ð .Ð .Ð .à	ˆÔ	˜8Ñ	$Ô	$€ðG$ð G$ð G$ð G$ð G$ñ G$ô G$ð G$ð G$ð G$r   