
    `gjC                    R    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
y)    )annotations)Mapping)Any>   audioimage	image_urlinput_audioinput_image)textcontent
input_textoutput_textsummary_textc                ^    t        | t              r| j                  |      S t        | |d       S N)
isinstancer   getgetattr)valuekeys     H/root/.hermes/venv/lib/python3.12/site-packages/agent/message_content.py_fieldr      s)    %!yy~5#t$$    c                    | yt        | t              r| S t        t        | d      xs d      j                         j	                         }|t
        v ryt        D ]"  }t        | |      }t        |t              s |c S  y)N type)r   strr   striplower_NON_TEXT_PART_TYPES
_TEXT_KEYS)part	part_typer   r   s       r   _text_from_partr$      s|    |$F4(.B/557==?I(( dC dC K r   
)sepc               
   | yt        | t              r| S t        | t              r0| D cg c]  }t        |       }}|j	                  d |D              S t        |       }|r|S 	 t        |       S c c}w # t
        $ r Y yw xY w)zJReturn the visible text from common chat/Responses message content shapes.r   c              3  &   K   | ]	  }|s|  y wr    ).0chunks     r   	<genexpr>z'flatten_message_text.<locals>.<genexpr>*   s     ;%U;s   )r   r   listr$   join	Exception)r   r&   r"   chunksr   s        r   flatten_message_textr1   "   s    '3'4 4;<D/$'<<xx;6;;;7#D7| =  s   A1&
A6 6	BBN)r   r   r   r   returnr   )r"   r   r2   r   )r   r   r&   r   r2   r   )
__future__r   collections.abcr   typingr   r    r!   r   r$   r1   r)   r   r   <module>r6      s0    " #  U M
%" 6: r   