Task 007: SQLAlchemy Sender Storage
Priority: Medium Status: Planned Category: Persistence / Database
🎯 Goal
Implement a persistent UI coordinate storage based on SQLAlchemy (Async). This allows the ViewSender to work without Redis while still persisting message IDs between bot restarts.
🛠 Features
- Database Schema: Create a simple table
codex_bot_sender_coordswith fields:session_key,is_channel,menu_msg_id,content_msg_id, andupdated_at. - SQLAlchemy Implementation: Implement
SenderStateStorageProtocolusing async SQLAlchemy sessions. - Upsert Logic: Handle "create or update" operations atomically using database-specific upsert features (or a manual check).
- Integration: Allow easy switching between Redis and Database storage in the BotBuilder.