Class: Roast::Cogs::Agent::Providers::Claude::Messages::AssistantMessage
- Inherits:
-
Roast::Cogs::Agent::Providers::Claude::Message
- Object
- Roast::Cogs::Agent::Providers::Claude::Message
- Roast::Cogs::Agent::Providers::Claude::Messages::AssistantMessage
- Defined in:
- lib/roast/cogs/agent/providers/claude/messages/assistant_message.rb
Constant Summary collapse
- IGNORED_FIELDS =
[ :parent_tool_use_id, ].freeze
Instance Attribute Summary collapse
-
#messages ⇒ Object
readonly
: Array.
Attributes inherited from Roast::Cogs::Agent::Providers::Claude::Message
#error, #session_id, #type, #unparsed
Instance Method Summary collapse
-
#initialize(type:, hash:) ⇒ AssistantMessage
constructor
: (type: Symbol, hash: Hash[Symbol, untyped]) -> void.
Methods inherited from Roast::Cogs::Agent::Providers::Claude::Message
Constructor Details
#initialize(type:, hash:) ⇒ AssistantMessage
: (type: Symbol, hash: Hash[Symbol, untyped]) -> void
19 20 21 22 23 24 25 26 27 |
# File 'lib/roast/cogs/agent/providers/claude/messages/assistant_message.rb', line 19 def initialize(type:, hash:) @messages = hash.dig(:message, :content)&.map do |content| content[:role] = :assistant Message.from_hash(content) end&.compact || [] hash.delete(:message) hash.except!(*IGNORED_FIELDS) super(type:, hash:) end |
Instance Attribute Details
#messages ⇒ Object (readonly)
: Array
16 17 18 |
# File 'lib/roast/cogs/agent/providers/claude/messages/assistant_message.rb', line 16 def @messages end |