Creates a new ChatViewModel instance and loads the initial welcome message.
The Redux store instance.
The chat service for managing AI interactions.
The audio service for feedback sounds.
Gets the current chat state from the store.
The current chat state.
Checks if the user can send messages based on enabled models with valid API keys.
True if at least one model is enabled with an API key.
Disposes the view model and resets chat state to initial values.
Toggles the visibility of the chat interface.
Loads the initial welcome message displaying available AI models.
Clears all chat messages and reloads the initial welcome message.
Updates the welcome message with current enabled model information.
Generates and updates chat suggestions in the store.
Sends a user message to all enabled AI models and handles responses.
The message text to send.
Promise that resolves when all responses are received.
View model for managing chat interface state and AI model interactions.