MCPcopy
hub / github.com/codeaashu/claude-code / replaceToolResultContents

Function replaceToolResultContents

src/utils/toolResultStorage.ts:699–726  ·  view source on GitHub ↗

* Return a new Message[] where each tool_result block whose id appears in * replacementMap has its content replaced. Messages and blocks with no * replacements are passed through by reference.

(
  messages: Message[],
  replacementMap: Map<string, string>,
)

Source from the content-addressed store, hash-verified

697 * replacements are passed through by reference.
698 */
699function replaceToolResultContents(
700 messages: Message[],
701 replacementMap: Map<string, string>,
702): Message[] {
703 return messages.map(message => {
704 if (message.type !== 'user' || !Array.isArray(message.message.content)) {
705 return message
706 }
707 const content = message.message.content
708 const needsReplace = content.some(
709 b => b.type === 'tool_result' && replacementMap.has(b.tool_use_id),
710 )
711 if (!needsReplace) return message
712 return {
713 ...message,
714 message: {
715 ...message.message,
716 content: content.map(block => {
717 if (block.type !== 'tool_result') return block
718 const replacement = replacementMap.get(block.tool_use_id)
719 return replacement === undefined
720 ? block
721 : { ...block, content: replacement }
722 }),
723 },
724 }
725 })
726}
727
728async function buildReplacement(
729 candidate: ToolResultCandidate,

Callers 1

enforceToolResultBudgetFunction · 0.85

Calls 2

getMethod · 0.65
hasMethod · 0.45

Tested by

no test coverage detected