Agent
interface Agent
An agent in the event-driven agent system.
Implementations receive an Event, perform whatever work is appropriate, and return a list of follow-up events. Returning an empty list is the normal "no further events" outcome. Returning a TerminateEvent asks the surrounding AsyncDispatcher to stop.
The Kotlin port collapses the Python reference's sync/async pair (BaseAgent / BaseAsyncAgent) into a single suspend surface — code that does not need to suspend simply does not. The dispatcher always awaits the call.