o
    iCY                     @  s  d dl mZ d dlmZ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 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/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5 ddl6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z< ddl=m>Z> ddgZ?G dd de)Z@G dd de*ZAG dd dZBG dd dZCG dd dZDG dd dZEdS )     )annotations)UnionMappingcast)LiteralN   )_legacy_response)skill_list_paramsskill_create_paramsskill_update_params   )ContentAsyncContentContentWithRawResponseAsyncContentWithRawResponseContentWithStreamingResponse!AsyncContentWithStreamingResponse)	BodyOmitQueryHeadersNotGiven	FileTypesSequenceNotStr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)Skill)AsyncPaginatormake_request_options)VersionsAsyncVersionsVersionsWithRawResponseAsyncVersionsWithRawResponseVersionsWithStreamingResponse"AsyncVersionsWithStreamingResponse)DeletedSkillSkillsAsyncSkillsc                   @     e Zd Zed2ddZed3ddZed4d	d
Zed5ddZeddde	dd6ddZ
ddde	dd7d d!Zddde	dd8d#d$Zeeeddde	d%d9d-d.Zddde	dd:d0d1ZdS );r2   returnr   c                 C  
   t | jS N)r   _clientself r;   X/home/kim/smarthome/.venv/lib/python3.10/site-packages/openai/resources/skills/skills.pycontent4      
zSkills.contentr+   c                 C  r6   r7   )r+   r8   r9   r;   r;   r<   versions8   r>   zSkills.versionsSkillsWithRawResponsec                 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@   r9   r;   r;   r<   with_raw_response<      zSkills.with_raw_responseSkillsWithStreamingResponsec                 C  rA   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
        )rE   r9   r;   r;   r<   with_streaming_responseF      zSkills.with_streaming_responseNfilesextra_headersextra_query
extra_bodytimeoutrJ   2Union[SequenceNotStr[FileTypes], FileTypes] | OmitrK   Headers | NonerL   Query | NonerM   Body | NonerN   'float | httpx.Timeout | None | NotGivenr(   c             
   C  sl   t d|i}tttttf |ddgdggd}|r"ddi|p i }| jdt|tj	|t
||||dtdS )	  
        Create a new skill.

        Args:
          files: Skill files to upload (directory upload) or a single zip file.

          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
        rJ   <array>pathsContent-Typemultipart/form-data/skillsrK   rL   rM   rN   bodyrJ   optionscast_to)r   r   r   r   strobject_postr   r
   SkillCreateParamsr*   r(   r:   rJ   rK   rL   rM   rN   r]   Zextracted_filesr;   r;   r<   createO   s   $
zSkills.creater[   skill_idr`   c                C  6   |s	t d|| jtd|dt||||dtdS )J  
        Get a skill by its ID.

        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
        7Expected a non-empty value for `skill_id` but received /skills/{skill_id}rf   r[   r^   r_   
ValueError_getr   r*   r(   r:   rf   rK   rL   rM   rN   r;   r;   r<   retrievey      
zSkills.retrievedefault_versionc             	   C  sD   |s	t d|| jtd|dtd|itjt||||dtdS )  
        Update the default version pointer for a skill.

        Args:
          default_version: The skill version number to set as default.

          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
        ri   rj   rk   rs   r[   r]   r^   r_   )rn   rb   r   r   r   SkillUpdateParamsr*   r(   r:   rf   rs   rK   rL   rM   rN   r;   r;   r<   update   s   
zSkills.updateafterlimitorderrK   rL   rM   rN   rz   
str | Omitr{   
int | Omitr|   Literal['asc', 'desc'] | OmitSyncCursorPage[Skill]c                C  4   | j dtt t||||t|||dtjdtdS a`  
        List all skills for the current project.

        Args:
          after: Identifier for the last item from the previous pagination request

          limit: Number of items to retrieve

          order: Sort order of results by timestamp. Use `asc` for ascending order or `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
        rZ   )rz   r{   r|   )rK   rL   rM   rN   query)pager^   model)_get_api_listr&   r(   r*   r   r	   SkillListParamsr:   rz   r{   r|   rK   rL   rM   rN   r;   r;   r<   list   $    zSkills.listr1   c                C  rg   )M  
        Delete a skill by its ID.

        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
        ri   rj   rk   r[   rl   rn   _deleter   r*   r1   rp   r;   r;   r<   delete   rr   zSkills.delete)r5   r   )r5   r+   )r5   r@   )r5   rE   rJ   rO   rK   rP   rL   rQ   rM   rR   rN   rS   r5   r(   rf   r`   rK   rP   rL   rQ   rM   rR   rN   rS   r5   r(   rf   r`   rs   r`   rK   rP   rL   rQ   rM   rR   rN   rS   r5   r(   )rz   r}   r{   r~   r|   r   rK   rP   rL   rQ   rM   rR   rN   rS   r5   r   rf   r`   rK   rP   rL   rQ   rM   rR   rN   rS   r5   r1   __name__
__module____qualname__r!   r=   r?   rC   rG   r   r   re   rq   rx   r   r   r;   r;   r;   r<   r2   3   sL    	0((:c                   @  r4   );r3   r5   r   c                 C  r6   r7   )r   r8   r9   r;   r;   r<   r=     r>   zAsyncSkills.contentr,   c                 C  r6   r7   )r,   r8   r9   r;   r;   r<   r?     r>   zAsyncSkills.versionsAsyncSkillsWithRawResponsec                 C  rA   rB   )r   r9   r;   r;   r<   rC     rD   zAsyncSkills.with_raw_response AsyncSkillsWithStreamingResponsec                 C  rA   rF   )r   r9   r;   r;   r<   rG   (  rH   z#AsyncSkills.with_streaming_responseNrI   rJ   rO   rK   rP   rL   rQ   rM   rR   rN   rS   r(   c             
     sz   t d|i}tttttf |ddgdggd}|r#ddi|p!i }| jdt|tj	I dH |t
||||dtd	I dH S )
rT   rJ   rU   rV   rX   rY   rZ   Nr[   r\   )r   r   r   r   r`   ra   rb   r    r
   rc   r*   r(   rd   r;   r;   r<   re   1  s   $zAsyncSkills.creater[   rf   r`   c                  >   |s
t d|| jtd|dt||||dtdI dH S )rh   ri   rj   rk   r[   rl   Nrm   rp   r;   r;   r<   rq   [     
zAsyncSkills.retrievers   c             	     sR   |s
t d|| jtd|dtd|itjI dH t||||dtdI dH S )rt   ri   rj   rk   rs   Nr[   ru   )rn   rb   r   r    r   rv   r*   r(   rw   r;   r;   r<   rx   |  s   

zAsyncSkills.updatery   rz   r}   r{   r~   r|   r   -AsyncPaginator[Skill, AsyncCursorPage[Skill]]c                C  r   r   )r   r'   r(   r*   r   r	   r   r   r;   r;   r<   r     r   zAsyncSkills.listr1   c                  r   )r   ri   rj   rk   r[   rl   Nr   rp   r;   r;   r<   r     r   zAsyncSkills.delete)r5   r   )r5   r,   )r5   r   )r5   r   r   r   r   )rz   r}   r{   r~   r|   r   rK   rP   rL   rQ   rM   rR   rN   rS   r5   r   r   r   r;   r;   r;   r<   r3     sL    	0(*:c                   @  2   e Zd ZdddZeddd	ZedddZdS )r@   skillsr2   r5   Nonec                 C  P   || _ t|j| _t|j| _t|j| _t|j| _t|j| _d S r7   )_skillsr   Zto_raw_response_wrapperre   rq   rx   r   r   r:   r   r;   r;   r<   __init__      
zSkillsWithRawResponse.__init__r   c                 C     t | jjS r7   )r   r   r=   r9   r;   r;   r<   r=        zSkillsWithRawResponse.contentr-   c                 C  r   r7   )r-   r   r?   r9   r;   r;   r<   r?     r   zSkillsWithRawResponse.versionsNr   r2   r5   r   )r5   r   )r5   r-   r   r   r   r   r!   r=   r?   r;   r;   r;   r<   r@         
r@   c                   @  r   )r   r   r3   r5   r   c                 C  r   r7   )r   r   Zasync_to_raw_response_wrapperre   rq   rx   r   r   r   r;   r;   r<   r     r   z#AsyncSkillsWithRawResponse.__init__r   c                 C  r   r7   )r   r   r=   r9   r;   r;   r<   r=   *  r   z"AsyncSkillsWithRawResponse.contentr.   c                 C  r   r7   )r.   r   r?   r9   r;   r;   r<   r?   .  r   z#AsyncSkillsWithRawResponse.versionsNr   r3   r5   r   )r5   r   )r5   r.   r   r;   r;   r;   r<   r     r   r   c                   @  r   )rE   r   r2   r5   r   c                 C  F   || _ t|j| _t|j| _t|j| _t|j| _t|j| _d S r7   )r   r$   re   rq   rx   r   r   r   r;   r;   r<   r   4      
z$SkillsWithStreamingResponse.__init__r   c                 C  r   r7   )r   r   r=   r9   r;   r;   r<   r=   G  r   z#SkillsWithStreamingResponse.contentr/   c                 C  r   r7   )r/   r   r?   r9   r;   r;   r<   r?   K  r   z$SkillsWithStreamingResponse.versionsNr   )r5   r   )r5   r/   r   r;   r;   r;   r<   rE   3  r   rE   c                   @  r   )r   r   r3   r5   r   c                 C  r   r7   )r   r%   re   rq   rx   r   r   r   r;   r;   r<   r   Q  r   z)AsyncSkillsWithStreamingResponse.__init__r   c                 C  r   r7   )r   r   r=   r9   r;   r;   r<   r=   d  r   z(AsyncSkillsWithStreamingResponse.contentr0   c                 C  r   r7   )r0   r   r?   r9   r;   r;   r<   r?   h  r   z)AsyncSkillsWithStreamingResponse.versionsNr   )r5   r   )r5   r0   r   r;   r;   r;   r<   r   P  r   r   )F
__future__r   typingr   r   r   Ztyping_extensionsr   Zhttpx r   typesr	   r
   r   r=   r   r   r   r   r   r   _typesr   r   r   r   r   r   r   r   r   Z_utilsr   r   r   r   r    Z_compatr!   Z	_resourcer"   r#   	_responser$   r%   Z
paginationr&   r'   Ztypes.skillr(   Z_base_clientr)   r*   Zversions.versionsr+   r,   r-   r.   r/   r0   Ztypes.deleted_skillr1   __all__r2   r3   r@   r   rE   r   r;   r;   r;   r<   <module>   s4    ,  c e