feat: scheduled reminders + less aggressive article summary

Add scheduled messages/reminders system:
- New scheduled_messages table in memory-service with CRUD endpoints
- schedule_message, list_reminders, cancel_reminder tools for the bot
- Background scheduler loop (30s) sends due reminders automatically
- Supports one-time, daily, weekly, weekdays, monthly repeat patterns

Make article URL handling non-blocking:
- Show 3 options (discuss, text summary, audio) instead of forcing audio wizard
- Default to passing article context to AI if user just keeps chatting
- New AWAITING_LANGUAGE state for cleaner audio flow FSM

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Christian Gick
2026-03-09 06:55:14 +02:00
parent 19abea01ca
commit 964a3f6075
4 changed files with 558 additions and 8 deletions

View File

@@ -10,6 +10,7 @@ from enum import Enum, auto
class ArticleState(Enum):
IDLE = auto()
URL_DETECTED = auto()
AWAITING_LANGUAGE = auto() # Audio flow: waiting for language selection
LANGUAGE = auto()
DURATION = auto()
TOPICS = auto()