o
    i                     @   sZ   d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
mZmZ eG dd dZdS )    )	dataclassfield)cast)get_union_args)ModelMessageModelRequestModelRequestPartModelResponseModelResponsePartc                   @   s>   e Zd ZU dZeedZee ed< de	e
B ddfddZdS )	MessagesBuilderzGHelper class to build Pydantic AI messages from request/response parts.)default_factorymessagespartreturnNc                 C   s   | j r| j d nd}t|ttr1tt|}t|tr%g |j||_dS | j t|gd dS tt|}t|t	rEg |j||_dS | j t	|gd dS )zHAdd a new part, creating a new request or response message if necessary.N)parts)
r   
isinstancer   r   r   r   r   appendr
   r	   )selfr   last_message r   f/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/pydantic_ai/ui/_messages_builder.pyadd   s   



zMessagesBuilder.add)__name__
__module____qualname____doc__r   listr   r   __annotations__r   r
   r   r   r   r   r   r      s   
 r   N)dataclassesr   r   typingr   pydantic_ai._utilsr   pydantic_ai.messagesr   r   r   r	   r
   r   r   r   r   r   <module>   s    