namespace AIStudio.Tools;
///
/// Defines message bus events used for communication between UI components and services.
///
public enum Event
{
///
/// Represents the absence of a message bus event.
///
NONE,
//
// Common events:
//
///
/// Requests registered receivers to refresh state that depends on the current UI state.
///
STATE_HAS_CHANGED,
///
/// Notifies receivers that the application configuration was changed and should be reloaded or re-applied.
///
CONFIGURATION_CHANGED,
///
/// Notifies receivers that the active color theme changed.
///
COLOR_THEME_CHANGED,
///
/// Requests startup initialization of the plugin system.
///
STARTUP_PLUGIN_SYSTEM,
///
/// Notifies receivers that the startup initialization completed.
///
STARTUP_COMPLETED,
///
/// Carries an enterprise environment that should be processed during startup.
///
STARTUP_ENTERPRISE_ENVIRONMENT,
///
/// Notifies receivers that the known enterprise environments changed.
///
ENTERPRISE_ENVIRONMENTS_CHANGED,
///
/// Notifies receivers that plugins were reloaded.
///
PLUGINS_RELOADED,
///
/// Requests display of an error notification.
///
SHOW_ERROR,
///
/// Requests display of a warning notification.
///
SHOW_WARNING,
///
/// Requests display of a success notification.
///
SHOW_SUCCESS,
///
/// Carries an event received from the Tauri runtime.
///
TAURI_EVENT_RECEIVED,
///
/// Notifies receivers that the Rust service is unavailable or failed a health check.
///
RUST_SERVICE_UNAVAILABLE,
///
/// Notifies receivers that voice recording availability changed.
///
VOICE_RECORDING_AVAILABILITY_CHANGED,
// Update events:
///
/// Requests a user-triggered search for application updates.
///
USER_SEARCH_FOR_UPDATE,
///
/// Notifies receivers that an application update is available.
///
UPDATE_AVAILABLE,
///
/// Requests installation of the available application update.
///
INSTALL_UPDATE,
//
// Chat events:
//
///
/// Queries whether the current chat has unsaved changes.
///
HAS_CHAT_UNSAVED_CHANGES,
///
/// Requests the current chat state to be reset.
///
RESET_CHAT_STATE,
///
/// Carries a chat that should be loaded by the chat component.
///
LOAD_CHAT,
///
/// Notifies receivers that chat response streaming has completed.
///
CHAT_STREAMING_DONE,
///
/// Notifies receivers that an AI job changed.
///
AI_JOB_CHANGED,
///
/// Notifies receivers that an AI job finished.
///
AI_JOB_FINISHED,
///
/// Notifies receivers that chat generation state changed.
///
CHAT_GENERATION_CHANGED,
// Workspace events:
///
/// Notifies receivers that the chat loaded in the workspace changed.
///
WORKSPACE_LOADED_CHAT_CHANGED,
///
/// Requests the chat workspace overlay to be toggled.
///
WORKSPACE_TOGGLE_OVERLAY,
//
// RAG events:
//
///
/// Carries data sources that were automatically selected for retrieval-augmented generation.
///
RAG_AUTO_DATA_SOURCES_SELECTED,
//
// File attachment events:
//
///
/// Registers a file drop area for file attachment handling.
///
REGISTER_FILE_DROP_AREA,
///
/// Unregisters a file drop area from file attachment handling.
///
UNREGISTER_FILE_DROP_AREA,
//
// Send events:
//
///
/// Sends content to the grammar and spelling assistant.
///
SEND_TO_GRAMMAR_SPELLING_ASSISTANT,
///
/// Sends content to the icon finder assistant.
///
SEND_TO_ICON_FINDER_ASSISTANT,
///
/// Sends content to the rewrite assistant.
///
SEND_TO_REWRITE_ASSISTANT,
///
/// Sends content to the prompt optimizer assistant.
///
SEND_TO_PROMPT_OPTIMIZER_ASSISTANT,
///
/// Sends content to the translation assistant.
///
SEND_TO_TRANSLATION_ASSISTANT,
///
/// Sends content to the agenda assistant.
///
SEND_TO_AGENDA_ASSISTANT,
///
/// Sends content to the coding assistant.
///
SEND_TO_CODING_ASSISTANT,
///
/// Sends content to the text summarizer assistant.
///
SEND_TO_TEXT_SUMMARIZER_ASSISTANT,
///
/// Sends the result of the current assistant to the chat component.
///
SEND_TO_CHAT,
///
/// Sends text to the chat input field, aka the user prompt.
///
SEND_TO_CHAT_INPUT,
///
/// Sends content to the email assistant.
///
SEND_TO_EMAIL_ASSISTANT,
///
/// Sends content to the legal check assistant.
///
SEND_TO_LEGAL_CHECK_ASSISTANT,
///
/// Sends content to the synonym assistant.
///
SEND_TO_SYNONYMS_ASSISTANT,
///
/// Sends content to the "my tasks assistant".
///
SEND_TO_MY_TASKS_ASSISTANT,
///
/// Sends content to the job posting assistant.
///
SEND_TO_JOB_POSTING_ASSISTANT,
///
/// Sends content to the document analysis assistant.
///
SEND_TO_DOCUMENT_ANALYSIS_ASSISTANT,
///
/// Sends content to the slide builder assistant.
///
SEND_TO_SLIDE_BUILDER_ASSISTANT
}