Skip to main content

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