
    iW                       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 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! 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l0m1Z1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddgZ9 G d de%          Z: 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)deepcopy_with_paths)	BodyOmitQueryHeadersNoneTypeNotGiven	FileTypesomit	not_given)extract_filespath_templatemaybe_transform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/piyush/.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_response2   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dgg          }t          t          t          t
          t          f         |          dgg          }	|	rddi|pi }|                     t          d|          t          |t          j                  |	t          ||||d	d
i          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   bearer_authTrC   rD   rE   rF   security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""  XJ
 
 d73;#7>>xjQQQ 	] ,-B\}GZXZ\Mzz<<XXX '9'JKK(+'%'.   '  
 
 	
r7   rC   rD   rE   rF   r+   c                   |st          d|          |st          d|          |                     t          d||          t          ||||ddi          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   TrZ   r_   r`   ra   _getr   r&   r+   r4   rB   rG   rC   rD   rE   rF   s          r5   retrievezFiles.retrievex   s    0  	mk[gkklll 	caV]aabbbyyFUakrsss(+'%'.   )  

 

 
	
r7   afterlimitorderrC   rD   rE   rF   rs   rt   
int | Omitru   Literal['asc', 'desc'] | Omit SyncCursorPage[FileListResponse]c                  |st          d|          |                     t          d|          t          t                   t          ||||t          |||dt          j                  ddi          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   )rs   rt   ru   rY   T)rC   rD   rE   rF   queryr[   )pager_   model)	ra   _get_api_listr   r#   r)   r&   r   r'   FileListParams	r4   rG   rs   rt   ru   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          ||||ddi	          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   rj   Accept*/*rk   rl   rY   TrZ   rm   ra   _deleter   r&   r   rp   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(+'%'.     

 

 
	
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   rs   rJ   rt   rv   ru   rw   rC   rK   rD   rL   rE   rM   rF   rN   r/   rx   rB   rH   rG   rH   rC   rK   rD   rL   rE   rM   rF   rN   r/   r   __name__
__module____qualname__r   r6   r;   r?   r   r   rf   rq   r   r    r7   r5   r,   r,   #   s8       % % % _% * * * _* 0 0 0 _0 "&" )-$("&;D;
 ;
 ;
 ;
 ;
 ;
H )-$("&;D&
 &
 &
 &
 &
 &
X ! /3 )-$("&;D;
 ;
 ;
 ;
 ;
 ;
H )-$("&;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dgg          }t          t          t          t
          t          f         |          dgg          }	|	rddi|pi }|                     t          d|          t          |t          j                   d	{V |	t          ||||d
di          t                     d	{V S )rP   rQ   rR   rA   rS   rU   rV   rW   rX   NrY   TrZ   r\   )ra   r   r   r   r   rH   rb   rc   r   r   r(   rd   r&   r*   re   s
             r5   rf   zAsyncFiles.create  s9     @  	mk[gkklll""  XJ
 
 d73;#7>>xjQQQ 	] ,-B\}GZXZ\MZZ<<XXX,T3E3VWWWWWWWW(+'%'.   '   
 
 
 
 
 
 
 
 	
r7   rg   r+   c                  K   |st          d|          |st          d|          |                     t          d||          t          ||||ddi          t                     d	{V S )
ri   rQ   rj   rk   rl   rY   TrZ   rm   Nrn   rp   s          r5   rq   zAsyncFiles.retrieve\  s      0  	mk[gkklll 	caV]aabbbYYFUakrsss(+'%'.   )  

 

 

 

 

 

 

 

 
	
r7   rr   rs   rt   rv   ru   rw   CAsyncPaginator[FileListResponse, AsyncCursorPage[FileListResponse]]c                  |st          d|          |                     t          d|          t          t                   t          ||||t          |||dt          j                  ddi          t                    S rz   )	ra   r~   r   r$   r)   r&   r   r'   r   r   s	            r5   r   zAsyncFiles.list  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          ||||ddi	          t          
           d{V S )r   rQ   rj   r   r   rk   rl   rY   TrZ   rm   Nr   rp   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(+'%'.    " 

 

 

 

 

 

 

 

 
	
r7   )r/   r   )r/   r   )r/   r   r   r   )rG   rH   rs   rJ   rt   rv   ru   rw   rC   rK   rD   rL   rE   rM   rF   rN   r/   r   r   r   r   r7   r5   r-   r-     s8       * * * _* / / / _/ 5 5 5 _5 "&" )-$("&;D;
 ;
 ;
 ;
 ;
 ;
H )-$("&;D&
 &
 &
 &
 &
 &
X ! /3 )-$("&;D;
 ;
 ;
 ;
 ;
 ;
H )-$("&;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_wrapperrf   rq   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_wrapperrf   rq   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!   rf   rq   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"   rf   rq   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   r   r   _typesr   r   r   r   r   r   r   r   r   _utilsr   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   # " " " " "                 % % % % % %  ! ! ! ! ! !                + * * * * * a a a a a a a a a a a a a a a a a a a a a a [ [ [ [ [ [ [ [ [ [ [ [ ' ' ' ' ' ' ; ; ; ; ; ; ; ; 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
!a
 a
 a
 a
 a
O a
 a
 a
Ha
 a
 a
 a
 a
! a
 a
 a
H; ; ; ; ; ; ; ;,@ @ @ @ @ @ @ @,A A A A A A A A,F F F F F F F F F Fr7   