o
    r)inX                     @  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$ 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l0m1Z1 ddl2m3Z3m4Z4 ddl5m6Z6m7Z7m8Z8m9Z9m:Z: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ZAG dd dZBG dd dZCG dd dZDd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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 );r1   returnr   c                 C  
   t | jS N)r   _clientself r:   b/var/www/html/voicebot/backend/venv/lib/python3.10/site-packages/openai/resources/skills/skills.pycontent4      
zSkills.contentr*   c                 C  r5   r6   )r*   r7   r8   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?   r8   r:   r:   r;   with_raw_response<      zSkills.with_raw_responseSkillsWithStreamingResponsec                 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
        )rD   r8   r:   r:   r;   with_streaming_responseF      zSkills.with_streaming_responseNfilesextra_headersextra_query
extra_bodytimeoutrI   2Union[SequenceNotStr[FileTypes], FileTypes] | OmitrJ   Headers | NonerK   Query | NonerL   Body | NonerM   '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
        rI   <array>pathsContent-Typemultipart/form-data/skillsrJ   rK   rL   rM   bodyrI   optionscast_to)r   r   r   r   strobject_postr   r
   SkillCreateParamsr)   r'   r9   rI   rJ   rK   rL   rM   r\   extracted_filesr:   r:   r;   createO   s   $
zSkills.createrZ   skill_idr_   c                C  4   |s	t d|| j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/rZ   r]   r^   
ValueError_getr)   r'   r9   rf   rJ   rK   rL   rM   r:   r:   r;   retrievey      zSkills.retrievedefault_versionc             	   C  sB   |s	t d|| j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   rr   rZ   r\   r]   r^   )rm   ra   r   r   SkillUpdateParamsr)   r'   r9   rf   rr   rJ   rK   rL   rM   r:   r:   r;   update   s   zSkills.updateafterlimitorderrJ   rK   rL   rM   ry   
str | Omitrz   
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
        rY   )ry   rz   r{   )rJ   rK   rL   rM   query)pager]   model)_get_api_listr%   r'   r)   r   r	   SkillListParamsr9   ry   rz   r{   rJ   rK   rL   rM   r:   r:   r;   list   $    zSkills.listr0   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   rZ   rk   rm   _deleter)   r0   ro   r:   r:   r;   delete   rq   zSkills.delete)r4   r   )r4   r*   )r4   r?   )r4   rD   rI   rN   rJ   rO   rK   rP   rL   rQ   rM   rR   r4   r'   rf   r_   rJ   rO   rK   rP   rL   rQ   rM   rR   r4   r'   rf   r_   rr   r_   rJ   rO   rK   rP   rL   rQ   rM   rR   r4   r'   )ry   r|   rz   r}   r{   r~   rJ   rO   rK   rP   rL   rQ   rM   rR   r4   r   rf   r_   rJ   rO   rK   rP   rL   rQ   rM   rR   r4   r0   __name__
__module____qualname__r    r<   r>   rB   rF   r   r   re   rp   rw   r   r   r:   r:   r:   r;   r1   3   sL    	0((:c                   @  r3   );r2   r4   r   c                 C  r5   r6   )r   r7   r8   r:   r:   r;   r<     r=   zAsyncSkills.contentr+   c                 C  r5   r6   )r+   r7   r8   r:   r:   r;   r>     r=   zAsyncSkills.versionsAsyncSkillsWithRawResponsec                 C  r@   rA   )r   r8   r:   r:   r;   rB     rC   zAsyncSkills.with_raw_response AsyncSkillsWithStreamingResponsec                 C  r@   rE   )r   r8   r:   r:   r;   rF   (  rG   z#AsyncSkills.with_streaming_responseNrH   rI   rN   rJ   rO   rK   rP   rL   rQ   rM   rR   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 )
rS   rI   rT   rU   rW   rX   rY   NrZ   r[   )r   r   r   r   r_   r`   ra   r   r
   rb   r)   r'   rc   r:   r:   r;   re   1  s   $zAsyncSkills.createrZ   rf   r_   c                  <   |s
t d|| jd| t||||dtdI dH S )rh   ri   rj   rZ   rk   Nrl   ro   r:   r:   r;   rp   [     zAsyncSkills.retrieverr   c             	     sP   |s
t d|| jd| td|itjI dH t||||dtdI dH S )rs   ri   rj   rr   NrZ   rt   )rm   ra   r   r   ru   r)   r'   rv   r:   r:   r;   rw   |  s   
zAsyncSkills.updaterx   ry   r|   rz   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.listr0   c                  r   )r   ri   rj   rZ   rk   Nr   ro   r:   r:   r;   r     r   zAsyncSkills.delete)r4   r   )r4   r+   )r4   r   )r4   r   r   r   r   )ry   r|   rz   r}   r{   r~   rJ   rO   rK   rP   rL   rQ   rM   rR   r4   r   r   r   r:   r:   r:   r;   r2     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?   skillsr1   r4   Nonec                 C  P   || _ t|j| _t|j| _t|j| _t|j| _t|j| _d S r6   )_skillsr   to_raw_response_wrapperre   rp   rw   r   r   r9   r   r:   r:   r;   __init__      
zSkillsWithRawResponse.__init__r   c                 C     t | jjS r6   )r   r   r<   r8   r:   r:   r;   r<        zSkillsWithRawResponse.contentr,   c                 C  r   r6   )r,   r   r>   r8   r:   r:   r;   r>     r   zSkillsWithRawResponse.versionsNr   r1   r4   r   )r4   r   )r4   r,   r   r   r   r   r    r<   r>   r:   r:   r:   r;   r?         
r?   c                   @  r   )r   r   r2   r4   r   c                 C  r   r6   )r   r   async_to_raw_response_wrapperre   rp   rw   r   r   r   r:   r:   r;   r     r   z#AsyncSkillsWithRawResponse.__init__r   c                 C  r   r6   )r   r   r<   r8   r:   r:   r;   r<   *  r   z"AsyncSkillsWithRawResponse.contentr-   c                 C  r   r6   )r-   r   r>   r8   r:   r:   r;   r>   .  r   z#AsyncSkillsWithRawResponse.versionsNr   r2   r4   r   )r4   r   )r4   r-   r   r:   r:   r:   r;   r     r   r   c                   @  r   )rD   r   r1   r4   r   c                 C  F   || _ t|j| _t|j| _t|j| _t|j| _t|j| _d S r6   )r   r#   re   rp   rw   r   r   r   r:   r:   r;   r   4      
z$SkillsWithStreamingResponse.__init__r   c                 C  r   r6   )r   r   r<   r8   r:   r:   r;   r<   G  r   z#SkillsWithStreamingResponse.contentr.   c                 C  r   r6   )r.   r   r>   r8   r:   r:   r;   r>   K  r   z$SkillsWithStreamingResponse.versionsNr   )r4   r   )r4   r.   r   r:   r:   r:   r;   rD   3  r   rD   c                   @  r   )r   r   r2   r4   r   c                 C  r   r6   )r   r$   re   rp   rw   r   r   r   r:   r:   r;   r   Q  r   z)AsyncSkillsWithStreamingResponse.__init__r   c                 C  r   r6   )r   r   r<   r8   r:   r:   r;   r<   d  r   z(AsyncSkillsWithStreamingResponse.contentr/   c                 C  r   r6   )r/   r   r>   r8   r:   r:   r;   r>   h  r   z)AsyncSkillsWithStreamingResponse.versionsNr   )r4   r   )r4   r/   r   r:   r:   r:   r;   r   P  r   r   )E
__future__r   typingr   r   r   typing_extensionsr   httpx r   typesr	   r
   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&   types.skillr'   _base_clientr(   r)   versions.versionsr*   r+   r,   r-   r.   r/   types.deleted_skillr0   __all__r1   r2   r?   r   rD   r   r:   r:   r:   r;   <module>   s4    ,  c e