
    Ti{                         d dl mZmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZ  ed      Z G d d	e      Zej                  d
      defd       Zy)    )	APIRouterHTTPException)	BaseModel)DictAny)send_to_websocket)tool_confirmation_managerz/api)prefixc                   ,    e Zd ZU eed<   eed<   eed<   y)ToolConfirmationRequest
session_idtool_call_id	confirmedN)__name__
__module____qualname__str__annotations__bool     S/home/jay/workspace/tools/ai-image-gen/jaaz-app/server/routers/tool_confirmation.pyr   r   	   s    OOr   r   z/tool_confirmationrequestc                   K   	 | j                   rZt        j                  | j                        }|r,t	        | j
                  d| j                  d       d{    ngt        dd      t        j                  | j                        }|r,t	        | j
                  d| j                  d       d{    nt        dd      dd	iS 7 p7 # t        $ r}t        d
t        |            d}~ww xY ww)u   处理工具调用确认tool_call_confirmed)typeidNi  z(Tool call not found or already processed)status_codedetailtool_call_cancelledstatussuccessi  )
r   r	   confirm_toolr   r   r   r   cancel_confirmation	Exceptionr   )r   r"   es      r   handle_tool_confirmationr'      s    </<<$$&G'(:(:1!..=   
 $ #,VX X 0CC$$&G'(:(:1!..=   
 $ #,VX X )$$)  <CF;;<sN   C3AC CAC 1C
2C C3C 
C 	C0C++C00C3N)fastapir   r   pydanticr   typingr   r   services.websocket_servicer   "services.tool_confirmation_managerr	   routerr   postr'   r   r   r   <module>r/      sP    ,   8 H	&	!i 
 !"<,C < #<r   