Package-level declarations
Types
Buffers events by Event.correlationId until every event-type in eventTypesNeeded has been observed, then hands the collected list to processEvents.
Coroutine-driven event dispatcher.
LLM-backed agent. Subclasses override receiveEvent to map incoming events to prompts and feed the LLM response back into the event stream.
LLM-backed agent that remembers facts in a SharedWorkingMemory.
Domain event exchanged between agents through an AsyncDispatcher.
Loop-based problem solver backed by a ChatSession.
Single-class reasoning-and-acting (ReAct) agent.
Recursive problem solver — like IterativeProblemSolver, but exposes per- iteration state via a kotlinx.coroutines.flow.SharedFlow for observability and applies an overall wall-clock timeout via solve.
A snapshot of a solver iteration, surfaced to observers.
Sentinel event that terminates the surrounding AsyncDispatcher loop when dispatched. Agents emit this to signal "all work is done — shut the dispatcher".
Adapts a BaseAsyncLlmAgent so it can be passed as a tool to another LLM.