Class: Roast::Cogs::Agent::Providers::Claude::Messages::ToolResultMessage
- Inherits:
-
Roast::Cogs::Agent::Providers::Claude::Message
- Object
- Roast::Cogs::Agent::Providers::Claude::Message
- Roast::Cogs::Agent::Providers::Claude::Messages::ToolResultMessage
- Defined in:
- lib/roast/cogs/agent/providers/claude/messages/tool_result_message.rb
Constant Summary collapse
- IGNORED_FIELDS =
[ :role, ].freeze
Instance Attribute Summary collapse
-
#content ⇒ Object
readonly
: String?.
-
#is_error ⇒ Object
readonly
: bool.
-
#tool_use_id ⇒ Object
readonly
: String?.
Attributes inherited from Roast::Cogs::Agent::Providers::Claude::Message
#error, #session_id, #type, #unparsed
Instance Method Summary collapse
-
#format(context) ⇒ Object
: (ClaudeInvocation::Context) -> String?.
-
#initialize(type:, hash:) ⇒ ToolResultMessage
constructor
: (type: Symbol, hash: Hash[Symbol, untyped]) -> void.
Methods inherited from Roast::Cogs::Agent::Providers::Claude::Message
Constructor Details
#initialize(type:, hash:) ⇒ ToolResultMessage
: (type: Symbol, hash: Hash[Symbol, untyped]) -> void
25 26 27 28 29 30 31 |
# File 'lib/roast/cogs/agent/providers/claude/messages/tool_result_message.rb', line 25 def initialize(type:, hash:) @tool_use_id = hash.delete(:tool_use_id) @content = hash.delete(:content) @is_error = hash.delete(:is_error) || false hash.except!(*IGNORED_FIELDS) super(type:, hash:) end |
Instance Attribute Details
#content ⇒ Object (readonly)
: String?
19 20 21 |
# File 'lib/roast/cogs/agent/providers/claude/messages/tool_result_message.rb', line 19 def content @content end |
#is_error ⇒ Object (readonly)
: bool
22 23 24 |
# File 'lib/roast/cogs/agent/providers/claude/messages/tool_result_message.rb', line 22 def is_error @is_error end |
#tool_use_id ⇒ Object (readonly)
: String?
16 17 18 |
# File 'lib/roast/cogs/agent/providers/claude/messages/tool_result_message.rb', line 16 def tool_use_id @tool_use_id end |
Instance Method Details
#format(context) ⇒ Object
: (ClaudeInvocation::Context) -> String?
34 35 36 37 38 |
# File 'lib/roast/cogs/agent/providers/claude/messages/tool_result_message.rb', line 34 def format(context) tool_use = context.tool_use(tool_use_id) tool_result = ToolResult.new(tool_use:, content:, is_error:) tool_result.format end |