
    i`                       d dl mZ d dl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mZmZ ddl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mZm Z  ddl!m"Z"m#Z# ddl$m%Z%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/ ddgZ0 G d de      Z1 G d de      Z2 G d d      Z3 G d d      Z4 G d d      Z5 G d d      Z6y)    )annotationsN)Literal   )_legacy_response)BodyOmitQueryHeadersNotGivenSequenceNotStromit	not_given)path_templatemaybe_transformasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncPage	AsyncPageSyncConversationCursorPageAsyncConversationCursorPage)AsyncPaginatormake_request_options)permission_list_paramspermission_create_paramspermission_retrieve_params)PermissionListResponse)PermissionCreateResponse)PermissionDeleteResponse)PermissionRetrieveResponsePermissionsAsyncPermissionsc            
      >   e Zd ZdZedd       Zedd       Zddded	 	 	 	 	 	 	 	 	 	 	 	 	 ddZ e	j                  d      eeeeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd	       Zeeeeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd
Zddded	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)r$   IManage fine-tuning jobs to tailor a model to your specific training data.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
        )PermissionsWithRawResponseselfs    /Users/manta/Documents/Projects/TheRoad-I1/.venv/lib/python3.12/site-packages/openai/resources/fine_tuning/checkpoints/permissions.pywith_raw_responsezPermissions.with_raw_response"   s     *$//    c                    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
        ) PermissionsWithStreamingResponser+   s    r-   with_streaming_responsez#Permissions.with_streaming_response,   s     055r/   Nextra_headersextra_query
extra_bodytimeoutc                   |st        d|      | j                  t        d|      t        t           t        d|it        j                        t        ||||      t        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 B/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissionsfine_tuned_model_checkpointproject_idsr4   post)pagebodyoptionsmodelmethod)	
ValueError_get_api_listr   r   r!   r   r   PermissionCreateParamsr   r,   r>   r?   r5   r6   r7   r8   s          r-   createzPermissions.create5   s    : +\]x\{|  !!T,G 23 -!=?W?n?no(+Q[el + " 
 	
r/   IRetrieve is deprecated. Please swap to the paginated list method instead.afterlimitorder
project_idr5   r6   r7   r8   c                   |st        d|      | j                  t        d|      t        ||||	t	        ||||dt
        j                              t              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   r5   r6   r7   r8   queryrC   cast_to)rF   _getr   r   r   r   PermissionRetrieveParamsr#   
r,   r>   rM   rN   rO   rP   r5   r6   r7   r8   s
             r-   retrievezPermissions.retrieved   s    N +\]x\{|  yyT,G )+'%%!&!&!&&0	 /GG /)  
 	
r/   c                   |st        d|      | j                  t        d|      t        t           t        ||||	t        ||||dt        j                              t              S rR   r;   r<   r=   rS   rT   )rA   rC   rD   )	rF   rG   r   r   r    r   r   r   PermissionListParamsrZ   s
             r-   listzPermissions.list   s    L +\]x\{|  !!T,G ,,BC(+'%%!&!&!&&0	 +?? )+ " 
 	
r/   c          	         |st        d|      |st        d|      | j                  t        d||      t        ||||      t              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/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions/{permission_id}r>   permission_idr4   rV   rF   _deleter   r   r"   r,   re   r>   r5   r6   r7   r8   s          r-   deletezPermissions.delete   s{    6 +\]x\{|  [\i[lmnn||d,G+
 )+Q[el -  

 
	
r/   )returnr*   )rj   r2   )r>   strr?   SequenceNotStr[str]r5   Headers | Noner6   Query | Noner7   Body | Noner8   'float | httpx.Timeout | None | NotGivenrj   z"SyncPage[PermissionCreateResponse]r>   rk   rM   
str | OmitrN   
int | OmitrO   )Literal['ascending', 'descending'] | OmitrP   rr   r5   rm   r6   rn   r7   ro   r8   rp   rj   r#   )r>   rk   rM   rr   rN   rs   rO   rt   rP   rr   r5   rm   r6   rn   r7   ro   r8   rp   rj   z2SyncConversationCursorPage[PermissionListResponse]re   rk   r>   rk   r5   rm   r6   rn   r7   ro   r8   rp   rj   r"   __name__
__module____qualname____doc__r   r.   r3   r   rJ   typing_extensions
deprecatedr   r[   r_   ri    r/   r-   r$   r$      s   S0 0 6 6 )-$("&;D-
%(-
 )	-
 &-
 "-
  -
 9-
 
,-
^ "!!"mn
 ! ;?!% )-$("&;D?
%(?
 	?

 ?
 9?
 ?
 &?
 "?
  ?
 9?
 
$?
 o?
J ! ;?!% )-$("&;D@
%(@
 	@

 @
 9@
 @
 &@
 "@
  @
 9@
 
<@
R )-$("&;D+
+
 &)	+
 &+
 "+
  +
 9+
 
"+
r/   c            
      >   e Zd ZdZedd       Zedd       Zddded	 	 	 	 	 	 	 	 	 	 	 	 	 ddZ e	j                  d      eeeeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd	       Zeeeeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd
Zddded	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)r%   r'   c                    t        |       S r)   )AsyncPermissionsWithRawResponser+   s    r-   r.   z"AsyncPermissions.with_raw_response  s     /t44r/   c                    t        |       S r1   )%AsyncPermissionsWithStreamingResponser+   s    r-   r3   z(AsyncPermissions.with_streaming_response#  s     5T::r/   Nr4   c                   |st        d|      | j                  t        d|      t        t           t        d|it        j                        t        ||||      t        d      S r:   )	rF   rG   r   r   r!   r   r   rH   r   rI   s          r-   rJ   zAsyncPermissions.create,  s    : +\]x\{|  !!T,G 34 -!=?W?n?no(+Q[el + " 
 	
r/   rK   rL   c                  K   |st        d|      | j                  t        d|      t        ||||	t	        ||||dt
        j                         d{         t               d{   S 7 7 w)rR   r;   r<   r=   rS   NrT   rV   )rF   rX   r   r   r   r   rY   r#   rZ   s
             r-   r[   zAsyncPermissions.retrieve[  s     N +\]x\{|  YYT,G )+'%1!&!&!&&0	 /GG  /)  
 
 	

s$   AA5A1A5,A3-A53A5c                   |st        d|      | j                  t        d|      t        t           t        ||||	t        ||||dt        j                              t              S r]   )	rF   rG   r   r   r    r   r   r   r^   rZ   s
             r-   r_   zAsyncPermissions.list  s    L +\]x\{|  !!T,G --CD(+'%%!&!&!&&0	 +?? )+ " 
 	
r/   c          	        K   |st        d|      |st        d|      | j                  t        d||      t        ||||      t               d{   S 7 w)ra   r;   rb   rc   rd   r4   rV   Nrf   rh   s          r-   ri   zAsyncPermissions.delete  s     6 +\]x\{|  [\i[lmnn\\d,G+
 )+Q[el - " 

 

 
	
 

s   AAAA)rj   r   )rj   r   )r>   rk   r?   rl   r5   rm   r6   rn   r7   ro   r8   rp   rj   zMAsyncPaginator[PermissionCreateResponse, AsyncPage[PermissionCreateResponse]]rq   )r>   rk   rM   rr   rN   rs   rO   rt   rP   rr   r5   rm   r6   rn   r7   ro   r8   rp   rj   z[AsyncPaginator[PermissionListResponse, AsyncConversationCursorPage[PermissionListResponse]]ru   rv   r}   r/   r-   r%   r%     s   S5 5 ; ; )-$("&;D-
%(-
 )	-
 &-
 "-
  -
 9-
 
W-
^ "!!"mn
 ! ;?!% )-$("&;D?
%(?
 	?

 ?
 9?
 ?
 &?
 "?
  ?
 9?
 
$?
 o?
J ! ;?!% )-$("&;D@
%(@
 	@

 @
 9@
 @
 &@
 "@
  @
 9@
 
e@
R )-$("&;D+
+
 &)	+
 &+
 "+
  +
 9+
 
"+
r/   c                      e Zd ZddZy)r*   c                2   || _         t        j                  |j                        | _        t        j                  |j                        | _        t        j                  |j
                        | _        t        j                  |j                        | _        y N)_permissionsr   to_raw_response_wrapperrJ   r[   r_   ri   r,   permissionss     r-   __init__z#PermissionsWithRawResponse.__init__  s    '&>>
 44$$ 	
 %<<
	 '>>
r/   Nr   r$   rj   Nonerw   rx   ry   r   r}   r/   r-   r*   r*         
r/   r*   c                      e Zd ZddZy)r   c                2   || _         t        j                  |j                        | _        t        j                  |j                        | _        t        j                  |j
                        | _        t        j                  |j                        | _        y r   )r   r   async_to_raw_response_wrapperrJ   r[   r_   ri   r   s     r-   r   z(AsyncPermissionsWithRawResponse.__init__"  s    '&DD
 ::$$ 	
 %BB
	 'DD
r/   Nr   r%   rj   r   r   r}   r/   r-   r   r   !  r   r/   r   c                      e Zd ZddZy)r2   c                    || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        t        |j
                        | _        y r   )r   r   rJ   r[   r_   ri   r   s     r-   r   z)PermissionsWithStreamingResponse.__init__6  sg    '2
 )$$ 	
 1
	 3
r/   Nr   r   r}   r/   r-   r2   r2   5  r   r/   r2   c                      e Zd ZddZy)r   c                    || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        t        |j
                        | _        y r   )r   r   rJ   r[   r_   ri   r   s     r-   r   z.AsyncPermissionsWithStreamingResponse.__init__J  sg    '8
 /$$ 	
 7
	 9
r/   Nr   r   r}   r/   r-   r   r   I  r   r/   r   )7
__future__r   r{   r   httpx r   _typesr   r   r	   r
   r   r   r   r   _utilsr   r   r   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   r   r   _base_clientr   r   types.fine_tuning.checkpointsr   r   r   6types.fine_tuning.checkpoints.permission_list_responser    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*   r   r2   r   r}   r/   r-   <module>r      s    #  %  ! \ \ \ L L ' ; Z g g A 
 ^ a a e,
-t
/ t
nt
' t
n
 
(
 
(
 
(
 
r/   