Spaces:
Running
Running
File size: 731 Bytes
0e38162 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | from typing import Any, List
from workflows.base_workflow import BaseWorkflow
from agents.base_agent import AgentContext, AgentResult
from utils.logger import get_logger
logger = get_logger("sequential_workflow")
class SequentialWorkflow(BaseWorkflow):
"""Run agents one by one in order."""
name = "sequential"
async def execute(self, agents: List[Any], ctx: AgentContext) -> List[AgentResult]:
results = []
for agent in agents:
result = await agent.run(ctx)
results.append(result)
if result.status.value == "failed" and agent.critical:
logger.error(f"Critical agent '{agent.name}' failed. Aborting.")
break
return results
|