Conversation class

Represents a conversation between a user and an AI assistant.

A conversation contains multiple messages and maintains metadata such as title, creation date, and last update time.

Example:

final conversation = Conversation(
  id: 'conv_123',
  title: 'New Chat',
  messages: [],
  createdAt: DateTime.now(),
);
Annotations

Constructors

Conversation.new({required String id, required String title, required List<ChatMessage> messages, required DateTime createdAt, DateTime? updatedAt})
Creates a new conversation.
const
Conversation.fromJson(Map<String, dynamic> json)
Creates a Conversation from a JSON representation.
factory

Properties

createdAt DateTime
When this conversation was created.
final
hashCode int
The hash code for this object.
no setteroverride
id String
Unique identifier for this conversation.
final
isEmpty bool
Whether this conversation has no messages.
no setter
lastMessage ChatMessage?
The last message in this conversation, if any.
no setter
messageCount int
The total number of messages in this conversation.
no setter
messages List<ChatMessage>
List of all messages in this conversation.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
title String
Display title for the conversation.
final
updatedAt DateTime?
When this conversation was last updated.
final

Methods

addMessage(ChatMessage message) Conversation
Adds a new message to this conversation.
copyWith({String? id, String? title, List<ChatMessage>? messages, DateTime? createdAt, DateTime? updatedAt}) Conversation
Creates a copy of this conversation with some fields replaced.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() Map<String, dynamic>
Converts this conversation to a JSON representation.
toString() String
A string representation of this object.
override
updateTitle(String newTitle) Conversation
Updates the title of this conversation.

Operators

operator ==(Object other) bool
The equality operator.
override