
    .h                        d dl Z d dlZd dlmZ 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 ddlmZmZmZmZ dd	lmZmZmZmZmZmZ dd
lmZmZmZmZm Z m!Z!m"Z" ddl#m$Z$m%Z%m&Z&m'Z' ddl(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 ddl3m4Z4m5Z5 ddl6m7Z7 ddl8m9Z9m:Z:m;Z; ddl<m=Z= ddl>m?Z? ddl@mAZA ddlBmCZCmDZD ddlEmFZFmGZG ddlHmIZImJZJ ddlKmLZLmMZMmNZNmOZO ddlPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZX ddlYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{ ddl|m}Z} ddl~mZ d'dededdfdZd'd ededdfd!Zd"ed#         ddfd$Zd% Zg d&ZdS )(    N)Literal)AsyncOpenAI   )_config)AgentToolsToFinalOutputFunctionToolsToFinalOutputResult)AgentOutputSchemaAgentOutputSchemaBase)AsyncComputerButtonComputerEnvironment)AgentsExceptionInputGuardrailTripwireTriggeredMaxTurnsExceededModelBehaviorError OutputGuardrailTripwireTriggered	UserError)GuardrailFunctionOutputInputGuardrailInputGuardrailResultOutputGuardrailOutputGuardrailResultinput_guardrailoutput_guardrail)HandoffHandoffInputDataHandoffInputFilterhandoff)
HandoffCallItemHandoffOutputItemItemHelpersMessageOutputItemModelResponseReasoningItemRunItemToolCallItemToolCallOutputItemTResponseInputItem)
AgentHooksRunHooks)ModelSettings)ModelModelProviderModelTracing)OpenAIChatCompletionsModel)OpenAIProvider)OpenAIResponsesModel)	RunResultRunResultStreaming)	RunConfigRunner)RunContextWrapperTContext)AgentUpdatedStreamEventRawResponsesStreamEventRunItemStreamEventStreamEvent)ComputerToolFileSearchToolFunctionToolFunctionToolResultToolWebSearchTooldefault_tool_error_functionfunction_tool)"AgentSpanDataCustomSpanDataFunctionSpanDataGenerationSpanDataGuardrailSpanDataHandoffSpanDataMCPListToolsSpanDataSpanSpanData	SpanErrorSpeechGroupSpanDataSpeechSpanDataTraceTracingProcessorTranscriptionSpanDataadd_trace_processor
agent_spancustom_spanfunction_spangen_span_idgen_trace_idgeneration_spanget_current_spanget_current_traceguardrail_spanhandoff_spanmcp_tools_spanset_trace_processorsset_tracing_disabledset_tracing_export_api_keyspeech_group_spanspeech_spantracetranscription_span)Usage)__version__Tkeyuse_for_tracingreturnc                 0    t          j        | |           dS )aS  Set the default OpenAI API key to use for LLM requests (and optionally tracing(). This is
    only necessary if the OPENAI_API_KEY environment variable is not already set.

    If provided, this key will be used instead of the OPENAI_API_KEY environment variable.

    Args:
        key: The OpenAI key to use.
        use_for_tracing: Whether to also use this key to send traces to OpenAI. Defaults to True
            If False, you'll either need to set the OPENAI_API_KEY environment variable or call
            set_tracing_export_api_key() with the API key you want to use for tracing.
    N)r   set_default_openai_key)rj   rk   s     L/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/agents/__init__.pyrn   rn   j   s     "388888    clientc                 0    t          j        | |           dS )a  Set the default OpenAI client to use for LLM requests and/or tracing. If provided, this
    client will be used instead of the default OpenAI client.

    Args:
        client: The OpenAI client to use.
        use_for_tracing: Whether to use the API key from this client for uploading traces. If False,
            you'll either need to set the OPENAI_API_KEY environment variable or call
            set_tracing_export_api_key() with the API key you want to use for tracing.
    N)r   set_default_openai_client)rq   rk   s     ro   rs   rs   y   s     %fo>>>>>rp   api)chat_completions	responsesc                 .    t          j        |            dS )zSet the default API to use for OpenAI LLM requests. By default, we will use the responses API
    but you can set this to use the chat completions API instead.
    N)r   set_default_openai_api)rt   s    ro   rx   rx      s     "3'''''rp   c                      t          j        d          } |                     t           j                   |                     t          j        t          j                             dS )z@Enables verbose logging to stdout. This is useful for debugging.zopenai.agentsN)logging	getLoggersetLevelDEBUG
addHandlerStreamHandlersysstdout)loggers    ro   enable_verbose_stdout_loggingr      sM    //F
OOGM"""
g+CJ7788888rp   )hr   r   r	   r7   r.   r/   r0   r-   r1   r2   r3   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   r   r*   r$   r%   r'   r!   r"   r(   r)   r&   r%   r#   r,   r+   r8   r9   r4   r5   r6   r;   r<   r:   r=   r@   rA   r>   r?   rB   rC   rE   rh   rU   rV   rW   rX   r[   r\   r]   r^   r_   ra   rb   rd   rg   re   r`   rf   rR   rS   rO   rM   rN   rF   rG   rH   rI   rJ   rK   rP   rQ   rL   rT   rn   rs   rx   rc   r   rZ   rY   rD   ri   )T)rz   r   typingr   openair    r   agentr   r   r	   agent_outputr
   r   computerr   r   r   r   
exceptionsr   r   r   r   r   r   	guardrailr   r   r   r   r   r   r   handoffsr   r   r   r    itemsr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   	lifecycler+   r,   model_settingsr-   models.interfacer.   r/   r0   models.openai_chatcompletionsr1   models.openai_providerr2   models.openai_responsesr3   resultr4   r5   runr6   r7   run_contextr8   r9   stream_eventsr:   r;   r<   r=   toolr>   r?   r@   rA   rB   rC   rD   rE   tracingrF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   usagerh   versionri   strboolrn   rs   rx   r   __all__ rp   ro   <module>r      s    



                   N N N N N N N N N N B B B B B B B B B B B B B B B B B B B B                                 M L L L L L L L L L L L                        , + + + + + + + ) ) ) ) ) ) @ @ @ @ @ @ @ @ @ @ E E E E E E 2 2 2 2 2 2 9 9 9 9 9 9 1 1 1 1 1 1 1 1 " " " " " " " " 4 4 4 4 4 4 4 4           	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #H                  9 9 9d 9d 9 9 9 9
? 
?k 
?D 
?TX 
? 
? 
? 
?((G H (T ( ( ( (9 9 9i i irp   