| import type { |
| AssistantMessage, |
| AttachmentMessage, |
| SystemMessage, |
| UserMessage, |
| } from 'src/types/message.js' |
|
|
| |
| |
| |
| |
| export function tagMessagesWithToolUseID( |
| messages: (UserMessage | AttachmentMessage | SystemMessage)[], |
| toolUseID: string | undefined, |
| ): (UserMessage | AttachmentMessage | SystemMessage)[] { |
| if (!toolUseID) { |
| return messages |
| } |
| return messages.map(m => { |
| if (m.type === 'user') { |
| return { ...m, sourceToolUseID: toolUseID } |
| } |
| return m |
| }) |
| } |
|
|
| |
| |
| |
| export function getToolUseIDFromParentMessage( |
| parentMessage: AssistantMessage, |
| toolName: string, |
| ): string | undefined { |
| const toolUseBlock = parentMessage.message.content.find( |
| block => block.type === 'tool_use' && block.name === toolName, |
| ) |
| return toolUseBlock && toolUseBlock.type === 'tool_use' |
| ? toolUseBlock.id |
| : undefined |
| } |
|
|