Parser for the server-sent event framing the Bowline runtime writes.
@type event() :: {:message, String.t()} | {:error, String.t()} | :done
@spec parse(String.t(), String.t()) :: {[event()], String.t()}