
    i;                         d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlmZmZ  e       Zej#                  d      d	efd
       Zy)    N)	APIRouterHTTPException)LogLevel)WorkflowRequest)ensure_known_session)ValidationErrorWorkflowExecutionError)get_server_loggerLogTypez/api/workflow/executerequestc           
        K   	 t        | j                  d      }d }	 t	        j
                  |j                  j                  | j                  | j                  | j                  || j                  |             t               }|j                  dt        j                  | j                  | j                  t        | j                  xs d      	       d
| j                  ddS # t        $ r t        dd      w xY w# t         $ r}t        dt#        |            d }~wt$        $ r/}t               }|j'                  |d       t)        d|       d }~ww xY ww)NT)require_connectioni  z&log_level must be either DEBUG or INFO)status_codedetail)attachments	log_levelzWorkflow execution started )log_type
session_id	yaml_filetask_prompt_lengthstarted)statusr   messagez"Failed to start workflow executionzFailed to start workflow: )r   r   
ValueErrorr   asynciocreate_taskworkflow_run_servicestart_workflowr   task_promptr   r
   infor   WORKFLOWlenr   str	Exceptionlog_exceptionr	   )r   managerr   loggerexcs        B/Users/bowang/.openclaw/workspace/ChatDev/server/routes/execute.pyexecute_workflowr+      sZ    ^&w'9'9dS	I((77""!!###//# 8 		
 #$(%%))''"7#6#6#<"= 	 	
  !,,3
 	
/  ^4\]]^8  >CH== I"$S"FG$'A#%GHHIsF   EC# CC= "E#C::E=	EDE(*EEE)r   fastapir   r   entity.enumsr   server.modelsr   server.stater   utils.exceptionsr   r	   utils.structured_loggerr
   r   routerpostr+        r*   <module>r6      sI     , ! ) - D >	 $%&IO &I &&Ir5   