o
    h                     @  s  d dl mZ d dlmZmZmZ d dlmZmZm	Z	 G dd deZ
G dd deZG dd	 d	eZG d
d deZG dd deZG dd deZG dd deZG dd deZeeeeef e	ddf Z	 G dd deZeeef Z	 G dd deZdS )    )annotations)	AnnotatedLiteralUnion)	BaseModel
ConfigDictFieldc                   @  s8   e Zd ZU dZdZded< 	 dZded< 	 edd	ZdS )
	InputTextz)Text input content for realtime messages.
input_textzLiteral['input_text']typeN
str | Nonetextallowextra	__name__
__module____qualname____doc__r   __annotations__r   r   model_config r   r   V/var/www/html/openai_agents/venv/lib/python3.10/site-packages/agents/realtime/items.pyr	         
 r	   c                   @  F   e Zd ZU dZdZded< 	 dZded< 	 dZded< 	 ed	d
Z	dS )
InputAudioz*Audio input content for realtime messages.input_audiozLiteral['input_audio']r   Nr   audio
transcriptr   r   
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r         
 r   c                   @  r   )
InputImagez*Image input content for realtime messages.input_imagezLiteral['input_image']r   Nr   	image_urldetailr   r   )
r   r   r   r   r   r   r$   r%   r   r   r   r   r   r   r"   %   r!   r"   c                   @  s8   e Zd ZU dZdZded< 	 dZded< 	 eddZdS )	AssistantTextz6Text content from the assistant in realtime responses.r   zLiteral['text']r   Nr   r   r   r   r   r   r   r   r&   5   r   r&   c                   @  sF   e Zd ZU dZdZded< 	 dZded< 	 dZded< 	 edd	Z	dS )
AssistantAudioz7Audio content from the assistant in realtime responses.r   zLiteral['audio']r   Nr   r   r   r   r    r   r   r   r   r'   B   r!   r'   c                   @  Z   e Zd ZU dZded< 	 dZded< 	 dZded	< 	 d
Zded< 	 ded< 	 eddZ	dS )SystemMessageItemz0A system message item in realtime conversations.stritem_idNr   previous_item_idmessageLiteral['message']r   systemzLiteral['system']rolezlist[InputText]contentr   r   
r   r   r   r   r   r,   r   r0   r   r   r   r   r   r   r)   R      
 r)   c                   @  r(   )UserMessageItemz.A user message item in realtime conversations.r*   r+   Nr   r,   r-   r.   r   userzLiteral['user']r0   zQlist[Annotated[InputText | InputAudio | InputImage, Field(discriminator='type')]]r1   r   r   r2   r   r   r   r   r4   h   r3   r4   c                   @  sh   e Zd ZU dZded< 	 dZded< 	 dZded	< 	 d
Zded< 	 dZded< 	 ded< 	 e	ddZ
dS )AssistantMessageItemz4An assistant message item in realtime conversations.r*   r+   Nr   r,   r-   r.   r   	assistantzLiteral['assistant']r0   z8Literal['in_progress', 'completed', 'incomplete'] | NonestatuszLlist[Annotated[AssistantText | AssistantAudio, Field(discriminator='type')]]r1   r   r   )r   r   r   r   r   r,   r   r0   r8   r   r   r   r   r   r   r6   ~   s   
 r6   r0   )discriminatorc                   @  sx   e Zd ZU dZded< 	 dZded< 	 ded< 	 dZd	ed
< 	 ded< 	 ded< 	 ded< 	 dZded< 	 eddZ	dS )RealtimeToolCallItemz+A tool call item in realtime conversations.r*   r+   Nr   r,   call_idfunction_callzLiteral['function_call']r   z#Literal['in_progress', 'completed']r8   	argumentsnameoutputr   r   )
r   r   r   r   r   r,   r   r?   r   r   r   r   r   r   r:      s&   
 r:   c                   @  s$   e Zd ZU dZded< 	 ded< dS )RealtimeResponsez#A response from the realtime model.r*   idzlist[RealtimeMessageItem]r?   N)r   r   r   r   r   r   r   r   r   r@      s   
 r@   N)
__future__r   typingr   r   r   pydanticr   r   r   r	   r   r"   r&   r'   r)   r4   r6   RealtimeMessageItemr:   RealtimeItemr@   r   r   r   r   <module>   s*    