Support using SecretBytes type annotation with File() parameter, similar to
how bytes is supported. This enables secure handling of file content that
should not be logged or displayed.
Also add support for NewType wrappers around bytes and SecretBytes types
by unwrapping NewType in type detection functions.
- Add _unwrap_newtype() helper to handle NewType wrappers
- Update is_bytes_or_nonable_bytes_annotation() to check for SecretBytes
(both pydantic.types.SecretBytes and pydantic.v1.types.SecretBytes)
- Update is_bytes_field() in v1.py for Pydantic v1 compatibility
- Add comprehensive tests for SecretBytes and NewType with File()
Supports: SecretBytes, SecretBytes | None, List[SecretBytes],
NewType('X', bytes), NewType('X', SecretBytes)
Co-authored-by: Kamil Monicz <kamil@monicz.dev>