ChatProvider class

Manages the state of chat conversations and AI interactions.

This provider handles:

  • Creating and managing conversations
  • Sending messages to AI service
  • Managing conversation selection and deletion
  • Error handling and loading states

Example:

final chatProvider = ChatProvider();
chatProvider.createNewConversation();
await chatProvider.sendMessage('Hello, AI!');
Inheritance

Constructors

ChatProvider()
Creates a new chat provider instance.

Properties

conversations → List<Conversation>
List of all conversations.
no setter
currentConversation → Conversation?
The currently selected conversation.
no setter
error → String
Current error message, if any.
no setter
hashCode → int
The hash code for this object.
no setterinherited
hasListeners → bool
Whether any listeners are currently registered.
no setterinherited
isLoading → bool
Whether an AI request is currently in progress.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
clearError() → void
Clears the current error message.
createNewConversation() → void
Creates a new conversation and makes it the current one.
deleteConversation(String conversationId) → void
Deletes a conversation by its ID.
dispose() → void
Discards any resources used by the object.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
selectConversation(String conversationId) → void
Selects a conversation by its ID.
sendMessage(String content) → Future<void>
Sends a message to the AI service and adds it to the current conversation.
setApiKey(String apiKey) → void
Sets the API key for the AI service.
toString() → String
A string representation of this object.
inherited

Operators

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