
    D_i                     r    S r SSKJrJr  SSKJr  SSKJrJrJ	r	  SSK
Jr   " S S\5      r " S S	\\5      rg
)zChat Message.    )AnyLiteral)override)BaseMessageBaseMessageChunkmerge_content)merge_dictsc                   :    \ rS rSr% Sr\\S'    Sr\S   \S'   Sr	g)ChatMessage   z>Message that can be assigned an arbitrary speaker (i.e. role).rolechattype N)
__name__
__module____qualname____firstlineno____doc__str__annotations__r   r   __static_attributes__r       V/home/james-whalen/.local/lib/python3.13/site-packages/langchain_core/messages/chat.pyr   r      s    H
I,"D'&/">r   r   c                   Z   ^  \ rS rSr% SrS r\S    \S'    \S\	S\
4U 4S jj5       rSrU =r$ )ChatMessageChunk   zChat Message chunk.r   otherreturnc           	        > [        U[        5      (       a  U R                  UR                  :w  a  Sn[        U5      eU R	                  U R                  [        U R                  UR                  5      [        U R                  UR                  5      [        U R                  UR                  5      U R                  S9$ [        U[        5      (       a  U R	                  U R                  [        U R                  UR                  5      [        U R                  UR                  5      [        U R                  UR                  5      U R                  S9$ [        TU ]5  U5      $ )Nz:Cannot concatenate ChatMessageChunks with different roles.)r   contentadditional_kwargsresponse_metadataid)
isinstancer   r   
ValueError	__class__r   r!   r	   r"   r#   r$   r   super__add__)selfr   msgr'   s      r   r)   ChatMessageChunk.__add__"   s)   e-..yyEJJ&R o%>>YY%dllEMMB"-**E,C,C# #.**E,C,C# 77 " 
 
 e-..>>YY%dllEMMB"-**E,C,C# #.**E,C,C# 77 " 
 
 wu%%r   r   )r   r   r   r   r   r   r   r   r   r   r   r)   r   __classcell__)r'   s   @r   r   r      s<    
 );D'$
%:>&S &%5 & &r   r   N)r   typingr   r   typing_extensionsr   langchain_core.messages.baser   r   r   langchain_core.utils._merger	   r   r   r   r   r   <module>r2      s8      & 
 4?+ ?'&{$4 '&r   