OptionalauthAuthentication wiring; omitted only by focused legacy tests.
OptionalcorsExact browser origins allowed to access the API; empty disables CORS.
OptionalgenerateServer-owned request ID generator. Injection supports deterministic behavior tests.
OptionalloggerFastify/Pino logger configuration or sink; tests default to quiet logging.
The application-layer use case the HTTP routes delegate to.
OptionalnowMonotonic clock used to calculate request durations.
OptionalsurfboardSurfboard webhook ingress wiring; present only when a webhook secret is configured.
Omitting it leaves the ingress route unregistered, so a deployment without Surfboard exposes no webhook endpoint. The route is signature-authenticated and sits outside the session scope, so it needs no other wiring here.
OptionaltrustExplicit trusted reverse-proxy addresses or CIDRs.
Dependencies required to construct the Fastify application.
The HTTP layer receives its collaborators through this interface instead of constructing them itself, so the API can be built with a real or a fake MessageService (integration and unit tests use the two sides of that boundary).