The client's terminal, as seen by the server. A typed view over the raw
handshake terminal map so server code reads t.cols / t.tty? instead of
digging through string-keyed maps. Mirrors the Ruby server's Terminal accessor.
Summary
Functions
Build from the raw hello.terminal map (string keys); nil-safe.
Does the client have a real terminal (any standard stream is a tty)?