main
feat: добавить механизм фоновых задач и автосброс сценариев по таймауту - Добавлены инфраструктурные компоненты фоновых задач: IBackgroundTask, BackgroundTaskRunner, базовый BackgroundTask - Добавлен ResetScenarioBackgroundTask с периодическим запуском (раз в час) - Реализован автосброс просроченных сценариев через resetScenarioTimeout и уведомление пользователя - В уведомлении после автосброса используется post-registration клавиатура (/addtask, /show, /report) - ScenarioContext расширен полем CreatedAt (UTC при создании контекста) - IScenarioContextRepository расширен методом GetContexts(CancellationToken) - InMemoryScenarioContextRepository реализует snapshot-выгрузку всех активных контекстов - Program.cs интегрирован с BackgroundTaskRunner: регистрация задачи, запуск до StartReceiving, остановка до CancelAsync
feat: нотификации и фоновые задачи доставки уведомлений - Добавлены Notification и NotificationModel - Добавлены DDL-изменения таблицы Notification и индексы - Добавлены INotificationService и NotificationService - Расширены IUserRepository и IToDoRepository методами для нотификаций - Реализованы NotificationBackgroundTask, DeadlineBackgroundTask и TodayBackgroundTask - Добавлена интеграция нотификаций и фоновых задач в Program.cs