Content Codec
A content codec with a typed value (Ref Public surface, Host codecs). The send helpers run its steps before the send: encode, then fallback when the envelope has none, then shouldPush when the send has no explicit shouldPush option and the type is not a catalogue type. A step that throws fails the send with XmtpException.CodecEncodeFailed, and the SDK makes no publish attempt.