Skip to content

feat(message): queue transiently limited text sends - #34

Merged
Neup123 merged 2 commits into
mainfrom
feat/outbound-message-queue
Sep 23, 2026
Merged

Neup123 merged 2 commits into
mainfrom
feat/outbound-message-queue

Conversation

@Neup123

@Neup123 Neup123 commented Sep 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • keep the existing sendText endpoint and queue only transient Automation Safety blocks
  • persist queue payloads and schedules in PostgreSQL/MySQL so work survives restart and reconnect
  • re-run the current safety policy immediately before delivery
  • calculate earliest eligible time from the real rolling-window boundary
  • reject permanent suppression, allowlist, quiet-hour, duplicate, and invalid-recipient decisions
  • reject enqueue only when recent sent messages plus queued work reach instance or recipient daily capacity
  • add GET and DELETE outboundQueue endpoints with detailed Swagger responses
  • add migrations, unit/PostgreSQL tests, CI coverage, and English documentation

The database is authoritative and the worker functions without RabbitMQ. RabbitMQ is therefore optional rather than a durability dependency.

Validation

  • npm run test:outbound-safety
  • npm run test:outbound-queue
  • npm run lint:check
  • npm run build
  • npm run audit:runtime-openapi
  • npm run audit:chat-docs
  • PostgreSQL migration/integration test runs in CI

Fixes #33

@Neup123
Neup123 merged commit 70423c5 into main Sep 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: queue outbound text messages blocked by transient safety limits

1 participant