MCPcopy Create free account
hub / github.com/Noumena-Network/code / getToolUseID

Function getToolUseID

src/utils/messages.ts:2790–2818  ·  view source on GitHub ↗
(message: NormalizedMessage)

Source from the content-addressed store, hash-verified

2788}
2789
2790export function getToolUseID(message: NormalizedMessage): string | null {
2791 switch (message.type) {
2792 case 'attachment':
2793 if (isHookAttachmentMessage(message)) {
2794 return message.attachment.toolUseID
2795 }
2796 return null
2797 case 'assistant':
2798 if (message.message.content[0]?.type !== 'tool_use') {
2799 return null
2800 }
2801 return message.message.content[0].id
2802 case 'user':
2803 if (message.sourceToolUseID) {
2804 return message.sourceToolUseID
2805 }
2806
2807 if (message.message.content[0]?.type !== 'tool_result') {
2808 return null
2809 }
2810 return message.message.content[0].tool_use_id
2811 case 'progress':
2812 return message.toolUseID
2813 case 'system':
2814 return message.subtype === 'informational'
2815 ? (message.toolUseID ?? null)
2816 : null
2817 }
2818}
2819
2820export function filterUnresolvedToolUses(messages: Message[]): Message[] {
2821 // Collect all tool_use IDs and tool_result IDs directly from message content blocks.

Callers 8

expandKeyFunction · 0.85
shouldRenderStaticallyFunction · 0.85
MessageRowImplFunction · 0.85
isMessageStreamingFunction · 0.85
allToolsResolvedFunction · 0.85
getSiblingToolUseIDsFunction · 0.85

Calls 1

isHookAttachmentMessageFunction · 0.85

Tested by

no test coverage detected