o
    h                     @  s   d dl mZ d dlZd dlmZ d dlmZmZmZ d dl	m
Z
mZ d dlmZmZ d dlmZ dd	lmZ dd
lmZ erDddlmZ G dd deZeG dd dZeegee f Z	 G dd dZdS )    )annotationsN)	dataclass)TYPE_CHECKINGAnyCallable)ResponsePromptParam	Variables)NotRequired	TypedDict)MaybeAwaitable   )	UserError)RunContextWrapper)Agentc                   @  s.   e Zd ZU dZded< 	 ded< 	 ded< dS )	PromptzAPrompt configuration to use for interacting with an OpenAI model.stridzNotRequired[str]versionz0NotRequired[dict[str, ResponsesPromptVariables]]	variablesN__name__
__module____qualname____doc____annotations__ r   r   O/var/www/html/openai_agents/venv/lib/python3.10/site-packages/agents/prompts.pyr      s   
 r   c                   @  s$   e Zd ZU dZded< 	 ded< dS )GenerateDynamicPromptDatazFInputs to a function that allows you to dynamically generate a prompt.RunContextWrapper[Any]context
Agent[Any]agentNr   r   r   r   r   r   #   s   
 r   c                   @  s   e Zd Zedd	d
ZdS )
PromptUtilprompt%Prompt | DynamicPromptFunction | Noner   r   r!   r    returnResponsePromptParam | Nonec                   sv   | d u rd S t | tr| }n| t||d}t|r"|I d H }n|}t |ts-td|d |d|ddS )N)r   r!   z,Dynamic prompt function must return a Promptr   r   r   )r   r   r   )
isinstancedictr   inspectisawaitabler   get)r#   r   r!   resolved_promptfunc_resultr   r   r   to_model_input3   s   


zPromptUtil.to_model_inputN)r#   r$   r   r   r!   r    r%   r&   )r   r   r   staticmethodr.   r   r   r   r   r"   2   s    r"   )
__future__r   r)   dataclassesr   typingr   r   r   ,openai.types.responses.response_prompt_paramr   r   ResponsesPromptVariablestyping_extensionsr	   r
   agents.util._typesr   
exceptionsr   run_contextr   r!   r   r   r   DynamicPromptFunctionr"   r   r   r   r   <module>   s"    
