AionRuntimeContext lives in aion-core and is shared across all frameworks.
It carries the inbound A2A state for a single invocation: the inbox, the typed
event, and the distribution extension payload.
Properties
The context stores the Distribution extension payload in its protocol shape. It
does not project distribution, behavior, or environment fields onto an identity
object.
Event
context.event is None for direct A2A requests that carry no Aion event
envelope. When present, it exposes a typed view of the inbound event.
MessageEventPayload
Normalized inbound message (DM, mention, thread reply, or channel message).
ReactionEventPayload
Reaction or emoji-style activity applied to an existing message.
CommandEventPayload
Command-style invocation sent through a messaging provider (slash commands, app commands).
CardActionEventPayload
User interaction with a previously rendered card (click, submit, or activate).
SourceSystemEventPayload
Verbatim provider event preserved for inspection beyond the normalized payload.
Available as event.raw when the request was routed through a messaging distribution.
Distribution Accessors
Use these methods when a request includes a Distribution extension payload:get_principal_identity() and get_service_identity() are intentionally
separate helpers. The principal identity is the Aion principal that owns the
distribution when one exists. The service identity represents an external
network identity associated with the distribution when one exists.