aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(notifications): per-user notification preferences
- Vorherrschende Sprache
- TypeScript
- Sterne
- 143
- Forks
- 46
- Ø Merge
- 3 T. 10 Std.
- Gemergte PRs (30 T.)
- 24
Beschreibung
**Context:** ROADMAP.md → Per-user notification preferences
---
## Component
API or orchestration
## Describe the feature
**DynamoDB store** (or equivalent) for per-user preferred channels, per-channel config (email address, Slack DM), and **event filters** beyond global defaults.
## Use case
Teams have mixed preferences: some want every milestone, others only failures and approvals. Global fanout defaults are insufficient at scale.
## Proposed solution
1. `NotificationPreferencesTable`: PK `user_id`, channel configs, subscribed event types.
2. FanOutConsumer resolves preferences after task submitter identity.
3. API: `GET/PUT /users/me/notification-preferences`; CLI `bgagent notifications`.
4. Merge with per-channel defaults from `INTERACTIVE_AGENTS.md` AD-4.
5. Document in `docs/design/INPUT_GATEWAY.md`.
## Other information
- Depends on SES dispatcher for email channel.
- Design context: `docs/design/INPUT_GATEWAY.md`.
- [ ] This might be a breaking change
Beitragsleitfaden
Rechercherichtung
Beginne mit ROADMAP.md und docs/design/INPUT_GATEWAY.md und verfolge dann FanOutConsumer sowie die vorhandenen Pfade für Benachrichtigungen und den SES-Dispatcher. Der vorgeschlagene Umfang umfasst die NotificationPreferencesTable, die GET/PUT API, den CLI-Befehl, das Zusammenführen von Ereignisfiltern und die Dokumentation; als abgeschlossen gilt, dass diese Komponenten mit den angegebenen Standardwerten pro Kanal zusammenarbeiten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- aws, typescript
- Bereich
- api, backend, cli, databases, documentation
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100