@@ -8,7 +8,58 @@ and this project adheres to Semantic Versioning.
88## [ Unreleased]
99
1010### Added
11- - Нет изменений.
11+ - Добавлена базовая CLI-оболочка: ` avito --help ` , ` avito --version ` , ` avito version ` ,
12+ ` avito help ` и единый вход через ` python -m avito ` .
13+ - Задокументирован первый CLI-контракт: глобальные флаги, режимы вывода,
14+ разделение stdout/stderr, безопасный JSON/human-рендеринг ошибок и стабильные
15+ exit codes.
16+ - Добавлены локальные CLI-команды учетных записей: ` avito account add ` ,
17+ ` avito account list ` , ` avito account use ` , ` avito account current ` ,
18+ ` avito account delete ` и alias ` avito account remove ` .
19+ - CLI хранит учетные записи в локальных JSON-файлах с правами доступа к файлам и
20+ маскирует секреты во всех режимах вывода; первая версия использует plaintext
21+ storage без OS keychain.
22+ - Для безопасного ввода ` client_secret ` добавлены скрытый интерактивный prompt и
23+ ` --client-secret-stdin ` ; ` --client-secret ` и совместимый ` --api-key ` оставлены
24+ для явной автоматизации с учетом риска попадания значения в историю shell.
25+ - Добавлена registry-backed справка ` avito help <resource> ` и
26+ ` avito help <resource> <action> ` для локальных команд, helper workflows,
27+ aliases и API command candidates без создания ` AvitoClient ` .
28+ - Добавлена основа сериализации результатов CLI: SDK-модели выводятся через
29+ публичный ` model_dump() ` / ` to_dict() ` , секреты маскируются после
30+ сериализации, а ` PaginatedList ` по умолчанию выгружает только ограниченный
31+ набор страниц.
32+ - Подключен первый registry-backed API slice CLI: ` avito account get-self ` и
33+ ` avito account get-balance --user-id ... ` вызывают публичный ` AvitoClient ` ,
34+ проходят через общий слой приведения аргументов, сериализации и безопасного
35+ JSON/human-вывода.
36+ - Расширено read-only CLI-покрытие API: все поддержанные sync Swagger-bound
37+ GET/HEAD-команды регистрируются через CLI registry, проходят fake-transport
38+ smoke coverage и проверяются фазой ` scripts/lint_cli_coverage.py --phase read ` ;
39+ read-bindings без достаточных factory/method аргументов оформлены как
40+ временные исключения до Stage 10C.
41+ - Добавлены CLI safety primitives для будущих write/destructive API-команд:
42+ registry хранит проверенную safety policy, destructive/expensive команды
43+ требуют prompt, ` --yes ` или точный ` --confirm ` , а ` --dry-run ` публикуется
44+ только для SDK-методов с публичным ` dry_run ` .
45+ - Расширено write CLI-покрытие API: generic-safe sync Swagger-bound write-команды
46+ регистрируются через CLI registry, проходят fake-transport smoke coverage и
47+ проверяются фазой ` scripts/lint_cli_coverage.py --phase write ` ; write-bindings,
48+ которым нужен CLI adapter или уточнение binding metadata, оформлены как
49+ временные исключения до Stage 10C.
50+ - Добавлены публичные CLI helper workflows: ` account-health show ` ,
51+ ` listing-health show ` , ` chat-summary show ` , ` order-summary show ` ,
52+ ` review-summary show ` , ` promotion-summary show ` и ` capabilities show ` ;
53+ команды вызывают только публичные методы ` AvitoClient ` , поддерживают JSON/human
54+ вывод и не входят в Swagger one-to-one coverage.
55+ - Добавлены локальные CLI-команды конфигурации и диагностики: ` avito config get ` ,
56+ ` avito config set ` , ` avito config unset ` , ` avito config list --show-source ` ,
57+ ` avito status ` , ` avito doctor ` и ` avito completion bash|zsh|fish ` ; команды
58+ работают без сетевых вызовов и не раскрывают секреты.
59+ - Добавлена публичная CLI-документация: quickstart в README, how-to для
60+ профилей и ежедневных workflows, стабильный reference контракт, объяснение
61+ архитектуры registry/coverage и ссылки из разделов security, auth/config и
62+ API coverage.
1263
1364## [ 2.1.0] - 2026-05-08
1465
0 commit comments