A chat message exchanged between user and assistant.
role is "user" | "assistant" only — unlike the SDK's Message, there
is no "tool" role here. Tool activity never arrives as messages: it is
surfaced via SessionSnapshot.toolCalls (or useEvent for ctx.send
events).
Monotonically increasing, session-unique message id assigned at append
time. Stable across snapshot updates and window slides — use it as a
render key.
A chat message exchanged between user and assistant.
roleis"user" | "assistant"only — unlike the SDK'sMessage, there is no"tool"role here. Tool activity never arrives as messages: it is surfaced viaSessionSnapshot.toolCalls(oruseEventforctx.sendevents).