§
    ÿYjû  ã                  óP   — d Z ddlmZ ddlZddlmZ ddlmZ  G d„ d¦  «        ZdS )	zMessage class for Honcho SDK.é    )ÚannotationsN)ÚAnyé   )ÚMessageResponsec                  ó”   — e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   dd„Zedd„¦   «         Zdd„Zdd„Z	dS )ÚMessageay  
    A message in a Honcho session.

    Messages represent communication between peers within a session.
    This class wraps the API response with convenient attribute access.

    Attributes:
        id: Unique identifier for this message
        content: The message content
        peer_id: The peer ID who authored this message
        session_id: The session ID this message belongs to
        workspace_id: The workspace ID this message belongs to
        metadata: Metadata associated with this message
        created_at: Timestamp for when the message was created
        token_count: Number of tokens in this message
    ÚstrÚidÚcontentÚpeer_idÚ
session_idÚworkspace_idúdict[str, Any]Úmetadataúdatetime.datetimeÚ
created_atÚintÚtoken_countÚreturnÚNonec	                óv   — || _         || _        || _        || _        || _        || _        || _        || _        d S ©N©r
   r   r   r   r   r   r   r   )	Úselfr
   r   r   r   r   r   r   r   s	            úU/home/ubuntu/.hermes/hermes-agent/venv/lib/python3.11/site-packages/honcho/message.pyÚ__init__zMessage.__init__&   sD   € ð ˆŒØˆŒØˆŒØ$ˆŒØ(ˆÔØ ˆŒØ$ˆŒØ&ˆÔÐÐó    Údatar   ú	'Message'c           
     óx   —  | |j         |j        |j        |j        |j        |j        |j        |j        ¬¦  «        S )z&Create a Message from an API response.r   r   )Úclsr   s     r   Úfrom_api_responsezMessage.from_api_response:   sG   € ð ˆsØŒwØ”LØ”LØ”ØÔ*Ø”]Ø”ØÔ(ð	
ñ 	
ô 	
ð 		
r   c                ó   — t          | j        ¦  «        dk    r| j        d d…         › dn| j        }d| j        › d| j        › d|› dS )Né2   z...zMessage(id='z', peer_id='z', content='z'))Úlenr   r
   r   )r   Ú	truncateds     r   Ú__repr__zMessage.__repr__H   sc   € å),¨T¬\Ñ):Ô):¸RÒ)?Ð)?ˆtŒ|˜C˜R˜CÔ Ð%Ð%Ð%Ð%ÀTÄ\ð 	ð X˜4œ7ÐWÐW°´ÐWÐWÈ)ÐWÐWÐWð	
r   c                ó   — | j         S r   )r   )r   s    r   Ú__str__zMessage.__str__P   s
   € ØŒ|Ðr   N)r
   r	   r   r	   r   r	   r   r	   r   r	   r   r   r   r   r   r   r   r   )r   r   r   r   )r   r	   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   Úclassmethodr"   r'   r)   © r   r   r   r      sÒ   € € € € € € ðð ð" €G€GGØ€L€LLØ€L€LLØ€O€OOØÐÐÑØÐÐÑØ!Ð!Ð!Ñ!ØÐÐÑð'ð 'ð 'ð 'ð( ð
ð 
ð 
ñ „[ð
ð
ð 
ð 
ð 
ðð ð ð ð ð r   r   )	r-   Ú
__future__r   ÚdatetimeÚtypingr   Ú	api_typesr   r   r0   r   r   ú<module>r5      s†   ðØ #Ð #à "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð à &Ð &Ð &Ð &Ð &Ð &ðFð Fð Fð Fð Fñ Fô Fð Fð Fð Fr   