
    j                    H    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y)	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	y)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_countc	                t    || _         || _        || _        || _        || _        || _        || _        || _        y Nr
   r   r   r   r   r   r   r   )	selfr
   r   r   r   r   r   r   r   s	            /home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-v150-combined/st_01a0560c-r63-installed-wheel-first-claim-qa/venv/lib/python3.12/site-packages/honcho/message.py__init__zMessage.__init__&   s>     $( $&    c           
          | |j                   |j                  |j                  |j                  |j                  |j
                  |j                  |j                        S )z&Create a Message from an API response.r   r   )clsdatas     r   from_api_responsezMessage.from_api_response:   sM     wwLLLL**]]((	
 		
r   c                    t        | j                        dkD  r| j                  d d  dn| j                  }d| j                   d| j                   d| dS )N2   z...zMessage(id='z', peer_id='z', content='z'))lenr   r
   r   )r   	truncateds     r   __repr__zMessage.__repr__H   s[    ),T\\):R)?t||CR !%T\\ 	 477)<~\)TV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   returnNone)r   r   r'   z	'Message')r'   r	   )
__name__
__module____qualname____doc____annotations__r   classmethodr   r$   r&    r   r   r   r      s    " 	GLLO!!'' ' 	'
 ' ' !' &' ' 
'( 
 

r   r   )	r,   
__future__r   datetimetypingr   	api_typesr   r   r/   r   r   <module>r4      s     # "   &F Fr   