
    Cj	                       S SK Jr  S SKrS SKJr  S SKJr  S SKJrJ	r	J
r
  S SKJrJr  S SKJrJr  S SKJr  S	S
KJr  S	SKJr  \(       a  S	SKJr   " S S\5      r\ " S S5      5       r\\/\\   4   r SS jr " S S5      rg)    )annotationsN)Callable)	dataclass)TYPE_CHECKINGAnycast)ResponsePromptParam	Variables)NotRequired	TypedDict)MaybeAwaitable   )	UserError)RunContextWrapper)Agentc                  <    \ rS rSr% SrS\S'    S\S'    S\S'   S	rg
)Prompt   zAPrompt configuration to use for interacting with an OpenAI model.stridzNotRequired[str]versionz0NotRequired[dict[str, ResponsesPromptVariables]]	variables N__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r       `/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/agents/prompts.pyr   r      s    KG&)??;r"   r   c                  0    \ rS rSr% SrS\S'    S\S'   Srg)	GenerateDynamicPromptData$   zFInputs to a function that allows you to dynamically generate a prompt.RunContextWrapper[Any]context
Agent[Any]agentr   Nr   r   r"   r#   r%   r%   $   s    P##<r"   r%   c                "    [        [        U 5      $ )zGConvert a runtime-validated prompt dict into the Prompt TypedDict view.)r   r   )prompts    r#   _coerce_prompt_dictr-   3   s    r"   c                  8    \ rS rSr\        SS j5       rSrg)
PromptUtil8   c                T  #    U c  g [        U [        5      (       a  [        U 5      nOWU " [        XS95      n[        R
                  " U5      (       a  UI S h  vN nOUn[        U[        5      (       d  [        S5      eUS   UR                  S5      UR                  S5      S.$  NN7f)N)r(   r*   z,Dynamic prompt function must return a Promptr   r   r   )r   r   r   )
isinstancedictr-   r%   inspectisawaitabler   get)r,   r(   r*   resolved_promptfunc_results        r#   to_model_inputPromptUtil.to_model_input9   s      > fd##1&9O !:7!XYK"";//(3"3"-ot44 NOO "$'&**95(,,[9
 	
 #4s   AB(B&AB(r   N)r,   z%Prompt | DynamicPromptFunction | Noner(   r'   r*   r)   returnzResponsePromptParam | None)r   r   r   r   staticmethodr9   r!   r   r"   r#   r/   r/   8   s8    
5
'
 
 
$	
 
r"   r/   )r,   zPrompt | dict[object, object]r;   r   )
__future__r   r4   collections.abcr   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>rH      s    "  $ ! + + 5 - ! *
<Y 
< = = = !";!<nV>T!TU  5 

 
r"   