Module: OmniAI::Anthropic::Chat::ToolCallResultSerializer
- Defined in:
- lib/omniai/anthropic/chat/tool_call_result_serializer.rb
Overview
Overrides tool-call response serialize / deserialize.
Class Method Summary collapse
- .deserialize(data) ⇒ OmniAI::Chat::ToolCallResult
-
.serialize(tool_call_result, context: nil) ⇒ Hash
A result whose content is media (e.g. an image) is sent as a content block rather than JSON.
Class Method Details
.deserialize(data) ⇒ OmniAI::Chat::ToolCallResult
28 29 30 31 32 33 |
# File 'lib/omniai/anthropic/chat/tool_call_result_serializer.rb', line 28 def self.deserialize(data, *) tool_call_id = data["tool_use_id"] content = data["content"] OmniAI::Chat::ToolCallResult.new(content:, tool_call_id:) end |
.serialize(tool_call_result, context: nil) ⇒ Hash
A result whose content is media (e.g. an image) is sent as a content block rather than JSON.
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/omniai/anthropic/chat/tool_call_result_serializer.rb', line 14 def self.serialize(tool_call_result, context: nil) content = tool_call_result.content content = content.is_a?(OmniAI::Chat::Media) ? [content.serialize(context:)] : tool_call_result.text { type: "tool_result", tool_use_id: tool_call_result.tool_call_id, content:, } end |