+
    ~j>                        ^ RI Ht ^ RIt^ RIt^ RIt^ RIHtHtHtH	t	 ^ RI
HtH
t
 ^ RIHtHtHtHt ^ RIt^ RIt^RIHtHtHtHtHtHt ^RIHt ^RIHtHt ^R	I H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t( ]! R
4      t)]R,,          t* ! R R4      t+R R lt,R R lt-]! RR7      R R l4       t.R R lt/R R lt0RR/R R llt1R R lt2R R lt3R  R! lt4R" R# lt5RR/R$ R% llt6R& R' lt7R( R) lt8]! RR7      R-R* R+ ll4       tR# ).    )annotationsN)AnyMappingTypeVarcast)datedatetime)Literalget_argsoverrideget_type_hints)is_listis_given	lru_cache
is_mappingis_iterableis_sequence)is_base64_file_input)
get_originis_typeddict)is_list_typeis_union_typeextract_type_argis_iterable_typeis_required_typeis_sequence_typeis_annotated_typestrip_annotated_type_Tc                  z    ] tR t^,t$ RtR]R&   R]R&   R]R&   R]R&   RRRRRRRR/R	 R
 llt]R R l4       tRt	R# )PropertyInfoa[  Metadata class to be used in Annotated types to provide information about a given type.

For example:

class MyParams(TypedDict):
    account_holder_name: Annotated[str, PropertyInfo(alias='accountHolderName')]

This means that {'account_holder_name': 'Robert'} will be transformed to {'accountHolderName': 'Robert'} before being sent to the API.

str | NonealiasPropertyFormat | Noneformatformat_templatediscriminatorNc          
     ,    V ^8  d   QhRRRRRRRRRR/# )	   r#   r"   r%   r$   r&   r'   returnNone )r%   s   "p/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/anthropic/_utils/_transform.py__annotate__PropertyInfo.__annotate__<   s>     + + + &	+
 $+ "+ 
+    c               	6    Wn         W n        W0n        W@n        R # N)r#   r%   r&   r'   )selfr#   r%   r&   r'   s   &$$$$r-   __init__PropertyInfo.__init__<   s     
.*r0   c                   V ^8  d   QhRR/# )r)   r*   strr,   )r%   s   "r-   r.   r/   J   s     h h# hr0   c           
     	    V P                   P                   R V P                   RV P                   RV P                   RV P
                   R2
# )z(alias='z
', format=z, format_template='z', discriminator='z'))	__class____name__r#   r%   r&   r'   )r3   s   &r-   __repr__PropertyInfo.__repr__I   sk    ..))*(4::,jUhimi}i}h~  Q  RV  Rd  Rd  Qe  eg  h  	hr0   )r#   r'   r%   r&   )
r:   
__module____qualname____firstlineno____doc____annotations__r4   r   r;   __static_attributes__r,   r0   r-   r!   r!   ,   sd     !!+ !+ )-	+
 '++ %)+ h hr0   r!   c               $    V ^8  d   QhRRRRRR/# r)   dataobjectexpected_typer*   z
Any | Noner,   )r%   s   "r-   r.   r.   N   s&     
* 
*

*
* 
*r0   c                $    V f   R# \        W4      # )zaWrapper over `transform()` that allows `None` to be passed.

See `transform()` for more details.
N)	transformrE   rG   s   &&r-   maybe_transformrK   N   s     |T))r0   c               $    V ^8  d   QhRRRRRR/# r)   rE   r   rG   rF   r*   r,   )r%   s   "r-   r.   r.   \   &     ! !
!! !r0   c                X    \        V \        \        V4      R7      p\        \        V4      # )  Transform dictionaries based off of type information from the given type, for example:

```py
class Params(TypedDict, total=False):
    card_id: Required[Annotated[str, PropertyInfo(alias="cardID")]]


transformed = transform({"card_id": "<my card ID>"}, Params)
# {'cardID': '<my card ID>'}
```

Any keys / data that does not have type information given will be included as is.

It should be noted that the transformations that this function does are not represented in the type system.

annotation)_transform_recursiver   typer   rE   rG   transformeds   && r-   rI   rI   \   s$    & 'tT=8QRKK  r0   i  )maxsizec                    V ^8  d   QhRRRR/# )r)   type_rT   r*   type | Noner,   )r%   s   "r-   r.   r.   t   s      t  r0   c                r    \        V 4      '       d   \        V 4      ^ ,          p \        V 4      '       d   V # R# )zIf the given type is an `Annotated` type then it is returned, if not `None` is returned.

This also unwraps the type when applicable, e.g. `Required[Annotated[T, ...]]`
N)r   r   r   )rY   s   &r-   _get_annotated_typer\   s   s0     "r0   c               $    V ^8  d   QhRRRRRR/# )r)   keyr7   rY   rT   r*   r,   )r%   s   "r-   r.   r.      s!      c $ 3 r0   c                    \        V4      pVf   V # \        V4      R,          pV F7  p\        V\        4      '       g   K  VP                  f   K+  VP                  u # 	  V # )zTransform the given `data` based on the annotations provided in `type_`.

Note: this function only looks at `Annotated` types that contain `PropertyInfo` metadata.
   NN)r\   r   
isinstancer!   r#   )r^   rY   annotated_typer   rR   s   &&   r-   _maybe_transform_keyrd      s_    
 )/N
 >*2.K!
j,//J4D4D4P### " Jr0   c                    V ^8  d   QhRRRR/# )r)   rR   rT   r*   boolr,   )r%   s   "r-   r.   r.      s     4 4T 4d 4r0   c                6    V \         8H  ;'       g
    V \        8H  # r2   )floatintrQ   s   &r-   _no_transform_neededrj      s    33*"33r0   
inner_typec               (    V ^8  d   QhRRRRRRRR/# r)   rE   rF   rR   rT   rk   rZ   r*   r,   )r%   s   "r-   r.   r.      8     O O
O O 	O
 Or0   c          
     b   ^RI Hp Vf   Tp\        V4      p\        V4      ;'       g    Tp\	        V4      '       d   \        V 4      '       d   \        W4      # V\        8X  dS   \        V 4      '       dB   \        V4      ^,          pV P                  4        UUu/ uF  w  rxV\        WR7      bK  	  upp# \        V4      '       d   \        V 4      '       gq   \        V4      '       d(   \        V 4      '       d   \        V \         4      '       d9   \#        V4      '       d   \%        V 4      '       d   \        V \         4      '       g   \        V \        4      '       d   \'        \(        V 4      # \+        V^ 4      p\-        V4      '       d   \        V 4      '       d   V # \/        V 4      # V  U	u. uF  p	\        WVR7      NK  	  up	# \1        V4      '       d"   \        V4       F  p
\        WV
R7      p K  	  V # \        V \2        P4                  4      '       d   V! V RR\7        V RR4      R7      # \9        V4      pVf   V # \        V4      R	,          pV FK  p\        V\:        4      '       g   K  VP<                  f   K+  \?        WP<                  VP@                  4      u # 	  V # u uppi u up	i 
ak  Transform the given data against the expected type.

Args:
    annotation: The direct type annotation given to the particular piece of data.
        This may or may not be wrapped in metadata types, e.g. `Required[T]`, `Annotated[T, ...]` etc

    inner_type: If applicable, this is the "inside" type. This is useful in certain cases where the outside type
        is a container type such as `List[T]`. In that case `inner_type` should be set to `T` so that each entry in
        the list can be transformed using the metadata from the container type.

        Defaults to the same value as the `annotation` argument.
)
model_dumpNrQ   )rR   rk   Tjson__api_exclude__)exclude_unsetmodeexcluder`   )!_compatrq   r   r   r   r   _transform_typeddictdictr   itemsrS   r   r   r   r   rb   r7   r   r   r   rF   r   rj   listr   pydantic	BaseModelgetattrr\   r!   r%   _format_datar&   rE   rR   rk   rq   stripped_typeorigin
items_typer^   valuedsubtyperc   r   s   &$$          r-   rS   rS      s6   $ %
(4M&77-FM""z$'7'7#D88~*T**m,Q/
Z^ZdZdZfgZfJC)%GGZfgg 
m	$	$]++D0A0A*UY[^J_J_]++D0A0A*UY[^J_J_ dD!!%%%mQ7

++
 t}}:_cd_cZ[$Q*U_cdd]##
  .G'PWXD /$**++$dQUWhjnIopp(4N >*2.K!
j,//J4E4E4Q&7&79S9STT " Kc h2 es   J&.J,c               (    V ^8  d   QhRRRRRRRR/# r)   rE   rF   format_PropertyFormatr&   r"   r*   r,   )r%   s   "r-   r.   r.      s)      v   X^ r0   c                   \        V \        \        34      '       d4   VR 8X  d   V P                  4       # VR8X  d   Ve   V P	                  V4      # VR8X  d   \        V 4      '       d   Rp\        V \        P                  4      '       d   V P                  4       pMV\        V \        P                  4      '       d7   V P                  4       p\        V\        4      '       d   VP                  4       p\        V\        4      '       g   \        RV  R\!        V4       24      h\"        P$                  ! V4      P'                  R4      # V # iso8601customNbase64zCould not read bytes from z; Received ascii)rb   r   r	   	isoformatstrftimer   pathlibPath
read_bytesioIOBasereadr7   encodebytesRuntimeErrorrT   r   	b64encodedecoderE   r   r&   binarys   &&& r-   r   r      s    $x())i>>##h?#>==11(3D99%)dGLL))__&Fbii((YY[F&#&&&%((!;D6TRX\N[\\'..w77Kr0   c               $    V ^8  d   QhRRRRRR/# r)   rE   zMapping[str, object]rG   rT   r*   r,   )r%   s   "r-   r.   r.     &      
 r0   c                    / p\        VR R7      pV P                  4        FL  w  rE\        V4      '       g   K  VP                  ! V4      pVf   WRV&   K4  \	        WVR7      V\        WF4      &   KN  	  V# )Tinclude_extrasrQ   )r   rz   r   getrS   rd   rE   rG   resultr   r^   r   rY   s   &&     r-   rx   rx     sk     !#F tDKjjl
 $=3K7KE7dF'34 # Mr0   c               $    V ^8  d   QhRRRRRR/# rD   r,   )r%   s   "r-   r.   r.     s&     
6 
6

6
6 
6r0   c                @   "   V f   R# \        W4      G Rj  xL
 #  L5i)zmWrapper over `async_transform()` that allows `None` to be passed.

See `async_transform()` for more details.
N)async_transformrJ   s   &&r-   async_maybe_transformr     s       | 5555s   c               $    V ^8  d   QhRRRRRR/# rM   r,   )r%   s   "r-   r.   r.   )  rN   r0   c                t   "   \        V \        \        V4      R7      G Rj  xL
 p\        \        V4      #  L5i)rP   rQ   N)_async_transform_recursiver   rT   r   rU   s   && r-   r   r   )  s0     & 34D}D]^^KK   _s   868c               (    V ^8  d   QhRRRRRRRR/# rm   r,   )r%   s   "r-   r.   r.   @  rn   r0   c          
       "   ^RI Hp Vf   Tp\        V4      p\        V4      ;'       g    Tp\	        V4      '       d%   \        V 4      '       d   \        W4      G Rj  xL
 # V\        8X  dS   \        V 4      '       dB   \        V4      ^,          pV P                  4        UUu/ uF  w  rxV\        WR7      bK  	  upp# \        V4      '       d   \        V 4      '       gq   \        V4      '       d(   \        V 4      '       d   \        V \         4      '       d9   \#        V4      '       d   \%        V 4      '       d   \        V \         4      '       g   \        V \        4      '       d   \'        \(        V 4      # \+        V^ 4      p\-        V4      '       d   \        V 4      '       d   V # \/        V 4      # V  U	u. uF  p	\1        WVR7      G Rj  xL
 NK  	  up	# \3        V4      '       d*   \        V4       F  p
\1        WV
R7      G Rj  xL
 p K  	  V # \        V \4        P6                  4      '       d   V! V RR\9        V RR4      R7      # \;        V4      pVf   V # \        V4      R	,          pV FS  p\        V\<        4      '       g   K  VP>                  f   K+  \A        WP>                  VPB                  4      G Rj  xL
 u # 	  V #  ELiu uppi  ELu up	i  L L5irp   )"rw   rq   r   r   r   r   _async_transform_typeddictry   r   rz   rS   r   r   r   r   rb   r7   r   r   r   rF   r   rj   r{   r   r   r|   r}   r~   r\   r!   r%   _async_format_datar&   r   s   &$$          r-   r   r   @  s^    $ %
(4M&77-FM""z$'7'7/DDD~*T**m,Q/
Z^ZdZdZfgZfJC)%GGZfgg 
m	$	$]++D0A0A*UY[^J_J_]++D0A0A*UY[^J_J_ dD!!%%%mQ7

++
 t}}:kopkofg0V`aaakopp]##
  .G3D\cddD /$**++$dQUWhjnIopp(4N >*2.K!
j,//J4E4E4Q+D2C2CZE_E_``` " Kk E h2 bp e asy   )K3KK AK%K=C;K8KK
K2KK	A<K
K#K=K>KKKKKc               (    V ^8  d   QhRRRRRRRR/# r   r,   )r%   s   "r-   r.   r.     s*      6 N U_ dj r0   c                  "   \        V \        \        34      '       d4   VR 8X  d   V P                  4       # VR8X  d   Ve   V P	                  V4      # VR8X  Ed   \        V 4      '       d   Rp\        V \        P                  4      '       d.   \        P                  ! V 4      P                  4       G Rj  xL
 pMV\        V \        P                  4      '       d7   V P                  4       p\        V\        4      '       d   VP                  4       p\        V\        4      '       g   \!        RV  R\#        V4       24      h\$        P&                  ! V4      P)                  R4      # V #  L5ir   )rb   r   r	   r   r   r   r   r   anyior   r   r   r   r7   r   r   r   rT   r   r   r   r   s   &&& r-   r   r     s    $x())i>>##h?#>==11(3D99%)dGLL)) ::d+6688Fbii((YY[F&#&&&%((!;D6TRX\N[\\'..w77K 9s   B2E)4E'5B3E)c               $    V ^8  d   QhRRRRRR/# r   r,   )r%   s   "r-   r.   r.     r   r0   c                   "   / p\        VR R7      pV P                  4        FT  w  rE\        V4      '       g   K  VP                  ! V4      pVf   WRV&   K4  \	        WVR7      G Rj  xL
 V\        WF4      &   KV  	  V#  L5i)Tr   NrQ   )r   rz   r   r   r   rd   r   s   &&     r-   r   r     sx      !#F tDKjjl
 $=3K=WX]=p7pF'34 # M 8qs   A#A>%A<&A>c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r)   objr   globalnszdict[str, Any] | NonelocalnszMapping[str, Any] | Noner   rf   r*   zdict[str, Any]r,   )r%   s   "r-   r.   r.     sA     c c	c#c &c 	c
 cr0   c                    \        WW#R 7      # ))r   r   r   )_get_type_hints)r   r   r   r   s   &&&&r-   r   r     s     37bbr0   )r   r   r   )NNF)9
__future__r   r   r   r   typingr   r   r   r   r	   r   typing_extensionsr
   r   r   r   r   r   r|   _utilsr   r   r   r   r   r   _filesr   rw   r   r   _typingr   r   r   r   r   r   r   r   r   r   r!   rK   rI   r\   rd   rj   rS   r   rx   r   r   r   r   r   r,   r0   r-   <module>r      s    " 	   . . # \ \    * -	 	 	 T] 67h hD
*!. 4 &4O #	Od6*
6!.O #	Od6* 4c cr0   