Class: Roast::Cogs::Agent::Providers::Claude::Messages::ToolUseMessage
- Inherits:
-
Roast::Cogs::Agent::Providers::Claude::Message
- Object
- Roast::Cogs::Agent::Providers::Claude::Message
- Roast::Cogs::Agent::Providers::Claude::Messages::ToolUseMessage
- Defined in:
- lib/roast/cogs/agent/providers/claude/messages/tool_use_message.rb
Constant Summary collapse
- IGNORED_FIELDS =
[ :caller, :role, ].freeze
Instance Attribute Summary collapse
-
#id ⇒ Object
readonly
: String?.
-
#input ⇒ Object
readonly
: Hash[Symbol, untyped].
-
#name ⇒ Object
readonly
: Symbol.
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:) ⇒ ToolUseMessage
constructor
: (type: Symbol, hash: Hash[Symbol, untyped]) -> void.
Methods inherited from Roast::Cogs::Agent::Providers::Claude::Message
Constructor Details
#initialize(type:, hash:) ⇒ ToolUseMessage
: (type: Symbol, hash: Hash[Symbol, untyped]) -> void
26 27 28 29 30 31 32 |
# File 'lib/roast/cogs/agent/providers/claude/messages/tool_use_message.rb', line 26 def initialize(type:, hash:) @name = hash.delete(:name)&.downcase&.to_sym || :unknown @id = hash.delete(:id) @input = hash.delete(:input) || {} hash.except!(*IGNORED_FIELDS) super(type:, hash:) end |
Instance Attribute Details
#id ⇒ Object (readonly)
: String?
17 18 19 |
# File 'lib/roast/cogs/agent/providers/claude/messages/tool_use_message.rb', line 17 def id @id end |
#input ⇒ Object (readonly)
: Hash[Symbol, untyped]
23 24 25 |
# File 'lib/roast/cogs/agent/providers/claude/messages/tool_use_message.rb', line 23 def input @input end |
#name ⇒ Object (readonly)
: Symbol
20 21 22 |
# File 'lib/roast/cogs/agent/providers/claude/messages/tool_use_message.rb', line 20 def name @name end |