
    Oj                        d dl mZ d dlZd dlmZ d dlmZmZmZm	Z	 ddl
mZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddZddZddZddZy)    )annotationsN)deepcopy)AnyDictMappingcast   )
ToolOutput   )BadRequestError)AgentFunctionCallItem),SessionInputParamAgentSessionInputToolResult)AgentFunctionCallOutputParamc                   t        | j                  t              rt        j                  | j                        nt        | j                        }t        |t              st        d      t        t        t        t        f   |      S )Nz(Function arguments must be a JSON object)
isinstance	argumentsstrjsonloadsr   dict
ValueErrorr   r   r   )callvalues     y/var/www/origus_pro_usr/data/www/origus.pro/core/.venv/lib/python3.12/site-packages/openai/lib/streaming/agents/_tools.pyr   r      sZ    *4T^^S*IDJJt~~&xX\XfXfOgEeT"CDDS#X&&    c                    t        |t              r t        j                  t	        |      d      }|t        |t
              st        |      }d| j                  | j                  d|t        t        |      dS d dS )N),:)
separatorsagent.session.input.tool_resultT)typeturn_idcall_idsuccessoutput)r   r   r   dumpsr   r   listr"   r#   r   r   )r   r%   s     r   result_eventr(      sw    &'"DLZ@*VS"9f1<<<<@F@R$3V< 
 Y] r   c                :    d| j                   | j                  dddS )Nr    FzTool handler failed.)r!   r"   r#   r$   error)r"   r#   )r   s    r   failed_eventr+   $   s#    1<<<<' r   c                    | j                   }t        |t              rt        t        t
        t        f   |      ni }|j                  d      dk(  xr |j                  d      d| k(  S )Ncodeinvalid_request_errormessagezUnknown pending tool call: )bodyr   r   r   r   r   objectget)r*   r#   raw_bodyr0   s       r   is_pending_call_racer4   /   sb     zzH0:8T0J4S&[!8,PRD33v8KQlmtluOv8vr   )r   r   returnzDict[str, Any])r   r   r%   r
   r5   r   )r   r   r5   r   )r*   r   r#   r   r5   bool)
__future__r   r   copyr   typingr   r   r   r   _typesr
   _exceptionsr   #types.beta.agent_function_call_itemr   $types.beta.agent_session_input_paramr   +types.beta.agent_function_call_output_paramr   r   r(   r+   r4    r   r   <module>r@      s7    "   + +  + I a X'r   