chore!: drop the bootstrap invite flow from the messaging contract - #3
Merged
Conversation
The Seamless Auth API removed the admin bootstrap invite flow, and the Express adapter no longer requests that delivery, so nothing in the ecosystem calls sendBootstrapInviteEmail. The first admin is granted through OWNER_EMAIL now. Remove the operation from AuthMessagingService and AuthMessagingHandlers, its SendBootstrapInviteEmailInput type, the bootstrapInviteEmail override, and the default template builders. The product boundary in the README, AGENTS.md, and docs is three auth flows rather than four.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Final step of removing the admin bootstrap invite flow across the ecosystem. The Seamless Auth API dropped it (fells-code/seamless-auth-api#112, merged) and the Express adapter no longer requests that delivery (fells-code/seamless-auth-server#116), so nothing in the ecosystem calls
sendBootstrapInviteEmail. The first admin is granted throughOWNER_EMAILnow.Worth flagging: unlike the other repos in this sweep, this is not purely dead-code removal. This package is provider-agnostic and its stated product boundary was four auth flows, so removing the fourth narrows the boundary rather than just deleting something unreachable. That is reflected in the docs below.
Changes
@seamless-auth/messaging(core)src/transports.ts: removedsendBootstrapInviteEmailfromAuthMessagingServiceandAuthMessagingHandlers, plus thebootstrapInviteEmailoverride.src/messages.ts: removedSendBootstrapInviteEmailInput.src/service.ts: removed thesendBootstrapInviteEmailimplementation and thebuildBootstrapInviteText/buildBootstrapInviteHtmldefault template builders.Docs
README.md,packages/core/README.md,AGENTS.md,docs/architecture.md,docs/provider-model.md,docs/adopter-user-story.md,docs/roadmap.md: the flow list, launch matrix, contract snippets, and default-template list now describe three auth flows instead of four.Examples
examples/seamless-review-api/src/localSmoke.ts: dropped the bootstrap invite smoke call.examples/seamless-review-api/src/withAuthMessageAudit.ts: dropped thesendBootstrapInviteEmailwrapper and its audit-entry variants.No changeset: this repo does not use Changesets (no
.changeset/, and release goes throughrelease:verifyplus thepublish:*scripts). Versions are unchanged, so publishing is still a deliberate manual step.Breaking changes
AuthMessagingServiceandMessagingClientno longer exposesendBootstrapInviteEmail, andSendBootstrapInviteEmailInputis no longer exported. Callers of that method break at compile time. Adopters supplying it as a custom handler or an override should drop the entry.Verification
npm run release:verify(lint, format:check, typecheck, test) passes end to end:eslint .: cleanprettier . --check: all files match (packages/core/src/transports.tswas reformatted after the import list shrank to one line)tsc -b --pretty false: cleannode --test tests/providers.test.mjs: 7 passing, 0 failingThe
examples/directory is not part of thetsc -bproject references, so it is lint-covered but not typechecked by the repo's own tooling. An ad-hoctsc --noEmitover the example sources reports no errors from this change (withAuthMessageAudit.tsstill satisfiesMessagingClient); the one error it surfaces is a pre-existing SES mock inlocalSmoke.tsmissing$metadata, untouched here.