Transactional email module with provider-neutral ports and Resend and StackSuite (AWS SES) HTTP adapters.
Email is source-visible, contract-first code — your agent reads the whole interface before it composes, never a black box.
Every hook has typed I/O and required tests, and the composition is pinned in
microservices.lock.json — what you inspect here is exactly what
pnpm microservices check verifies and deploys.
Typed hooks
Extension points with typed input/output and required tests — customize behavior without forking the module.
- beforeEmailSend
- afterEmailQueued
- afterEmailFailed
Events emitted
A stable, documented event surface other modules can subscribe to.
- email.queued
- email.sent
- email.failed
Permissions
Scoped capabilities the module declares; the gateway enforces them at the boundary.
- email.read
- email.write
- email.admin
Secrets
Environment secrets the module requires, declared up front in its contract.
- RESEND_API_KEY
- EMAIL_SERVICE_API_KEY
Experimental listing. Source is vendored from the canonical modules repo via the dist block.