The wrapper types implement the decorator pattern: they wrap an encoder or
decoder, keep the same interface, and add strategy-driven behavior. "Proxy"
implied delegation without modification, which is the opposite of what they do.
DecoderProxy -> DecoderDecorator
EncoderProxy -> EncoderDecorator
CoderProxy / CodingProxy -> CoderDecorator
Old names remain as deprecated typealiases so existing code keeps compiling.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EC1UUqq1j6CLcPQ6ugfphS