Class: A2A::Models::Message
- Inherits:
-
Base
- Object
- Base
- A2A::Models::Message
show all
- Defined in:
- lib/simple_a2a/models/message.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#==, attribute, attributes, from_hash, inherited, #to_h, #to_json
Constructor Details
#initialize(**kwargs) ⇒ Message
Returns a new instance of Message.
28
29
30
31
|
# File 'lib/simple_a2a/models/message.rb', line 28
def initialize(**kwargs)
kwargs[:message_id] ||= SecureRandom.uuid
super
end
|
Class Method Details
.agent(*content) ⇒ Object
19
20
21
|
# File 'lib/simple_a2a/models/message.rb', line 19
def self.agent(*content)
new(message_id: SecureRandom.uuid, role: Types::Role::AGENT, parts: build_parts(content))
end
|
.user(*content) ⇒ Object
15
16
17
|
# File 'lib/simple_a2a/models/message.rb', line 15
def self.user(*content)
new(message_id: SecureRandom.uuid, role: Types::Role::USER, parts: build_parts(content))
end
|
Instance Method Details
#agent? ⇒ Boolean
34
|
# File 'lib/simple_a2a/models/message.rb', line 34
def agent? = role == Types::Role::AGENT
|
#text_content ⇒ Object
36
37
38
|
# File 'lib/simple_a2a/models/message.rb', line 36
def text_content
parts.select(&:text?).map(&:text).join("\n")
end
|
#user? ⇒ Boolean
33
|
# File 'lib/simple_a2a/models/message.rb', line 33
def user? = role == Types::Role::USER
|
#valid? ⇒ Boolean
40
41
42
|
# File 'lib/simple_a2a/models/message.rb', line 40
def valid?
!role.nil? && !parts.nil? && !parts.empty?
end
|