Подключил pre-commit и немного отрефакторил код #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Описание
1. Подключён
pre-commitи настроены хуки2. Единообразное форматирование и автофиксы линтеров
newline at EOF, выравнивание маркдауна, мелкие поправки в YAML/MD.3. Консолидация static и типобезопасные константы
src/pymax/static.pyпереименован вsrc/pymax/static/enum.py(только перечисления).src/pymax/static/constant.pyс явными Final-константами и строгими типами:PHONE_REGEX,WEBSOCKET_URI,WEBSOCKET_ORIGIN,HOST,PORT,DEFAULT_TIMEOUT,DEFAULT_USER_AGENT.DEFAULT_USER_AGENTтеперь — отдельная модельUserAgentPayload, а не словарь.4. Модели/типизация
UserAgentPayload(вpayloads.py) — pydantic-модель для user-agent, вместо неструктурного dict.Selfв фабричных методах (from_dictи пр.), уточнение типов, явные Final.5. WebSocket: косметика + явные заголовки
_connectи_handshakeтеперь принимаютUserAgentPayloadвместо «сырого» dict.WEBSOCKET_ORIGINи добавленuser_agent_header=user_agent.headerUserAgentвwebsockets.connect(...). Это делает заголовки клиентского соединения более предсказуемыми и согласованными с содержимымUserAgentPayload.6. API-поверхность (
__init__.py)__all__убраны:Constants. Если кто-то импортировал их из корня пакета, потребуется заменить:Constants->pymax.static.constant(конкретные константы)7. Примеры/документация/обслуживающие файлы
examples/example.py: убраны неиспользуемые импорты, оставлен минимально рабочий пример на MaxClient.README.md,.github/ISSUE_TEMPLATE/bug_report.md,.github/workflows/publish.yml,.gitignore,ruff.toml, SVG-ассеты иdocs/*: трим пробелов, финальные переносы строк, правки форматирования. Функции не затрагивают.Тип изменений