The chat area's AgentHistoryFrom input: the first moment of the conversation the turn may read.
The agent the turn resolved to, after any redirect.
The agent's name, when MJ knows it.
The chat area's AppContext input.
The chat area's ApplicationId input.
The fork the turn's rows go to; null is Main. A handler that writes conversation rows sets this BranchID on them.
The agent configuration preset (MJ: AI Agent Configurations.ID) the person chose: the one
on the mention for a Mention turn, otherwise the header mode picker's selection.
The conversation the message was posted in.
The message text, with mentions in their stored JSON form.
Whether Plan Mode is on for the conversation.
Skills the person asked for with /skill in this message.
How the agent was chosen.
The artifact version (MJ: Artifact Versions.ID) the message modifies, when the chat's
routing decision (EnableDecisionRouting) confidently named one this agent produced. MJ's
own path continues from that version instead of the agent's latest output. Null otherwise.
The person's saved message (MJ: Conversation Details, Role User).
Everything the chat area knows about a turn it hands to an AgentTurnHandler. No reply row exists yet when the handler is called.