Files

17 lines
587 B
Python
Raw Permalink Normal View History

2026-09-09 21:55:37 +08:00
from collections.abc import AsyncIterator
from app.core.contracts import AgentRequest, RequestContext, RunProgressEvent
from app.service.agent.factory import AgentFactory
class AgentExecutor:
def __init__(self, factory: AgentFactory) -> None:
self.factory = factory
async def execute(
self, agent_type: str, request: AgentRequest, context: RequestContext, run_id: str
) -> AsyncIterator[RunProgressEvent]:
agent = self.factory.create(agent_type, context)
async for event in agent.execute(request, context, run_id):
yield event