class RubyLLM::Providers::Anthropic

def parse_completion_response(response)

def parse_completion_response(response)
  data = response.body
  content_blocks = data['content'] || []
  text_blocks = content_blocks.select { |c| c['type'] == 'text' }
  text_content = text_blocks.map { |c| c['text'] }.join('')
  tool_use = content_blocks.find { |c| c['type'] == 'tool_use' }
  if tool_use
    Message.new(
      role: :assistant,
      content: text_content,
      tool_calls: parse_tool_calls(tool_use),
      input_tokens: data.dig('usage', 'input_tokens'),
      output_tokens: data.dig('usage', 'output_tokens'),
      model_id: data['model']
    )
  else
    Message.new(
      role: :assistant,
      content: text_content,
      input_tokens: data.dig('usage', 'input_tokens'),
      output_tokens: data.dig('usage', 'output_tokens'),
      model_id: data['model']
    )
  end
end