OptionalcanWhether this message can be expanded back to original
OptionalcompactNumber of characters to keep when using 'First N Chars' mode
OptionalcompactMode for compacting expired messages
OptionalcompactPrompt ID to use for AI Summary compaction
OptionalconversationID of the ConversationDetail row this message came from (window-assembled messages only)
OptionalexpirationMode for handling expired messages
OptionalexpirationNumber of turns after which this message expires
OptionalisTrue only on the synthetic first message carrying the persisted cross-turn conversation summary
OptionalisWhether this message has expired
OptionalmessageType of message (for lifecycle management and logging)
OptionaloriginalOriginal content before compaction (for expansion)
OptionaloriginalOriginal length in characters before compaction
OptionalsequenceConversationDetail.Sequence of the row this message came from. Stamped by
ConversationEngine.AssembleContextWindow (kept assignment-compatible with its
locally-defined ConversationContextMetadata — that package cannot import this
type without creating a cycle). The symbolic handle for conversation-history
retrieval tools.
OptionalsubID of the sub-agent (only for sub-agent-result messages)
OptionalsubName of the sub-agent (only for sub-agent-result messages)
OptionalsummaryOn the summary message: the boundary row's Sequence — the summary covers all rows below it
OptionaltokensNumber of tokens saved by compaction
OptionalturnTurn number when this message was added to the conversation
OptionalwasWhether this message has been compacted
Typed metadata for agent conversation messages. Extends ChatMessage to provide agent-specific metadata for message lifecycle management.