InlineThinkingMessageService class

Builds synthetic ToolUseType.nativeToolsThinking rows for inline <thinking> extracted from LLM answers (SSE and history). Consecutive <thinking> blocks are merged into one row per run (TagService.groupedConsecutiveThinkingTagSegments).

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

buildSiblingMessage({required PupauMessage parentLlmMessage, required int blockIndex, required String rawThinkingSegment, required ToolUseThinkingData thinkingData}) PupauMessage
Creates the PupauMessage sibling for one <thinking> block.
buildToolUseMessage({required String thinkingMessageId, required String parentLlmMessageId, required String queryGroupId, required ToolUseThinkingData thinkingData}) ToolUseMessage
Builds a ToolUseType.nativeToolsThinking payload for the synthetic sibling row.
isInlineThinkingMessage(String messageId) bool
Whether messageId is a synthetic inline-thinking row.
messageIdFor({required String parentLlmMessageId, required int blockIndex}) String
Stable id for an inline-thinking sibling: {parentLlmMessageId}_thinking_{blockIndex}.
normalizeAssistantStatus(MessageStatus parentStatus) MessageStatus
Maps the parent LLM status to a tool-use row status (keeps MessageStatus.loading while streaming).
parentLlmMessageIdFromThinkingId(String thinkingMessageId) String?
Parent LLM id from a thinking sibling id, or null if not an inline-thinking id.
parseInlineThinkingMessageId(String thinkingMessageId) → ({int blockIndex, String parentLlmMessageId})?
Parsed parent LLM id and block index from a thinking sibling id.
queryGroupIdFor(PupauMessage parentLlmMessage) String
Query-group id shared by the user query, LLM answer, tool rows, and inline thinking.

Constants

idSuffix → const String