MCPcopy Index your code
hub / github.com/CodebuffAI/codebuff / convertToAnthropicMessages

Function convertToAnthropicMessages

web/src/app/api/v1/token-count/_post.ts:363–402  ·  view source on GitHub ↗
(
  messages: TokenCountRequest['messages'],
)

Source from the content-addressed store, hash-verified

361}
362
363export function convertToAnthropicMessages(
364 messages: TokenCountRequest['messages'],
365): Array<{ role: 'user' | 'assistant'; content: any }> {
366 const result: Array<{ role: 'user' | 'assistant'; content: any }> = []
367
368 for (const message of messages) {
369 // Skip system messages - they're handled separately
370 if (message.role === 'system') {
371 continue
372 }
373
374 // Handle tool messages by converting to user messages with tool_result
375 if (message.role === 'tool') {
376 result.push({
377 role: 'user',
378 content: [
379 {
380 type: 'tool_result',
381 tool_use_id: message.toolCallId ?? 'unknown',
382 content: formatToolContent(message.content),
383 },
384 ],
385 })
386 continue
387 }
388
389 // Handle user and assistant messages
390 if (message.role === 'user' || message.role === 'assistant') {
391 const content = convertContentToAnthropic(message.content, message.role)
392 if (content) {
393 result.push({
394 role: message.role,
395 content,
396 })
397 }
398 }
399 }
400
401 return result
402}
403
404export function convertContentToAnthropic(
405 content: any,

Callers 2

countTokensViaAnthropicFunction · 0.85

Calls 2

formatToolContentFunction · 0.85

Tested by

no test coverage detected