
    iT                       d dl mZ d dlmZmZ d dlmZ d dlZddlm	Z	 ddl
mZmZmZmZmZmZ dd	lmZmZmZmZmZmZmZmZmZ dd
lmZmZmZmZm Z  ddl!m"Z" ddl#m$Z$m%Z% ddl&m'Z'm(Z( ddl)m*Z*m+Z+ ddl,m-Z-m.Z. ddl/m0Z0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 ddgZ8 G d de$          Z9 G d de%          Z: G d d          Z; G d d          Z< G d d          Z= G d d          Z>dS )     )annotations)Mappingcast)LiteralN   )_legacy_response   )ContentAsyncContentContentWithRawResponseAsyncContentWithRawResponseContentWithStreamingResponse!AsyncContentWithStreamingResponse)	BodyOmitQueryHeadersNoneTypeNotGiven	FileTypesomit	not_given)extract_filespath_templatemaybe_transformdeepcopy_minimalasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncCursorPageAsyncCursorPage)AsyncPaginatormake_request_options)file_list_paramsfile_create_params)FileListResponse)FileCreateResponse)FileRetrieveResponseFiles
AsyncFilesc                      e Zd Zed'd            Zed(d            Zed)d            Zeeddded	d*dZ	dddedd+dZ
eeedddedd,d$Zdddedd-d&ZdS ).r,   returnr
   c                *    t          | j                  S N)r
   _clientselfs    n/home/ubuntu/.hermes/hermes-agent/venv/lib/python3.11/site-packages/openai/resources/containers/files/files.pycontentzFiles.content#   s    t|$$$    FilesWithRawResponsec                     t          |           S a  
        This property can be used as a prefix for any HTTP method call to return
        the raw response object instead of the parsed content.

        For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
        )r8   r3   s    r5   with_raw_responsezFiles.with_raw_response'   s     $D)))r7   FilesWithStreamingResponsec                     t          |           S z
        An alternative to `.with_raw_response` that doesn't eagerly read the response body.

        For more information, see https://www.github.com/openai/openai-python#with_streaming_response
        )r<   r3   s    r5   with_streaming_responsezFiles.with_streaming_response1   s     *$///r7   Nfilefile_idextra_headersextra_query
extra_bodytimeoutcontainer_idstrrA   FileTypes | OmitrB   
str | OmitrC   Headers | NonerD   Query | NonerE   Body | NonerF   'float | httpx.Timeout | None | NotGivenr*   c                  |st          d|          t          ||d          }t          t          t          t
          t          f         |          dgg          }	|	rddi|pi }|                     t          d|          t          |t          j                  |	t          ||||	          t          
          S )<  
        Create a Container File

        You can send either a multipart/form-data request with the raw file content, or
        a JSON request with a file ID.

        Args:
          file: The File object (not file name) to be uploaded.

          file_id: Name of the file to create.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        ;Expected a non-empty value for `container_id` but received rA   rB   rA   pathsContent-Typemultipart/form-data /containers/{container_id}/filesrG   rC   rD   rE   rF   bodyfilesoptionscast_to)
ValueErrorr   r   r   r   rH   object_postr   r   r(   FileCreateParamsr&   r*   
r4   rG   rA   rB   rC   rD   rE   rF   r[   r\   s
             r5   createzFiles.create:   s    @  	mk[gkklll" 
 
 d73;#7>>xjQQQ 	] ,-B\}GZXZ\Mzz<<XXX '9'JKK(+Q[el   '  
 
 	
r7   rY   r+   c          	         |st          d|          |st          d|          |                     t          d||          t          ||||          t                    S )K  
        Retrieve Container File

        Args:
          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        rQ   6Expected a non-empty value for `file_id` but received */containers/{container_id}/files/{file_id}rG   rB   rY   r]   r^   r_   _getr   r&   r+   r4   rB   rG   rC   rD   rE   rF   s          r5   retrievezFiles.retriever   s    0  	mk[gkklll 	caV]aabbbyyFUakrsss(+Q[el   )  
 
 	
r7   afterlimitorderrC   rD   rE   rF   rp   rq   
int | Omitrr   Literal['asc', 'desc'] | Omit SyncCursorPage[FileListResponse]c                   |st          d|          |                     t          d|          t          t                   t          ||||t          |||dt          j                            t                    S a  List Container files

        Args:
          after: A cursor for use in pagination.

        `after` is an object ID that defines your place
              in the list. For instance, if you make a list request and receive 100 objects,
              ending with obj_foo, your subsequent call can include after=obj_foo in order to
              fetch the next page of the list.

          limit: A limit on the number of objects to be returned. Limit can range between 1 and
              100, and the default is 20.

          order: Sort order by the `created_at` timestamp of the objects. `asc` for ascending
              order and `desc` for descending order.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        rQ   rW   rX   )rp   rq   rr   )rC   rD   rE   rF   query)pager]   model)	r_   _get_api_listr   r#   r)   r&   r   r'   FileListParams	r4   rG   rp   rq   rr   rC   rD   rE   rF   s	            r5   listz
Files.list   s    L  	mk[gkklll!!<<XXX 01(+'%%!&!&!& 
 %3    ## " 
 
 	
r7   Nonec          	         |st          d|          |st          d|          ddi|pi }|                     t          d||          t          ||||          t                    S )	I  
        Delete Container File

        Args:
          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        rQ   rg   Accept*/*rh   ri   rY   rj   r_   _deleter   r&   r   rm   s          r5   deletezFiles.delete   s    0  	mk[gkklll 	caV]aabbb!5B]-@bB||FUakrsss(+Q[el     
 
 	
r7   )r/   r
   )r/   r8   )r/   r<   rG   rH   rA   rI   rB   rJ   rC   rK   rD   rL   rE   rM   rF   rN   r/   r*   rB   rH   rG   rH   rC   rK   rD   rL   rE   rM   rF   rN   r/   r+   )rG   rH   rp   rJ   rq   rs   rr   rt   rC   rK   rD   rL   rE   rM   rF   rN   r/   ru   rB   rH   rG   rH   rC   rK   rD   rL   rE   rM   rF   rN   r/   r   __name__
__module____qualname__r   r6   r;   r?   r   r   rd   rn   r~   r    r7   r5   r,   r,   "   s8       % % % _% * * * _* 0 0 0 _0 "&" )-$("&;D6
 6
 6
 6
 6
 6
~ )-$("&;D"
 "
 "
 "
 "
 "
P ! /3 )-$("&;D:
 :
 :
 :
 :
 :
F )-$("&;D#
 #
 #
 #
 #
 #
 #
 #
r7   c                      e Zd Zed'd            Zed(d            Zed)d            Zeeddded	d*dZ	dddedd+dZ
eeedddedd,d$Zdddedd-d&ZdS ).r-   r/   r   c                *    t          | j                  S r1   )r   r2   r3   s    r5   r6   zAsyncFiles.content   s    DL)))r7   AsyncFilesWithRawResponsec                     t          |           S r:   )r   r3   s    r5   r;   zAsyncFiles.with_raw_response   s     )...r7   AsyncFilesWithStreamingResponsec                     t          |           S r>   )r   r3   s    r5   r?   z"AsyncFiles.with_streaming_response  s     /t444r7   Nr@   rG   rH   rA   rI   rB   rJ   rC   rK   rD   rL   rE   rM   rF   rN   r*   c                 K   |st          d|          t          ||d          }t          t          t          t
          t          f         |          dgg          }	|	rddi|pi }|                     t          d|          t          |t          j                   d	{V |	t          ||||
          t                     d	{V S )rP   rQ   rR   rA   rS   rU   rV   rW   rX   NrY   rZ   )r_   r   r   r   r   rH   r`   ra   r   r   r(   rb   r&   r*   rc   s
             r5   rd   zAsyncFiles.create  s'     @  	mk[gkklll" 
 
 d73;#7>>xjQQQ 	] ,-B\}GZXZ\MZZ<<XXX,T3E3VWWWWWWWW(+Q[el   '   
 
 
 
 
 
 
 
 	
r7   rY   r+   c          	        K   |st          d|          |st          d|          |                     t          d||          t          ||||          t                     d{V S )rf   rQ   rg   rh   ri   rY   rj   Nrk   rm   s          r5   rn   zAsyncFiles.retrieveH  s      0  	mk[gkklll 	caV]aabbbYYFUakrsss(+Q[el   )  
 
 
 
 
 
 
 
 	
r7   ro   rp   rq   rs   rr   rt   CAsyncPaginator[FileListResponse, AsyncCursorPage[FileListResponse]]c                   |st          d|          |                     t          d|          t          t                   t          ||||t          |||dt          j                            t                    S rw   )	r_   r{   r   r$   r)   r&   r   r'   r|   r}   s	            r5   r~   zAsyncFiles.listl  s    L  	mk[gkklll!!<<XXX !12(+'%%!&!&!& 
 %3    ## " 
 
 	
r7   r   c          	        K   |st          d|          |st          d|          ddi|pi }|                     t          d||          t          ||||          t                     d	{V S )
r   rQ   rg   r   r   rh   ri   rY   rj   Nr   rm   s          r5   r   zAsyncFiles.delete  s      0  	mk[gkklll 	caV]aabbb!5B]-@bB\\FUakrsss(+Q[el    " 
 
 
 
 
 
 
 
 	
r7   )r/   r   )r/   r   )r/   r   r   r   )rG   rH   rp   rJ   rq   rs   rr   rt   rC   rK   rD   rL   rE   rM   rF   rN   r/   r   r   r   r   r7   r5   r-   r-      s8       * * * _* / / / _/ 5 5 5 _5 "&" )-$("&;D6
 6
 6
 6
 6
 6
~ )-$("&;D"
 "
 "
 "
 "
 "
P ! /3 )-$("&;D:
 :
 :
 :
 :
 :
F )-$("&;D#
 #
 #
 #
 #
 #
 #
 #
r7   c                  .    e Zd Zd	dZed
d            ZdS )r8   r\   r,   r/   r   c                   || _         t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        d S r1   )_filesr   to_raw_response_wrapperrd   rn   r~   r   r4   r\   s     r5   __init__zFilesWithRawResponse.__init__  sw    &>L
 
 )@N
 
 %<J
 
	 '>L
 
r7   r   c                4    t          | j        j                  S r1   )r   r   r6   r3   s    r5   r6   zFilesWithRawResponse.content  s    %dk&9:::r7   Nr\   r,   r/   r   )r/   r   r   r   r   r   r   r6   r   r7   r5   r8   r8     sH        
 
 
 
  ; ; ; _; ; ;r7   r8   c                  .    e Zd Zd	dZed
d            ZdS )r   r\   r-   r/   r   c                   || _         t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        d S r1   )r   r   async_to_raw_response_wrapperrd   rn   r~   r   r   s     r5   r   z"AsyncFilesWithRawResponse.__init__  sw    &DL
 
 )FN
 
 %BJ
 
	 'DL
 
r7   r   c                4    t          | j        j                  S r1   )r   r   r6   r3   s    r5   r6   z!AsyncFilesWithRawResponse.content  s    *4;+>???r7   Nr\   r-   r/   r   )r/   r   r   r   r7   r5   r   r     sN        
 
 
 
  @ @ @ _@ @ @r7   r   c                  .    e Zd Zd	dZed
d            ZdS )r<   r\   r,   r/   r   c                    || _         t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        d S r1   )r   r!   rd   rn   r~   r   r   s     r5   r   z#FilesWithStreamingResponse.__init__  sk    2L
 
 5N
 
 1J
 
	 3L
 
r7   r   c                4    t          | j        j                  S r1   )r   r   r6   r3   s    r5   r6   z"FilesWithStreamingResponse.content  s    +DK,?@@@r7   Nr   )r/   r   r   r   r7   r5   r<   r<     sN        
 
 
 
  A A A _A A Ar7   r<   c                  .    e Zd Zd	dZed
d            ZdS )r   r\   r-   r/   r   c                    || _         t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        d S r1   )r   r"   rd   rn   r~   r   r   s     r5   r   z(AsyncFilesWithStreamingResponse.__init__  sk    8L
 
 ;N
 
 7J
 
	 9L
 
r7   r   c                4    t          | j        j                  S r1   )r   r   r6   r3   s    r5   r6   z'AsyncFilesWithStreamingResponse.content!  s    01DEEEr7   Nr   )r/   r   r   r   r7   r5   r   r     sN        
 
 
 
  F F F _F F Fr7   r   )?
__future__r   typingr   r   typing_extensionsr   httpx r   r6   r
   r   r   r   r   r   _typesr   r   r   r   r   r   r   r   r   _utilsr   r   r   r   r   _compatr   	_resourcer   r    	_responser!   r"   
paginationr#   r$   _base_clientr%   r&   types.containersr'   r(   #types.containers.file_list_responser)   %types.containers.file_create_responser*   'types.containers.file_retrieve_responser+   __all__r,   r-   r8   r   r<   r   r   r7   r5   <module>r      s   # " " " " "                 % % % % % %  ! ! ! ! ! !                b a a a a a a a a a a a a a a a a a a a a a m m m m m m m m m m m m m m ' ' ' ' ' ' ; ; ; ; ; ; ; ; Z Z Z Z Z Z Z Z : : : : : : : : A A A A A A A A E E E E E E E E D D D D D D H H H H H H L L L L L LL
!S
 S
 S
 S
 S
O S
 S
 S
lS
 S
 S
 S
 S
! S
 S
 S
l; ; ; ; ; ; ; ;,@ @ @ @ @ @ @ @,A A A A A A A A,F F F F F F F F F Fr7   