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: [{ “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.



655
656
657
658
659
660
661
662
# File 'lib/ag_ui_protocol/core/events.rb', line 655

def initialize(messages:, timestamp: nil, raw_event: nil)
  unless messages.is_a?(Array) && messages.all? { |m| m.is_a?(AgUiProtocol::Core::Types::BaseMessage) }
    raise ArgumentError, "messages must be an Array of BaseMessage"
  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.



649
650
651
# File 'lib/ag_ui_protocol/core/events.rb', line 649

def messages
  @messages
end

Instance Method Details

#to_hObject



665
666
667
# File 'lib/ag_ui_protocol/core/events.rb', line 665

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