aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(notifications): per-user notification preferences
- Lingua principale
- TypeScript
- Stelle
- 143
- Fork
- 46
- Merge medio
- 3g 9h
- PR unite (30g)
- 20
Descrizione
**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
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da ROADMAP.md e docs/design/INPUT_GATEWAY.md, quindi traccia FanOutConsumer e i percorsi esistenti del dispatcher delle notifiche e di SES. L'ambito proposto include NotificationPreferencesTable, l'API GET/PUT, il comando CLI, l'unione dei filtri degli eventi e la documentazione; il lavoro è completo quando questi elementi funzionano insieme con i valori predefiniti per canale indicati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- aws, typescript
- Ambito
- api, backend, cli, databases, documentation
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100