"""Public contract for the ai_ui_control plugin. Exposes the WebSocket manager and UI command schemas for other plugins. """ from __future__ import annotations from app.plugins.builtins.contracts import get_contract_registry from app.plugins.builtins.ai_ui_control.websocket_manager import AIUIControlWSManager from app.plugins.builtins.ai_ui_control.schemas import ( UICommand, UICommandCreate, UICommandFeedback, UICommandResponse, UICommandStatus, UICommandStatusResponse, UICommandType, ) class AiUiControlContract: """Public API surface for the ai_ui_control plugin.""" contract_name = "ai_ui_control" # ─── websocket_manager ─── AIUIControlWSManager = AIUIControlWSManager # ─── schemas ─── UICommand = UICommand UICommandCreate = UICommandCreate UICommandFeedback = UICommandFeedback UICommandResponse = UICommandResponse UICommandStatus = UICommandStatus UICommandStatusResponse = UICommandStatusResponse UICommandType = UICommandType # ─── self-registration ─── _contract = AiUiControlContract() get_contract_registry().register("ai_ui_control", _contract) __all__ = [ "AiUiControlContract", "AIUIControlWSManager", "UICommand", "UICommandType", "UICommandStatus", ]