"""Public messages are allowlisted; vendor error text never crosses the boundary.""" MESSAGES = { "wake_adapter_busy": "Сейчас включается другая камера. Повторите действие позже.", "wake_identity_missing": "Сначала подключите эту камеру по USB и подготовьте её на борту.", "wake_identity_conflict": "Не удалось однозначно выбрать камеру для включения.", "wake_rate_limited": "Лимит попыток включения исчерпан. Повторите через 10 минут.", "wake_not_confirmed": ( "Камера не подключилась. Проверьте питание, USB " "и настройку «Пробуждение по Bluetooth» на X4." ), "unsupported_camera_parameter": "Параметр или действие недоступны в текущем режиме камеры.", "verification_recording_active": "Для проверки изображения остановите запись на камере.", "preview_no_decodable_image": "Камера не передала декодируемое изображение.", "preview_restart_required": "Не поступают свежие кадры. Остановите и снова начните просмотр.", } def failure(code): return {"state": "error", "error": code}