You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
- ✨ New Feature
- 🤖 Infra / Ops Update
### Details
this PR introduces conversation management for the Slack bot and breaks
down the old monolithic setup into cleaner, more modular components
**Conversation Management**
- updates DynamoDB table (`SlackBotStateTable`) to track sessions +
handle event deduping
- conversation memory via Bedrock session management → bot can keep
context across multiple messages
- works in both DMs and threaded channel convos
- TTL cleanup: 30 days for sessions, 1 hour for dedupe entries (TODO:
discuss what we want to set these values as)
**Refactor**
- split up the single `app.py` into separate modules:
- `app/main.py` → Lambda entry + routing
- `app/core/config.py` → config + AWS service wiring
- `app/util/slack_events.py` → Bedrock query + convo logic
- `app/util/slack_handlers.py` → Slack handlers + dedupe
- split up the single test_app.py into separate modules: (WIP)
- unit tests
- integration test?
**Infra**
- DynamoDB table with KMS encryption
- IAM updated for DynamoDB + KMS permissions
- new env vars for table access
---------
Co-authored-by: Kris Szlapa <kris.szlapa1@nhs.net>
0 commit comments