Class: Roast::Cogs::Agent::Providers::Claude::Messages::UserMessage
- Inherits:
-
Roast::Cogs::Agent::Providers::Claude::Message
- Object
- Roast::Cogs::Agent::Providers::Claude::Message
- Roast::Cogs::Agent::Providers::Claude::Messages::UserMessage
- Defined in:
- lib/roast/cogs/agent/providers/claude/messages/user_message.rb
Constant Summary collapse
- IGNORED_FIELDS =
[ :isSynthetic, :parent_tool_use_id, :tool_use_result, ].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:) ⇒ UserMessage
constructor
: (type: Symbol, hash: Hash[Symbol, untyped]) -> void.
Methods inherited from Roast::Cogs::Agent::Providers::Claude::Message
Constructor Details
#initialize(type:, hash:) ⇒ UserMessage
: (type: Symbol, hash: Hash[Symbol, untyped]) -> void
21 22 23 24 25 26 27 28 29 |
# File 'lib/roast/cogs/agent/providers/claude/messages/user_message.rb', line 21 def initialize(type:, hash:) @messages = hash.dig(:message, :content)&.map do |content| content[:role] = :user Message.from_hash(content) end&.compact || [] hash.delete(:message) hash.except!(*IGNORED_FIELDS) super(type:, hash:) end |
Instance Attribute Details
#messages ⇒ Object (readonly)
: Array
18 19 20 |
# File 'lib/roast/cogs/agent/providers/claude/messages/user_message.rb', line 18 def @messages end |