Creates a new Conversation
Algorand address of the other party
OptionalparticipantPublicKey: Uint8Array<ArrayBufferLike>X25519 encryption public key (if known)
Initial messages
OptionallastFetchedRound: numberLast blockchain round that was fetched
OptionallastLast blockchain round that was fetched
ReadonlyparticipantAlgorand address of the other party
OptionalparticipantX25519 encryption public key (if known)
Gets the first message in the conversation
Gets the highest confirmed round across all messages
Checks if the conversation has no messages
Gets the most recent message
Gets the most recent received message
Gets the most recent sent message
Gets the total number of messages
Gets all messages in chronological order
Gets the number of received messages
Gets the number of sent messages
Appends a message to the conversation
If the message already exists (by ID), it is ignored. Messages are kept sorted by timestamp.
Message to append
true if message was added, false if it already existed
Creates a shallow copy of the conversation
Checks if a message exists
Transaction ID to check
Merges multiple messages into the conversation
Duplicates are ignored. Messages are sorted after merge.
Messages to merge
Number of new messages added
Gets messages after a specific round
Minimum round (exclusive)
Gets messages in a direction
'sent' or 'received'
Searches messages by content
Search string (case-insensitive)
Updates the last fetched round
The round number
Updates the participant's public key
The new public key
StaticfromCreates a Conversation from a plain object
Represents a conversation with another user
Provides helper methods for accessing messages, merging updates, and tracking conversation state.