As above, plus a server->client request channel: `serverRequest(method,
params)` writes the request and blocks the current task until the client's
reply (the DuplexChannel correlates it on its read loop), returning the
result or throwing on error. clientCaps are the capabilities the client
declared at initialize, so clientSupports can gate sample/elicit.
serverStateless mirrors server.mode == ServerMode.stateless: when true,
server-initiated requests are refused (a stateless server has no per-peer
connection to carry the round-trip), exactly as on the HTTP transport.
As above, plus a server->client request channel: `serverRequest(method, params)` writes the request and blocks the current task until the client's reply (the DuplexChannel correlates it on its read loop), returning the result or throwing on error. clientCaps are the capabilities the client declared at initialize, so clientSupports can gate sample/elicit. serverStateless mirrors server.mode == ServerMode.stateless: when true, server-initiated requests are refused (a stateless server has no per-peer connection to carry the round-trip), exactly as on the HTTP transport.