Skip to content

feat(messaging): add email headers and the enrollment invite input - #135

Merged
Bccorb merged 1 commit into
mainfrom
feat/messaging-email-headers
Oct 31, 2026
Merged

Bccorb merged 1 commit into
mainfrom
feat/messaging-email-headers

Conversation

@Bccorb

@Bccorb Bccorb commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

Brings the shared messaging shapes level with @seamless-auth/messaging, so fells-code/seamless-auth-messaging#17 can re-export them instead of keeping two local definitions.

Changes

  • EmailMessageSchema gains headers: z.record(z.string(), z.string()).optional(). This matches the field added in feat(email): carry custom headers through to SES seamless-auth-messaging#14. The schema only checks the shape. Header name and value validation (no injected headers, no overriding From, To or Subject) stays in the messaging transports, which own the send.
  • New SendEnrollmentInviteEmailInputSchema and its inferred SendEnrollmentInviteEmailInput, matching the messaging package's input for the passkey enrollment invite email.

Both are additive, so this is a minor changeset. The inferred EmailMessage type widens with an optional field, which is noted in the changeset.

Tests

New cases in src/schemas/messaging/schema.test.ts cover a message with and without headers, a non-string header value, and an invite with and without signInUrl. npm run typecheck, npm run lint, npm run format:check and npm test (515 passing) all pass locally.

Rollout

Once this is published, the messaging package's EmailMessage and SendEnrollmentInviteEmailInput become plain re-exports from @seamless-auth/types.

@Bccorb
Bccorb merged commit c8fe306 into main Oct 31, 2026
5 checks passed
@Bccorb
Bccorb deleted the feat/messaging-email-headers branch October 31, 2026 12:48
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.

1 participant