// ─── Websocket Event Name Constants ─── // All WebSocket event names used across client and server. // Using `as const` ensures type safety when importing. // ─── Connection ─── export const JOIN_PROJECT = 'join_project' as const; export const LEAVE_PROJECT = 'leave_project' as const; // ─── Pointer ─── export const POINTER_MOVE = 'pointer_move' as const; // ─── Block Drag ─── export const BLOCK_DRAG_START = 'block_drag_start' as const; export const BLOCK_DRAG_MOVE = 'block_drag_move' as const; export const BLOCK_DRAG_END = 'block_drag_end' as const; // ─── Block Sync (server-authoritative) ─── export const BLOCK_STATE_SYNC = 'block_state_sync' as const; export const BLOCK_STATE_SYNCED = 'block_state_synced' as const; export const REQUEST_BLOCK_STATE = 'request_block_state' as const; // ─── Block Connect ─── export const BLOCK_CONNECT = 'block_connect' as const; export const COLLABORATOR_BLOCK_CONNECT = 'collaborator_block_connect' as const; // ─── Block Change (field values, dropdowns, text, etc.) ─── export const BLOCK_CHANGE = 'block_change' as const; export const COLLABORATOR_BLOCK_CHANGE = 'collaborator_block_change' as const; // ─── Block Create (toolbox/drag-out) ─── export const BLOCK_CREATE_EVENT = 'block_create_event' as const; export const COLLABORATOR_BLOCK_CREATE_EVENT = 'collaborator_block_create_event' as const; // ─── Collaborator Pointer/Drag ─── export const COLLABORATOR_POINTER_MOVE = 'collaborator_pointer_move' as const; export const COLLABORATOR_BLOCK_DRAG_START = 'collaborator_block_drag_start' as const; export const COLLABORATOR_BLOCK_DRAG_MOVE = 'collaborator_block_drag_move' as const; export const COLLABORATOR_BLOCK_DRAG_END = 'collaborator_block_drag_end' as const; // ─── Text Field ─── export const TEXT_FIELD_FOCUS = 'text_field_focus' as const; export const TEXT_FIELD_CURSOR = 'text_field_cursor' as const; export const TEXT_FIELD_BLUR = 'text_field_blur' as const; // ─── CSS ─── export const CSS_RULE_ADDED = 'css_rule_added' as const; export const CSS_RULE_UPDATED = 'css_rule_updated' as const; export const CSS_RULE_REMOVED = 'css_rule_removed' as const; export const CSS_RULE_REORDERED = 'css_rule_reordered' as const; export const CSS_PROP_ADDED = 'css_prop_added' as const; export const CSS_PROP_UPDATED = 'css_prop_updated' as const; export const CSS_PROP_REMOVED = 'css_prop_removed' as const; // ─── Version ─── export const VERSION_SAVED = 'version_saved' as const; export const VERSION_LIST = 'get_versions' as const; export const VERSION_SNAPSHOT = 'get_version_snapshot' as const; export const VERSION_RESTORE = 'restore_version' as const; // ─── Project CRUD (moved from REST) ─── export const PROJECT_CREATE = 'project_create' as const; export const PROJECT_LIST = 'project_list' as const; export const PROJECT_DELETE = 'project_delete' as const; export const PROJECT_LOAD = 'project_load' as const; export const PROJECT_CREATED = 'project_created' as const; export const PROJECT_DELETED = 'project_deleted' as const; export const PROJECT_LOADED = 'project_loaded' as const; // ─── File Upload ─── export const FILE_UPLOAD_START = 'file_upload_start' as const; export const FILE_UPLOAD_CHUNK = 'file_upload_chunk' as const; export const FILE_UPLOAD_END = 'file_upload_end' as const; export const FILE_UPLOAD_ERROR = 'file_upload_error' as const; export const FILE_UPLOAD_RESULT = 'file_upload_result' as const; export const FILE_PROCESSED = 'file_processed' as const; // ─── Element Registry ─── export const ELEMENT_REGISTRY_UPDATED = 'element_registry_updated' as const; export const ELEMENT_ID_CHANGED = 'element_id_changed' as const; // ─── Existing Events (preserved from current codebase) ─── export const FILE_CHANGED = 'file_changed' as const; export const FILE_UPDATED = 'file_updated' as const; export const FILE_ADDED = 'file_added' as const; export const FILE_RENAMED = 'file_renamed' as const; export const FILE_DELETED = 'file_deleted' as const; export const ACTIVE_FILE_CHANGED = 'active_file_changed' as const; export const CURSOR_MOVE = 'cursor_move' as const; export const BLOCK_SELECTION_CHANGED = 'block_selection_changed' as const; export const VISUAL_ELEMENT_HOVER = 'visual_element_hover' as const; export const VISUAL_ELEMENT_ADDED = 'visual_element_added' as const; export const VISUAL_ELEMENT_UPDATED = 'visual_element_updated' as const; export const VISUAL_ELEMENT_REMOVED = 'visual_element_removed' as const; export const VISUAL_ELEMENTS_REORDERED = 'visual_elements_reordered' as const; export const SAVE_PROJECT = 'save_project' as const; export const PROJECT_SAVED = 'project_saved' as const; export const COLLABORATOR_JOINED = 'collaborator_joined' as const; export const COLLABORATOR_LEFT = 'collaborator_left' as const; export const COLLABORATOR_LIST = 'collaborator_list' as const; export const COLLABORATOR_ACTIVE_FILE = 'collaborator_active_file' as const; export const COLLABORATOR_CURSOR = 'collaborator_cursor' as const; export const COLLABORATOR_BLOCK_SELECTED = 'collaborator_block_selected' as const; export const COLLABORATOR_ELEMENT_HOVER = 'collaborator_element_hover' as const;