o
    ha
                     @  s@  U d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	m
Z
mZ ddlmZ ddlmZ G dd	 d	eZG d
d deZG dd deddZG dd deZeeef Zded< 	 eG dd dZeG dd dZeG dd dZeG dd dZeG dd dZeG dd dZeeeeeeef Zded < d!S )"    )annotations)	dataclass)AnyLiteralUnion)NotRequired	TypeAlias	TypedDict   )RealtimeSessionModelSettings)RealtimeModelToolCallEventc                   @  "   e Zd ZU dZded< ded< dS )RealtimeModelRawClientMessagez&A raw message to be sent to the model.strtypezNotRequired[dict[str, Any]]
other_dataN__name__
__module____qualname____doc____annotations__ r   r   ]/var/www/html/openai_agents/venv/lib/python3.10/site-packages/agents/realtime/model_inputs.pyr      s
   
 r   c                   @  r   )RealtimeModelInputTextContentz(A piece of text to be sent to the model.zLiteral['input_text']r   r   textNr   r   r   r   r   r      s   
 r   c                   @  s,   e Zd ZU dZded< ded< 	 ded< dS )	RealtimeModelInputImageContentzpAn image to be sent to the model.

    The Realtime API expects `image_url` to be a string data/remote URL.
    zLiteral['input_image']r   r   	image_urlzNotRequired[str]detailNr   r   r   r   r   r      s   
 r   F)totalc                   @  s*   e Zd ZU dZded< ded< ded< dS )	RealtimeModelUserInputMessagez"A message to be sent to the model.zLiteral['message']r   zLiteral['user']rolezDlist[RealtimeModelInputTextContent | RealtimeModelInputImageContent]contentNr   r   r   r   r   r    )   s
   
 r    r   RealtimeModelUserInputc                   @     e Zd ZU dZded< dS )RealtimeModelSendRawMessagez Send a raw message to the model.r   messageNr   r   r   r   r   r%   8      
 r%   c                   @  r$   )RealtimeModelSendUserInputzSend a user input to the model.r#   
user_inputNr   r   r   r   r   r(   @   r'   r(   c                   @  s&   e Zd ZU dZded< dZded< dS )RealtimeModelSendAudiozSend audio to the model.bytesaudioFboolcommitN)r   r   r   r   r   r.   r   r   r   r   r*   H   s   
 r*   c                   @  s.   e Zd ZU dZded< 	 ded< 	 ded< dS )	RealtimeModelSendToolOutputzSend tool output to the model.r   	tool_callr   outputr-   start_responseNr   r   r   r   r   r/   P   s   
 r/   c                   @  s   e Zd ZdZdS )RealtimeModelSendInterruptzSend an interrupt to the model.N)r   r   r   r   r   r   r   r   r3   ^   s    r3   c                   @  r$   )RealtimeModelSendSessionUpdatez#Send a session update to the model.r   session_settingsNr   r   r   r   r   r4   c   r'   r4   RealtimeModelSendEventN)
__future__r   dataclassesr   typingr   r   r   typing_extensionsr   r   r	   configr   model_eventsr   r   r   r   r    r   r#   r   r%   r(   r*   r/   r3   r4   r6   r   r   r   r   <module>   sB    