buildSiblingMessage static method
PupauMessage
buildSiblingMessage({
- required PupauMessage parentLlmMessage,
- required int blockIndex,
- required String rawThinkingSegment,
- required ToolUseThinkingData thinkingData,
Creates the PupauMessage sibling for one <thinking> block.
Implementation
static PupauMessage buildSiblingMessage({
required PupauMessage parentLlmMessage,
required int blockIndex,
required String rawThinkingSegment,
required ToolUseThinkingData thinkingData,
}) {
final String queryGroupId = queryGroupIdFor(parentLlmMessage);
final String thinkingId = messageIdFor(
parentLlmMessageId: parentLlmMessage.id,
blockIndex: blockIndex,
);
return PupauMessage(
id: thinkingId,
answer: rawThinkingSegment,
assistantId: parentLlmMessage.assistantId,
assistantType: parentLlmMessage.assistantType,
groupId: queryGroupId,
createdAt: parentLlmMessage.createdAt,
status: normalizeAssistantStatus(parentLlmMessage.status),
sourceType: SourceType.toolUse,
toolUseMessage: buildToolUseMessage(
thinkingMessageId: thinkingId,
parentLlmMessageId: parentLlmMessage.id,
queryGroupId: queryGroupId,
thinkingData: thinkingData,
),
);
}