StreamMessage class

Represents a stream message in the chat.

Extends AIAssistantMessage and initializes with predefined type = "run_started" and category = "custom".

Inheritance

Constructors

StreamMessage({int? runId, String? threadId, required String text, List<String>? tags, int id = 0, String muid = '', User? sender, AppEntity? receiver, required String receiverUid, required String receiverType, DateTime? sentAt, DateTime? deliveredAt, DateTime? readAt, Map<String, dynamic>? metadata, DateTime? readByMeAt, DateTime? deliveredToMeAt, DateTime? deletedAt, DateTime? editedAt, String? deletedBy, String? editedBy, DateTime? updatedAt, String? conversationId, int parentMessageId = 0})

Properties

category ↔ String
The category of message (message, action, call, custom, etc.). Android: String category (reference type, can be null)
getter/setter pairinherited
conversationId ↔ String?
The conversation ID this message belongs to. Android: String conversationId (reference type, can be null)
getter/setter pairinherited
deletedAt ↔ DateTime?
Timestamp when the message was deleted. Android: long deletedAt (primitive, 0 = not set)
getter/setter pairinherited
deletedBy ↔ String?
UID of the user who deleted the message. Android: String deletedBy (reference type, can be null)
getter/setter pairinherited
deliveredAt ↔ DateTime?
Timestamp when the message was delivered. Android: long deliveredAt (primitive, 0 = not set)
getter/setter pairinherited
deliveredToMeAt ↔ DateTime?
Timestamp when the message was delivered to the logged-in user. Android: long deliveredToMeAt (primitive, 0 = not set)
getter/setter pairinherited
editedAt ↔ DateTime?
Timestamp when the message was edited. Android: long editedAt (primitive, 0 = not set)
getter/setter pairinherited
editedBy ↔ String?
UID of the user who edited the message. Android: String editedBy (reference type, can be null)
getter/setter pairinherited
hashCode → int
The hash code for this object.
no setterinherited
hasMentionedMe ↔ bool
Whether the logged-in user is mentioned in this message. Android: boolean hasMentionedMe (primitive, defaults to false) Note: In Android, this is computed by checking if logged-in user UID is in the mentions map. Flutter computes this the same way in the mapper.
getter/setter pairinherited
id ↔ int
Unique identifier for the message. Android: long id (primitive, defaults to 0)
getter/setter pairinherited
mentionedUsers ↔ List<User>
List of users mentioned in this message. Android: List<User> mentionedUser (initialized to empty ArrayList)
getter/setter pairinherited
metadata ↔ Map<String, dynamic>?
Custom metadata attached to the message. Android: JSONObject metadata (reference type, can be null)
getter/setter pairinherited
muid ↔ String
Developer-set unique identifier. Android: String muid (reference type, can be null)
getter/setter pairinherited
parentMessageId ↔ int
Parent message ID for threaded messages. Android: long parentMessageId (primitive, defaults to 0)
getter/setter pairinherited
pinnedAt ↔ DateTime?
When this message was pinned to its conversation (pin & save). null = not pinned. Present-only-when-set on the wire — absence means "not pinned", never an error.
getter/setter pairinherited
pinnedBy ↔ String?
UID of the member who pinned this message, or the app_system sentinel when the pin was placed by an admin surface (API key / dashboard). null whenever pinnedAt is null.
getter/setter pairinherited
quotedMessage ↔ BaseMessage?
The quoted message (for reply messages). Android: BaseMessage quotedMessage (reference type, can be null)
getter/setter pairinherited
quotedMessageId ↔ int
The ID of the quoted message. Android: long quotedMessageId (primitive, defaults to 0)
getter/setter pairinherited
rawMessage ↔ Map<String, dynamic>?
The raw JSON message for passthrough of unmapped fields. Android: JSONObject rawMessage (reference type, can be null)
getter/setter pairinherited
reactions ↔ List<ReactionCount>
List of reactions on this message. Android: List<ReactionCount> reactions (initialized to empty ArrayList)
getter/setter pairinherited
readAt ↔ DateTime?
Timestamp when the message was read. Android: long readAt (primitive, 0 = not set)
getter/setter pairinherited
readByMeAt ↔ DateTime?
Timestamp when the message was read by the logged-in user. Android: long readByMeAt (primitive, 0 = not set)
getter/setter pairinherited
receiver ↔ AppEntity?
The receiver of the message (User or Group). Android: AppEntity receiver (reference type, can be null)
getter/setter pairinherited
receiverType ↔ String
The type of receiver (user or group). Android: String receiverType (required in constructor)
getter/setter pairinherited
receiverUid ↔ String
The UID of the receiver. Android: String receiverUid (required in constructor)
getter/setter pairinherited
replyCount ↔ int
Number of replies to this message. Android: int replyCount (primitive, defaults to 0)
getter/setter pairinherited
runId ↔ int?
getter/setter pairinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
savedAt ↔ DateTime?
When the logged-in user saved (bookmarked) this message. Per-viewer: two users see different values for the same message. null = not saved by me.
getter/setter pairinherited
sender ↔ User?
The sender of the message. Android: User sender (reference type, can be null)
getter/setter pairinherited
sentAt ↔ DateTime?
Timestamp when the message was sent. Android: long sentAt (primitive, 0 = not set)
getter/setter pairinherited
tags ↔ List<String>?
getter/setter pairinherited
text ↔ String?
getter/setter pairinherited
threadId ↔ String?
getter/setter pairinherited
threadSubscribed ↔ bool
Whether the logged-in user is subscribed to this message's thread (thread subscription — reply-notification follow state).
getter/setter pairinherited
type ↔ String
The type of message (text, image, video, etc.). Android: String type (required in constructor)
getter/setter pairinherited
unreadRepliesCount ↔ int
Number of unread replies to this message. Android: int unreadRepliesCount (primitive, defaults to 0)
getter/setter pairinherited
updatedAt ↔ DateTime?
Timestamp when the message was last updated. Android: long updatedAt (primitive, 0 = not set)
getter/setter pairinherited

Methods

copyWith({int? runId, String? threadId, String? text, List<String>? tags, int? id, String? muid, User? sender, AppEntity? receiver, String? receiverUid, String? receiverType, DateTime? sentAt, DateTime? deliveredAt, DateTime? readAt, Map<String, dynamic>? metadata, DateTime? readByMeAt, DateTime? deliveredToMeAt, DateTime? deletedAt, DateTime? editedAt, String? deletedBy, String? editedBy, DateTime? updatedAt, String? conversationId, int? parentMessageId}) → StreamMessage
getElements() → List<AIAssistantElement>?
Returns the ordered list of content block elements from data.elements.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
setElements(List<AIAssistantElement>? elements) → void
Sets the ordered list of content block elements.
inherited
toJson() → Map<String, dynamic>
Converts this AIAssistantMessage into a map (JSON serializable).
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited