The signed-in user's id. With it, the quoted line says "You" on the viewer's own call and names the caller on anyone else's, which matters in a conversation several people share.
The collapsed session block computed from the conversation's stamped detail rows.
Optional session-row enrichment (agent, user, status, start and close); null degrades gracefully.
Emitted with the MJ: AI Agent Sessions.ID when the user asks to open the session review.
Label for a user's line when the host passes no CurrentUserID, and so the card can't tell
whose call it was. With CurrentUserID set it isn't used: the line says "You", the caller's
name, or "Caller" when the session row doesn't say whose call it was.
One sentence a screen reader announces for the whole row.
The button's label. A live call is still going, so it is viewed rather than reviewed.
How long the call ran ("Under a minute", "12 min"), or null while live or unmeasurable.
Whether the call ended in an error (drives the error styling).
Whether the call is still live (drives the live styling).
"No messages", "1 message", "12 messages".
Who said the quoted line: the agent by name, "You", or another caller by name.
When the call started, shown in the header the way a message shows its time.
The status label ("Live", "Ended", "Timed out", …), or null to hide the status entirely.
What the status means, for styling; null when there is no status to show.
"Voice call with
Emits OpenRequested for a click on the bubble or its button.
Optionalevent: Event
The ONE timeline element a realtime (voice) session collapses to in the standard conversation message list (see
BuildConversationTimeline).It is laid out like a chat message rather than a banner. The call icon sits in the avatar column, "Voice call with Sage" and the start time fill the header line, and a bubble carries the status, how long the call ran, how much was said and the last thing said. That keeps the conversation's margins and rhythm, where the old full-width card cut across them.
Review call (or clicking the bubble) emits OpenRequested with the session id. The message list bubbles it up so the chat area can host the existing SESSION REVIEW overlay via
ConversationChatAreaComponent.OpenRealtimeSessionReview(Resume / Close live inside that overlay, unchanged).Rendered DYNAMICALLY by
MessageListComponent(samecreateComponentpath the message items use) — standalone by design, no module declaration needed.