MCPcopy Index your code
hub / github.com/OpenBMB/ChatDev / execute_workflow

Function execute_workflow

server/routes/execute.py:15–53  ·  view source on GitHub ↗
(request: WorkflowRequest)

Source from the content-addressed store, hash-verified

13
14@router.post("/api/workflow/execute")
15async def execute_workflow(request: WorkflowRequest):
16 try:
17 manager = ensure_known_session(request.session_id, require_connection=True)
18 # log_level = LogLevel(request.log_level) if request.log_level else None
19 log_level = None
20 except ValueError:
21 raise HTTPException(status_code=400, detail="log_level must be either DEBUG or INFO")
22 try:
23 asyncio.create_task(
24 manager.workflow_run_service.start_workflow(
25 request.session_id,
26 request.yaml_file,
27 request.task_prompt,
28 manager,
29 attachments=request.attachments,
30 log_level=log_level,
31 )
32 )
33
34 logger = get_server_logger()
35 logger.info(
36 "Workflow execution started",
37 log_type=LogType.WORKFLOW,
38 session_id=request.session_id,
39 yaml_file=request.yaml_file,
40 task_prompt_length=len(request.task_prompt or ""),
41 )
42
43 return {
44 "status": "started",
45 "session_id": request.session_id,
46 "message": "Workflow execution started",
47 }
48 except ValidationError as exc:
49 raise HTTPException(status_code=400, detail=str(exc))
50 except Exception as exc:
51 logger = get_server_logger()
52 logger.log_exception(exc, "Failed to start workflow execution")
53 raise WorkflowExecutionError(f"Failed to start workflow: {exc}")

Callers

nothing calls this directly

Calls 6

ensure_known_sessionFunction · 0.90
get_server_loggerFunction · 0.90
start_workflowMethod · 0.80
log_exceptionMethod · 0.80
infoMethod · 0.45

Tested by

no test coverage detected