feat: Upgrade to asynchronous event bus with retry queue and backoff strategy (#290)

## Description
<!-- Briefly describe the purpose and scope of your changes -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a retry and dead-letter queue system for more robust event
processing.
- Added a retry handler for processing failed Lambda invocations with
exponential backoff.
- Enhanced event handling to support retry logic and improved error
management.

- **Refactor**
- Replaced SQS-based library event processing with an event bus-based
approach.
- Updated event names and structure for improved clarity and
consistency.
  - Removed legacy library queue and related infrastructure.

- **Chores**
  - Updated dependencies to include the AWS Lambda client.
  - Cleaned up unused code and removed deprecated event handling logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Wanjohi
2025-06-04 07:53:30 +03:00
committed by GitHub
parent 8f4bb05143
commit e67a8d2b32
11 changed files with 494 additions and 308 deletions

16
sst-env.d.ts vendored
View File

@@ -40,6 +40,10 @@ declare module "sst" {
"type": "sst.sst.Secret"
"value": string
}
"Dlq": {
"type": "sst.aws.Queue"
"url": string
}
"Email": {
"configSet": string
"sender": string
@@ -53,14 +57,6 @@ declare module "sst" {
"type": "sst.sst.Secret"
"value": string
}
"LibraryDLQ": {
"type": "sst.aws.Queue"
"url": string
}
"LibraryQueue": {
"type": "sst.aws.Queue"
"url": string
}
"NestriFamilyMonthly": {
"type": "sst.sst.Secret"
"value": string
@@ -94,6 +90,10 @@ declare module "sst" {
"endpoint": string
"type": "sst.aws.Realtime"
}
"RetryQueue": {
"type": "sst.aws.Queue"
"url": string
}
"SteamApiKey": {
"type": "sst.sst.Secret"
"value": string