Llm Invocation Event
class LlmInvocationEvent(val agentProcess: AgentProcess, val invocation: LlmInvocation, val interactionId: String) : AbstractAgentProcessEvent
Emitted once per individual LLM invocation (per-call, not per-loop).
Survives CONCURRENT mode and validation/binding retries — each effective LLM call produces exactly one event. Listener exceptions are isolated by the underlying notifyAfterLlmCall try/catch, so a misbehaving listener cannot break the tool loop.
In CONCURRENT mode, this event may be emitted from multiple threads simultaneously. Stateful listeners (cost aggregation, rate caps, etc.) MUST use thread-safe structures.