Feature/browser context python api
requested to merge viktor-tihovskoy/chat-browser-framework:feature/browser-context-python-api into main
Описание
Цель изменений
Реализация BrowserContextService — Python API для управления контекстами браузера напрямую из кода, без HTTP API и без прямой работы со storage driver.
Реализовано
- Service: Класс BrowserContextService с методами create, get, get_content, list_contexts, update_content, update_status, delete.
- Паттерн: Поддерживает Dependency Injection — storage_driver можно передать в конструктор, с fallback на Config()-синглтон.
- Исключения: BrowserContextNotFoundError и RevisionConflictError пробрасываются наружу без перехвата.
- No-op: update_content при cookies=None и origins=None возвращает текущий контекст без инкремента revision.
- Тесты: 20 тестов BrowserContextService на InMemoryBrowserContextStorageDriver (asyncio + trio), 20 тестов SqlAlchemyBrowserContextStorageDriver на async SQLite (asyncio).
Чеклист:
- Описание MR:
-
Из описания MR ясно кому и зачем нужны правки -
Указаны ссылки на связанные issues -
Указаны дополнительные материалы (если есть)
-
- Проверка:
-
Изменения протестированы -
Проверено поведение в dev (если применимо)
-
- Changelog:
-
Добавлен новый файл в changelogs/unreleased -
Добавлено описание всех изменений -
Указаны изменения в переменных окружения -
Указаны ссылки на GitLab Issues, связанные с MR
-
- Документация:
-
Обновлены инструкции в CONTRIBUTING.md (если применимо) -
Обновлен README (если применимо)
-
Edited by Виктор Тиховской