void run_jsonl(Session &s, std::istream &in, std::ostream &out)
constexpr std::size_t kMaxRequestBytes
a line longer than this is refused (the rest of the line is skipped)
void run_mcp(Session &s, std::istream &in, std::ostream &out)
Return when the input ends. Never throw for a bad request: it is answered.
A board session an agent can drive (design doc 19, milestone M18).