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