A message that flows through the RPC stream.
Used for observing and debugging protocol communication.
@type content() :: {:request, id :: any(), method :: String.t(), params :: any()} | {:response, id :: any(), result :: {:ok, any()} | {:error, ACP.Error.t()}} | {:notification, method :: String.t(), params :: any()}
@type direction() :: :incoming | :outgoing
@type t() :: %ACP.StreamMessage{direction: direction(), message: content()}