o
    /wiB                     @  sH  d dl mZ d dl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 ddl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 m!Z!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z( ddgZ)G dd deZ*G dd deZ+G dd dZ,G dd dZ-G dd dZ.G dd dZ/dS )    )annotations)List)LiteralN   )_legacy_response)	NOT_GIVENBodyQueryHeadersNotGiven)maybe_transformasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncPage	AsyncPage)AsyncPaginatormake_request_options)permission_create_paramspermission_retrieve_params)PermissionCreateResponse)PermissionDeleteResponse)PermissionRetrieveResponsePermissionsAsyncPermissionsc                	   @  r   e Zd Zed(ddZed)ddZddded	d*ddZeeeedddedd+d"d#Zddded	d,d&d'Z	dS )-r   returnPermissionsWithRawResponsec                 C     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
        )r    self r%   q/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/openai/resources/fine_tuning/checkpoints/permissions.pywith_raw_response      zPermissions.with_raw_response PermissionsWithStreamingResponsec                 C  r!   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)   r#   r%   r%   r&   with_streaming_response%      z#Permissions.with_streaming_responseNextra_headersextra_query
extra_bodytimeoutfine_tuned_model_checkpointstrproject_ids	List[str]r.   Headers | Noner/   Query | Noner0   Body | Noner1   'float | httpx.Timeout | None | NotGiven"SyncPage[PermissionCreateResponse]c             
   C  L   |s	t d|| jd| dtt td|itjt||||dtddS a?  
        **NOTE:** Calling this endpoint requires an [admin API key](../admin-api-keys).

        This enables organization owners to share fine-tuned models with other projects
        in their organization.

        Args:
          project_ids: The project identifiers to grant access to.

          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
        JExpected a non-empty value for `fine_tuned_model_checkpoint` but received /fine_tuning/checkpoints//permissionsr4   r-   post)pagebodyoptionsmodelmethod)
ValueError_get_api_listr   r   r   r   PermissionCreateParamsr   r$   r2   r4   r.   r/   r0   r1   r%   r%   r&   create.      
zPermissions.createafterlimitorder
project_idr.   r/   r0   r1   rM   str | NotGivenrN   int | NotGivenrO   -Literal['ascending', 'descending'] | NotGivenrP   r   c          
      C  sJ   |s	t d|| jd| dt||||	t||||dtjdtdS )  
        **NOTE:** This endpoint requires an [admin API key](../admin-api-keys).

        Organization owners can use this endpoint to view all permissions for a
        fine-tuned model checkpoint.

        Args:
          after: Identifier for the last permission ID from the previous pagination request.

          limit: Number of permissions to retrieve.

          order: The order in which to retrieve permissions.

          project_id: The ID of the project to get permissions for.

          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
        r=   r>   r?   rM   rN   rO   rP   r.   r/   r0   r1   queryrC   cast_to)rF   _getr   r   r   PermissionRetrieveParamsr   
r$   r2   rM   rN   rO   rP   r.   r/   r0   r1   r%   r%   r&   retrieveZ   s,   &
zPermissions.retrievepermission_idr   c                C  sL   |s	t d||st d|| jd| d| t||||dtdS )  
        **NOTE:** This endpoint requires an [admin API key](../admin-api-keys).

        Organization owners can use this endpoint to delete a permission for a
        fine-tuned model checkpoint.

        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
        r=   <Expected a non-empty value for `permission_id` but received r>   /permissions/r-   rX   rF   _deleter   r   r$   r^   r2   r.   r/   r0   r1   r%   r%   r&   delete   s   zPermissions.delete)r   r    )r   r)   )r2   r3   r4   r5   r.   r6   r/   r7   r0   r8   r1   r9   r   r:   r2   r3   rM   rQ   rN   rR   rO   rS   rP   rQ   r.   r6   r/   r7   r0   r8   r1   r9   r   r   r^   r3   r2   r3   r.   r6   r/   r7   r0   r8   r1   r9   r   r   
__name__
__module____qualname__r   r'   r+   r   rJ   r]   re   r%   r%   r%   r&   r      0    	0Ec                	   @  r   )-r   r   AsyncPermissionsWithRawResponsec                 C  r!   r"   )rm   r#   r%   r%   r&   r'      r(   z"AsyncPermissions.with_raw_response%AsyncPermissionsWithStreamingResponsec                 C  r!   r*   )rn   r#   r%   r%   r&   r+      r,   z(AsyncPermissions.with_streaming_responseNr-   r2   r3   r4   r5   r.   r6   r/   r7   r0   r8   r1   r9   MAsyncPaginator[PermissionCreateResponse, AsyncPage[PermissionCreateResponse]]c             
   C  r;   r<   )rF   rG   r   r   r   r   rH   r   rI   r%   r%   r&   rJ      rK   zAsyncPermissions.createrL   rM   rQ   rN   rR   rO   rS   rP   r   c          
        sX   |s
t d|| jd| dt||||	t||||dtjI dH dtdI dH S )rT   r=   r>   r?   rU   NrV   rX   )rF   rZ   r   r   r   r[   r   r\   r%   r%   r&   r]     s.   &
zAsyncPermissions.retriever^   r   c                  sT   |s
t d||st d|| jd| d| t||||dtdI dH S )r_   r=   r`   r>   ra   r-   rX   Nrb   rd   r%   r%   r&   re   @  s   zAsyncPermissions.delete)r   rm   )r   rn   )r2   r3   r4   r5   r.   r6   r/   r7   r0   r8   r1   r9   r   ro   rf   rg   rh   r%   r%   r%   r&   r      rl   c                   @     e Zd ZdddZdS )	r    permissionsr   r   Nonec                 C  4   || _ t|j| _t|j| _t|j| _d S N)_permissionsr   to_raw_response_wrapperrJ   r]   re   r$   rq   r%   r%   r&   __init__k     
z#PermissionsWithRawResponse.__init__Nrq   r   r   rr   ri   rj   rk   rx   r%   r%   r%   r&   r    j      r    c                   @  rp   )	rm   rq   r   r   rr   c                 C  rs   rt   )ru   r   async_to_raw_response_wrapperrJ   r]   re   rw   r%   r%   r&   rx   z  ry   z(AsyncPermissionsWithRawResponse.__init__Nrq   r   r   rr   r{   r%   r%   r%   r&   rm   y  r|   rm   c                   @  rp   )	r)   rq   r   r   rr   c                 C  .   || _ t|j| _t|j| _t|j| _d S rt   )ru   r   rJ   r]   re   rw   r%   r%   r&   rx        
z)PermissionsWithStreamingResponse.__init__Nrz   r{   r%   r%   r%   r&   r)     r|   r)   c                   @  rp   )	rn   rq   r   r   rr   c                 C  r   rt   )ru   r   rJ   r]   re   rw   r%   r%   r&   rx     r   z.AsyncPermissionsWithStreamingResponse.__init__Nr~   r{   r%   r%   r%   r&   rn     r|   rn   )0
__future__r   typingr   typing_extensionsr   httpx r   _typesr   r   r	   r
   r   _utilsr   r   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   _base_clientr   r   types.fine_tuning.checkpointsr   r   8types.fine_tuning.checkpoints.permission_create_responser   8types.fine_tuning.checkpoints.permission_delete_responser   :types.fine_tuning.checkpoints.permission_retrieve_responser   __all__r   r   r    rm   r)   rn   r%   r%   r%   r&   <module>   s2    ) )