+
    ~j                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIHtHtHt ^ RI	H
t
Ht ^ RIt^RIHtHtHtHtHtHtHt ^RIHtHtHtHtHt ]
! R4      tR R	 ltR
 R ltRR/R R llt]R R l4       t]R R l4       tR R ltR R lt R R lt!]R R l4       t"]R R l4       t"R R lt"R R  lt#R! R" lt$R# R$ lt%R% R& lt&R# )'    )annotationsN)Sequencecastoverload)TypeVar	TypeGuard)	FileTypesFileContentRequestFilesHttpxFileTypesBase64FileInputHttpxFileContentHttpxRequestFiles)is_list
is_mapping
is_tuple_tis_mapping_tis_sequence_t_Tc                    V ^8  d   QhRRRR/# )   objobjectreturnzTypeGuard[Base64FileInput] )formats   "b/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/openai/_files.py__annotate__r      s     F Ff F)C F    c                z    \        V \        P                  4      ;'       g    \        V \        P                  4      # N)
isinstanceioIOBaseosPathLiker   s   &r   is_base64_file_inputr(      s&    c299%EEC)EEr   c                    V ^8  d   QhRRRR/# )r   r   r   r   zTypeGuard[FileContent]r   )r   s   "r   r   r      s       $: r   c                    \        V \        4      ;'       gU    \        V \        4      ;'       g=    \        V \        P                  4      ;'       g    \        V \
        P                  4      # r!   )r"   bytestupler#   r$   r%   r&   r'   s   &r   is_file_contentr-      sK    3vv*S%"8vvJsBII<VvvZdehjljujuZvr   keyc               $    V ^8  d   QhRRRRRR/# )r   r   r   r.   z
str | Noner   Noner   )r   s   "r   r   r   #   s!       
 d r   c                   \        V 4      '       g-   Ve   RV R2MRV : R2p\        V R\        V 4       R24      R hR # )NzExpected entry at ``zExpected file input `zF to be bytes, an io.IOBase instance, PathLike or a tuple but received zL instead. See https://github.com/openai/openai-python/tree/main#file-uploads)r-   RuntimeErrortype)r   r.   prefixs   &$ r   assert_is_file_contentr6   #   se    314&se1-H]^a]ddeFfh\]abe]f\g  ht  u
	  r   c                    V ^8  d   QhRRRR/# r   filesr0   r   r   )r   s   "r   r   r   ,   s     , ,$ ,4 ,r   c                    R # r!   r   r9   s   &r   to_httpx_filesr<   +   s    ),r   c                    V ^8  d   QhRRRR/# r   r9   r   r   r   r   )r   s   "r   r   r   0   s     A A, A+< Ar   c                    R # r!   r   r;   s   &r   r<   r<   /   s    >Ar   c                    V ^8  d   QhRRRR/# r   r9   zRequestFiles | Noner   zHttpxRequestFiles | Noner   )r   s   "r   r   r   3   s      - 2J r   c                <   V f   R # \        V 4      '       d0   V P                  4        UUu/ uF  w  rV\        V4      bK  	  p ppV # \        V 4      '       d#   V  UUu. uF  w  rV\        V4      3NK  	  p ppV # \	        R\        V 4       R24      hu uppi u uppi NzUnexpected file type input z, expected mapping or sequence)r   items_transform_filer   	TypeErrorr4   r9   r.   files   &  r   r<   r<   3   s    }E=B[[]K]	od++]K L 
u		?DEu)##t,-uE L 5d5k]B`abb	 LEs   BBc                    V ^8  d   QhRRRR/# r   rH   r	   r   r   r   )r   s   "r   r   r   A   s     \ \) \ \r   c                N   \        V 4      '       dU   \        V \        P                  4      '       d3   \        P
                  ! V 4      pVP                  VP                  4       3# V # \        V 4      '       d&   V ^ ,          \        V ^,          4      .V R,          O5# \        R4      h)r   r   NNCExpected file types input to be a FileContent type or to be a tuple)r-   r"   r%   r&   pathlibPathname
read_bytesr   read_file_contentrF   rH   paths   & r   rE   rE   A   s    tdBKK((<<%DIIt011$Q*473?d2h??
Y
[[r   c                    V ^8  d   QhRRRR/# r   rH   r
   r   r   r   )r   s   "r   r   r   O   s      K ,< r   c                    \        V \        P                  4      '       d%   \        P                  ! V 4      P                  4       # V # r!   )r"   r%   r&   rN   rO   rQ   rH   s   &r   rR   rR   O   s0    $$$||D!,,..Kr   c                    V ^8  d   QhRRRR/# r8   r   )r   s   "r   r   r   V   s     8 8d 8t 8r   c                   "   R # 5ir!   r   r;   s   &r   async_to_httpx_filesr[   U   s     58   c                    V ^8  d   QhRRRR/# r>   r   )r   s   "r   r   r   Z   s     M Ml M7H Mr   c                   "   R # 5ir!   r   r;   s   &r   r[   r[   Y   s     JMr\   c                    V ^8  d   QhRRRR/# rA   r   )r   s   "r   r   r   ]   s      &9 >V r   c                l  "   V f   R # \        V 4      '       d8   V P                  4        UUu/ uF  w  rT\        V4      G R j  xL
 bK  	  p ppV # \        V 4      '       d+   V  UUu. uF  w  rT\        V4      G R j  xL
 3NK  	  p ppV # \	        R\        V 4       R24      h L`u uppi  L.u uppi 5irC   )r   rD   _async_transform_filer   rF   r4   rG   s   &  r   r[   r[   ]   s     }EINWIC1$777W L 
u		KPQ5ic#248895Q L 5d5k]B`abb	 8W8QsL   +B4B&B$B&B4'B.=B,>	B.B4$B&&B4,B..B4c                    V ^8  d   QhRRRR/# rJ   r   )r   s   "r   r   r   k   s     \ \i \N \r   c                ~  "   \        V 4      '       d]   \        V \        P                  4      '       d;   \        P
                  ! V 4      pVP                  VP                  4       G R j  xL
 3# V # \        V 4      '       d.   V ^ ,          \        V ^,          4      G R j  xL
 .V R,          O5# \        R4      h LP L5i)NrL   rM   )r-   r"   r%   r&   anyiorO   rP   rQ   r   async_read_file_contentrF   rS   s   & r   ra   ra   k   s     tdBKK((::d#DIIT__%6677$Q6tAw??K$r(KK
Y
[[  7
 @s$   A&B=(B9)5B=B;B=;B=c                    V ^8  d   QhRRRR/# rV   r   )r   s   "r   r   r   y   s       8H r   c                   "   \        V \        P                  4      '       d-   \        P                  ! V 4      P                  4       G R j  xL
 # V #  L5ir!   )r"   r%   r&   rd   rO   rQ   rX   s   &r   re   re   y   s;     $$$ZZ%00222K 3s   AA
AAc               $    V ^8  d   QhRRRRRR/# )r   itemr   pathsSequence[Sequence[str]]r   r   )r   s   "r   r   r      s"     0 0b 0)@ 0R 0r   c                    \        W^ 4      # )a  Copy only the containers along the given paths.

Used to guard against mutation by extract_files without copying the entire structure.
Only dicts and lists that lie on a path are copied; everything else
is returned by reference.

For example, given paths=[["foo", "files", "file"]] and the structure:
    {
        "foo": {
            "bar": {"baz": {}},
            "files": {"file": <content>}
        }
    }
The root dict, "foo", and "files" are copied (they lie on the path).
"bar" and "baz" are returned by reference (off the path).
)_deepcopy_with_paths)ri   rj   s   &&r   deepcopy_with_pathsrn      s    "  Q//r   c               (    V ^8  d   QhRRRRRRRR/# )r   ri   r   rj   rk   indexintr   r   )r   s   "r   r   r      s*      r *A # RT r   c                   V'       g   V # \        V 4      '       d   / pV F<  pV\        V4      8  g   K  VP                  WB,          . 4      P                  V4       K>  	  V'       g   V # \	        V 4      pVP                  4        F(  w  rgWe9   g   K  \        WV,          Wr^,           4      WV&   K*  	  \        \        V4      # \        V 4      '       d{   V Uu. uF%  qB\        V4      8  g   K  WB,          R8X  g   K#  VNK'  	  ppV'       g   \        \        V 4      # \        \        V  U	u. uF  p	\        WV^,           4      NK  	  up	4      # V # u upi u up	i )   z<array>)
r   len
setdefaultappenddictrD   rm   r   r   r   )
ri   rj   rp   key_to_pathsrT   resultr.   subpathsarray_pathsentrys
   &&&       r   rm   rm      s    $79Ds4y ''R8??E 
 Kd)//1MC}26;RS)T 2 Bt}}(-`T1Btt{V_G_tt` D>!BZ^_Z^QV-e%!)LZ^_``K a
 `s   E,
E;E)E
)'
__future__r   r#   r%   rN   typingr   r   r   typing_extensionsr   r   rd   _typesr	   r
   r   r   r   r   r   _utilsr   r   r   r   r   r   r(   r-   r6   r<   rE   rR   r[   ra   re   rn   rm   r   r   r   <module>r      s    " 	 	  + + 0    Q PT]FT  
 , 
 , 
 A 
 A\ 
 8 
 8 
 M 
 M\0(r   