
    nSjC                    T    d dl mZ d dlmZ d dlmZ h dZdZddZddZ	ddddZ
dS )    )annotations)Mapping)Any>   audioimage	image_urlinput_audioinput_image)textcontent
input_textoutput_textsummary_textvaluer   keystrreturnc                x    t          | t                    r|                     |          S t          | |d           S N)
isinstancer   getgetattr)r   r   s     7/home/ice/.hermes/hermes-agent/agent/message_content.py_fieldr      s6    %!! yy~~5#t$$$    partc                >   | dS t          | t                    r| S t          t          | d          pd                                                                          }|t
          v rdS t          D ]+}t          | |          }t          |t                    r|c S ,dS )N type)r   r   r   striplower_NON_TEXT_PART_TYPES
_TEXT_KEYS)r   	part_typer   r   s       r   _text_from_partr%      s    |r$ F4((.B//5577==??I(((r  dC  dC   	KKK	2r   
)sepr   r'   c                   | dS t          | t                    r| S t          | t                    r+d | D             }|                    d |D                       S t	          |           }|r|S 	 t          |           S # t
          $ r Y dS w xY w)zJReturn the visible text from common chat/Responses message content shapes.Nr   c                ,    g | ]}t          |          S  )r%   ).0r   s     r   
<listcomp>z(flatten_message_text.<locals>.<listcomp>)   s     <<<D/$''<<<r   c              3     K   | ]}||V  	d S r   r*   )r+   chunks     r   	<genexpr>z'flatten_message_text.<locals>.<genexpr>*   s'      ;;%U;;;;;;;r   )r   r   listjoinr%   	Exception)r   r'   chunksr   s       r   flatten_message_textr4   "   s    r'3 '4   <<<G<<<xx;;6;;;;;;7##D 7||   rrs   0A? ?
BBN)r   r   r   r   r   r   )r   r   r   r   )r   r   r'   r   r   r   )
__future__r   collections.abcr   typingr   r"   r#   r   r%   r4   r*   r   r   <module>r8      s    " " " " " " # # # # # #       UTT M
% % % %   " 6:        r   