MCPcopy Create free account
hub / github.com/Zoo-Code-Org/Zoo-Code / prepareUserMessage

Function prepareUserMessage

src/core/task/apiConversationHistory.ts:109–131  ·  view source on GitHub ↗
(message: Anthropic.MessageParam, apiConversationHistory: ApiMessage[])

Source from the content-addressed store, hash-verified

107}
108
109function prepareUserMessage(message: Anthropic.MessageParam, apiConversationHistory: ApiMessage[]): ApiMessage {
110 const effectiveHistoryForValidation = getEffectiveApiHistory(apiConversationHistory)
111 const lastEffective = effectiveHistoryForValidation[effectiveHistoryForValidation.length - 1]
112 const historyForValidation = lastEffective?.role === "assistant" ? effectiveHistoryForValidation : []
113
114 let messageToAdd = message
115 if (lastEffective?.role !== "assistant" && Array.isArray(message.content)) {
116 messageToAdd = {
117 ...message,
118 content: message.content.map((block) =>
119 block.type === "tool_result"
120 ? {
121 type: "text" as const,
122 text: `Tool result:\n${typeof block.content === "string" ? block.content : JSON.stringify(block.content)}`,
123 }
124 : block,
125 ),
126 }
127 }
128
129 const validatedMessage = validateAndFixToolResultIds(messageToAdd, historyForValidation)
130 return { ...validatedMessage, ts: Date.now() }
131}
132
133function prependContentBlock(message: any, block: any): void {
134 if (typeof message.content === "string") {

Callers 1

Calls 2

getEffectiveApiHistoryFunction · 0.90

Tested by

no test coverage detected