ChatMessage
No description
type ChatMessage implements Node {
viewerFeedback: AssistantAnswerFeedback
context: [ChatContextRef!]!
suggestedChips: [Map!]
turnOutcome: ChatTurnOutcome
id: ID!
deletedAt: Time
conversationID: ID!
role: String!
content: String!
toolCalls: [Map]
toolResults: [Map]
tokensUsed: Int!
createdAt: Time!
conversation: ChatConversation!
}
Fields
ChatMessage.viewerFeedback ● AssistantAnswerFeedback object
The caller's own feedback on this message, if they gave any.
ChatMessage.context ● [ChatContextRef!]! non-null object
The entities this turn was about. Empty for an assistant message and for a user message sent without context.
ChatMessage.suggestedChips ● [Map!] list scalar
The chips this turn ended with, each in the exact JSON shape of one entry of
the chips SSE frame, so the console parses the live turn and the reloaded
one with one function.
Only the conversation's latest turn carries any: a new user message clears them from every earlier row. Null when there are none.
allowed, deniedReason, undoable, riskClass, sendMode and
requiresApproval are evaluated for the READER at read time, not replayed
as stored, and a rule chip about something the reader can no longer read is
left out. A model chip is always PASTE with no operation.
ChatMessage.turnOutcome ● ChatTurnOutcome object
What this turn did: its effect state, and — on the approval endpoint's own row — the resolved card. Null when the turn was not measured.
ChatMessage.id ● ID! non-null scalar
ChatMessage.deletedAt ● Time scalar
Soft-delete timestamp. If set, record is considered deleted.
ChatMessage.conversationID ● ID! non-null scalar
Foreign key to parent conversation
ChatMessage.role ● String! non-null scalar
Message role: user, assistant, system, tool
ChatMessage.content ● String! non-null scalar
Message text content
ChatMessage.toolCalls ● [Map] list scalar
Tool calls made by assistant (JSON array)
ChatMessage.toolResults ● [Map] list scalar
Tool results returned (JSON array)
ChatMessage.tokensUsed ● Int! non-null scalar
Total tokens consumed by this message
ChatMessage.createdAt ● Time! non-null scalar
ChatMessage.conversation ● ChatConversation! non-null object
Interfaces
Node interface
An object with an ID. Follows the Relay Global Object Identification Specification
Member Of
ChatMessageEdge object