Class: AgUiProtocol::Core::Events::MessagesSnapshotEvent

Inherits:
BaseEvent show all
Defined in:
lib/ag_ui_protocol/core/events.rb

Overview

Provides a snapshot of all messages in a conversation.

“‘ruby event = AgUiProtocol::Core::Events::MessagesSnapshotEvent.new(

messages: [AgUiProtocol::Core::Types::UserMessage.new(id: "m1", content: "hi")]

) “‘

Instance Attribute Summary collapse

Attributes inherited from BaseEvent

#raw_event, #timestamp, #type

Instance Method Summary collapse

Methods inherited from Types::Model

#as_json, #to_json

Constructor Details

#initialize(messages:, timestamp: nil, raw_event: nil) ⇒ MessagesSnapshotEvent

Returns a new instance of MessagesSnapshotEvent.



683
684
685
686
687
688
689
690
# File 'lib/ag_ui_protocol/core/events.rb', line 683

def initialize(messages:, timestamp: nil, raw_event: nil)
  unless messages.is_a?(Array) && messages.all? { |m| m.is_a?(AgUiProtocol::Core::Types::BaseMessage) || m.is_a?(AgUiProtocol::Core::Types::ActivityMessage) }
    raise ArgumentError, "messages must be an Array of BaseMessage or ActivityMessage"
  end

  super(type: EventType::MESSAGES_SNAPSHOT, timestamp: timestamp, raw_event: raw_event)
  @messages = messages
end

Instance Attribute Details

#messagesObject (readonly)

Returns the value of attribute messages.



677
678
679
# File 'lib/ag_ui_protocol/core/events.rb', line 677

def messages
  @messages
end

Instance Method Details

#to_hObject



693
694
695
# File 'lib/ag_ui_protocol/core/events.rb', line 693

def to_h
  super.merge(messages: @messages)
end