
    .Ui                        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rddlmZ  G d de      Ze G d d             Zeegee   f   Z	  G d d      Zy)    )annotationsN)	dataclass)TYPE_CHECKINGAnyCallable)ResponsePromptParam	Variables)NotRequired	TypedDict)MaybeAwaitable   )	UserError)RunContextWrapper)Agentc                  4    e Zd ZU dZded<   	 ded<   	 ded<   y)	PromptzAPrompt configuration to use for interacting with an OpenAI model.stridzNotRequired[str]versionz0NotRequired[dict[str, ResponsesPromptVariables]]	variablesN__name__
__module____qualname____doc____annotations__     j/home/jay/workspace/tools/ai-image-gen/jaaz-app/server/venv/lib/python3.12/site-packages/agents/prompts.pyr   r      s    KG&)??;r   r   c                  (    e Zd ZU dZded<   	 ded<   y)GenerateDynamicPromptDatazFInputs to a function that allows you to dynamically generate a prompt.RunContextWrapper[Any]context
Agent[Any]agentNr   r   r   r   r!   r!   #   s    P##<r   r!   c                  .    e Zd Ze	 	 	 	 	 	 	 	 dd       Zy)
PromptUtilc                (  K   | y t        | t              r| }nP | t        ||            }t        j                  |      r| d {   }n|}t        |t              st        d      |d   |j                  d      |j                  d      dS 7 Iw)N)r#   r%   z,Dynamic prompt function must return a Promptr   r   r   )r   r   r   )
isinstancedictr!   inspectisawaitabler   get)promptr#   r%   resolved_promptfunc_results        r   to_model_inputzPromptUtil.to_model_input3   s      > fd#$O !:7RW!XYK"";/(3"3"-ot4 NOO "$'&**95(,,[9
 	
 #4s   ABBA
BN)r.   z%Prompt | DynamicPromptFunction | Noner#   r"   r%   r$   returnzResponsePromptParam | None)r   r   r   staticmethodr1   r   r   r   r'   r'   2   s8    
5
'
 
 
$	
 
r   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   <module>r>      sz    "  ! / / 5 - ! *
<Y 
< = = = !";!<nV>T!TU  5
 
r   