SenderInterface implementation scoped to a single inbound request. Tags
outbound notifications with relatedRequestId so the transport can route
them back to the originating session (used by streamable HTTP).
Per-envelope inbound dispatch contract shared by the Server and Client
runtimes. Each side owns one implementation and exposes it to a
transport's onMessage / onDrain listeners.