utils/messages/message_utils
library
Functions
-
autoRejectMessage(String toolName)
→ String
-
Build an auto-reject message for a denied tool.
-
buildClassifierUnavailableMessage(String toolName, String classifierModel)
→ String
-
Build a message for when the classifier is temporarily unavailable.
-
buildMessageLookups(List<Message> normalizedMessages, List<Message> messages)
→ MessageLookups
-
Build pre-computed lookups for O(1) access to message relationships.
-
buildYoloRejectionMessage(String reason)
→ String
-
Build a rejection message for auto mode classifier denials.
-
createAssistantAPIErrorMessage({required String content, Map<String, dynamic>? apiError, Map<String, dynamic>? error, String? errorDetails})
→ AssistantMessage
-
Create an assistant API error message.
-
createAssistantMessage({required dynamic content, Usage? usage, bool? isVirtual})
→ AssistantMessage
-
Create an assistant message.
-
createProgressMessage({required String toolUseID, required String parentToolUseID, required Map<String, dynamic> data})
→ ProgressMessage
-
Create a progress message.
-
createToolResultStopMessage(String toolUseID)
→ ToolResultBlock
-
Create a tool result stop message.
-
createUserInterruptionMessage({bool toolUse = false})
→ UserMessage
-
Create a user interruption message.
-
createUserMessage({required dynamic content, bool? isMeta, bool? isVisibleInTranscriptOnly, bool? isVirtual, bool? isCompactSummary, dynamic toolUseResult, Map<String, dynamic>? mcpMeta, String? uuid, String? timestamp, List<int>? imagePasteIds, String? sourceToolAssistantUUID, PermissionMode? permissionMode, MessageOrigin? origin, Map<String, dynamic>? summarizeMetadata})
→ UserMessage
-
Create a user message with the given content.
-
deriveShortMessageId(String uuid)
→ String
-
Derive a short stable message ID (6-char base36) from a UUID.
-
deriveUUID(String parentUUID, int index)
→ String
-
Deterministic UUID derivation from parent UUID + index.
-
dontAskRejectMessage(String toolName)
→ String
-
Build a don't-ask reject message for a denied tool.
-
Extract content from an XML-like tag in a string.
-
Extract text content from a message.
-
getLastAssistantMessage(List<Message> messages)
→ AssistantMessage?
-
Get the last assistant message from a list.
-
getProgressMessagesFromLookup(Message message, MessageLookups lookups)
→ List<ProgressMessage>
-
Get progress messages from lookup.
-
getSiblingToolUseIDsFromLookup(Message message, MessageLookups lookups)
→ Set<String>
-
Get sibling tool use IDs from lookup.
-
getToolResultIDs(List<Message> messages)
→ Map<String, bool>
-
Get tool result IDs from normalized messages.
-
getToolUseID(Message message)
→ String?
-
Get the tool use ID from a normalized message.
-
getToolUseIDs(List<Message> messages)
→ Set<String>
-
Get all tool use IDs from a list of messages.
-
getUserMessageText(Message message)
→ String
-
Get user message text content.
-
hasToolCallsInLastAssistantTurn(List<Message> messages)
→ bool
-
Check if the last assistant turn has tool calls.
-
hasUnresolvedHooksFromLookup(String toolUseID, HookEvent hookEvent, MessageLookups lookups)
→ bool
-
Check for unresolved hooks using pre-computed lookup.
-
isClassifierDenial(String content)
→ bool
-
Check if a tool result is a classifier denial.
-
isNotEmptyMessage(Message message)
→ bool
-
Check if a message is not empty.
-
isSyntheticMessage(Message message)
→ bool
-
Check if a message is synthetic (interrupt, cancel, reject, etc.).
-
isThinkingMessage(Message message)
→ bool
-
Check if a message is a thinking message (extended thinking).
-
isToolUseRequestMessage(Message message)
→ bool
-
Check if a message is a tool use request.
-
isToolUseResultMessage(Message message)
→ bool
-
Check if a message is a tool use result.
-
mergeAssistantMessages(AssistantMessage a, AssistantMessage b)
→ AssistantMessage
-
Merge two assistant messages.
-
mergeUserMessages(UserMessage a, UserMessage b)
→ UserMessage
-
Merge two user messages.
-
mergeUserMessagesAndToolResults(UserMessage a, UserMessage b)
→ UserMessage
-
Merge two user messages including tool results.
-
prepareUserContent({required String inputString, required List<ContentBlock> precedingInputBlocks})
→ dynamic
-
Prepare user content with preceding input blocks.
-
withMemoryCorrectionHint(String message, {bool autoMemoryEnabled = false})
→ String
-
Append a memory correction hint when auto-memory is enabled.
-
wrapInSystemReminder(String text)
→ String
-
Wrap text in system-reminder XML tags.