Implement (real-time) datasource for agent run statuses #8782
Open
Description
Currently, the front end subscribes to all graph execution events and does aggregation to derive an execution status. We are now going to use this status in more places, so we should do the aggregation in the back end. The aggregation logic also needs updating because of some new added factors that contribute to the overall "agent status".
Requirements
- Emits agent execution updates in real time
- Part of WebSockets API
- The same info needs to be available through the
GET /graphs/{graph_id}/runs
REST endpoint - Events:
- New agent run
- Agent run status updated
- Queued (can this be combined with "New agent run"?)
- Running
- Completed
- Stopped
- Failed
- New agent output item
- New error (or is this the same as "Failed"?)