o
    $imN                     @  sP  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mZ ddl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Z0G dd dZ1dS )    )annotations)Anycast)LiteralN   )_legacy_response)BodyOmitQueryHeadersNotGivenomit	not_given)maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncConversationCursorPageAsyncConversationCursorPage)AsyncPaginatormake_request_options)thread_list_paramsthread_list_items_params)ChatKitThread)ThreadDeleteResponse)DataThreadsAsyncThreadsc                
   @     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eddded	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S )0r   returnThreadsWithRawResponsec                 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'   e/var/www/html/flask_server/venv/lib/python3.10/site-packages/openai/resources/beta/chatkit/threads.pywith_raw_response      zThreads.with_raw_responseThreadsWithStreamingResponsec                 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Threads.with_streaming_responseNextra_headersextra_query
extra_bodytimeout	thread_idstrr0   Headers | Noner1   Query | Noner2   Body | Noner3   'float | httpx.Timeout | None | NotGivenr   c                C  D   |s	t d|ddi|pi }| jd| t||||dtdS )M  
        Retrieve a ChatKit thread

        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
        8Expected a non-empty value for `thread_id` but received OpenAI-Betachatkit_beta=v1/chatkit/threads/r/   optionscast_to
ValueError_getr   r   r&   r4   r0   r1   r2   r3   r'   r'   r(   retrieve.      zThreads.retrieve	afterbeforelimitorderuserr0   r1   r2   r3   rJ   
str | OmitrK   rL   
int | OmitrM   Literal['asc', 'desc'] | OmitrN   )SyncConversationCursorPage[ChatKitThread]c       	   
      C  H   ddi|pi }| j dtt t||||	t|||||dtjdtdS aH  
        List ChatKit threads

        Args:
          after: List items created after this thread item ID. Defaults to null for the first
              page.

          before: List items created before this thread item ID. Defaults to null for the newest
              results.

          limit: Maximum number of thread items to return. Defaults to 20.

          order: Sort order for results by creation time. Defaults to `desc`.

          user: Filter threads that belong to this user identifier. Defaults to null to return
              all users.

          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>   z/chatkit/threads)rJ   rK   rL   rM   rN   r0   r1   r2   r3   querypagerA   model)_get_api_listr   r   r   r   r   ThreadListParams
r&   rJ   rK   rL   rM   rN   r0   r1   r2   r3   r'   r'   r(   listP   *   (zThreads.listr   c                C  r:   )K  
        Delete a ChatKit thread

        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<   r=   r>   r?   r/   r@   rD   _deleter   r   rF   r'   r'   r(   delete   rH   zThreads.deleterJ   rK   rL   rM   r0   r1   r2   r3    SyncConversationCursorPage[Data]c          
      C  f   |s	t d|ddi|pi }| jd| dtt t||||	t||||dtjdtt	tdS 	a  
        List ChatKit thread items

        Args:
          after: List items created after this thread item ID. Defaults to null for the first
              page.

          before: List items created before this thread item ID. Defaults to null for the newest
              results.

          limit: Maximum number of thread items to return. Defaults to 20.

          order: Sort order for results by creation time. Defaults to `desc`.

          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>   r?   z/items)rJ   rK   rL   rM   rU   rW   )
rD   rZ   r   r   r   r   r   ThreadListItemsParamsr   r   
r&   r4   rJ   rK   rL   rM   r0   r1   r2   r3   r'   r'   r(   
list_items   ,   %
zThreads.list_items)r!   r"   )r!   r+   r4   r5   r0   r6   r1   r7   r2   r8   r3   r9   r!   r   )rJ   rO   rK   rO   rL   rP   rM   rQ   rN   rO   r0   r6   r1   r7   r2   r8   r3   r9   r!   rR   r4   r5   r0   r6   r1   r7   r2   r8   r3   r9   r!   r   )r4   r5   rJ   rO   rK   rO   rL   rP   rM   rQ   r0   r6   r1   r7   r2   r8   r3   r9   r!   rd   __name__
__module____qualname__r   r)   r-   r   rG   r   r]   rb   ri   r'   r'   r'   r(   r      D    	%E&c                
   @  r    )0r   r!   AsyncThreadsWithRawResponsec                 C  r#   r$   )rr   r%   r'   r'   r(   r)      r*   zAsyncThreads.with_raw_response!AsyncThreadsWithStreamingResponsec                 C  r#   r,   )rs   r%   r'   r'   r(   r-      r.   z$AsyncThreads.with_streaming_responseNr/   r4   r5   r0   r6   r1   r7   r2   r8   r3   r9   r   c                  L   |s
t d|ddi|pi }| jd| t||||dtdI dH S )r;   r<   r=   r>   r?   r/   r@   NrC   rF   r'   r'   r(   rG        zAsyncThreads.retrieverI   rJ   rO   rK   rL   rP   rM   rQ   rN   IAsyncPaginator[ChatKitThread, AsyncConversationCursorPage[ChatKitThread]]c       	   
      C  rS   rT   )rZ   r   r   r   r   r   r[   r\   r'   r'   r(   r]   %  r^   zAsyncThreads.listr   c                  rt   )r_   r<   r=   r>   r?   r/   r@   Nr`   rF   r'   r'   r(   rb   d  ru   zAsyncThreads.deleterc   7AsyncPaginator[Data, AsyncConversationCursorPage[Data]]c          
      C  re   rf   )
rD   rZ   r   r   r   r   r   rg   r   r   rh   r'   r'   r(   ri     rj   zAsyncThreads.list_items)r!   rr   )r!   rs   rk   )rJ   rO   rK   rO   rL   rP   rM   rQ   rN   rO   r0   r6   r1   r7   r2   r8   r3   r9   r!   rv   rl   )r4   r5   rJ   rO   rK   rO   rL   rP   rM   rQ   r0   r6   r1   r7   r2   r8   r3   r9   r!   rw   rm   r'   r'   r'   r(   r      rq   c                   @     e Zd ZdddZdS )	r"   threadsr   r!   Nonec                 C  B   || _ t|j| _t|j| _t|j| _t|j| _d S N)_threadsr   to_raw_response_wrapperrG   r]   rb   ri   r&   ry   r'   r'   r(   __init__     
zThreadsWithRawResponse.__init__Nry   r   r!   rz   rn   ro   rp   r   r'   r'   r'   r(   r"         r"   c                   @  rx   )	rr   ry   r   r!   rz   c                 C  r{   r|   )r}   r   async_to_raw_response_wrapperrG   r]   rb   ri   r   r'   r'   r(   r     r   z$AsyncThreadsWithRawResponse.__init__Nry   r   r!   rz   r   r'   r'   r'   r(   rr     r   rr   c                   @  rx   )	r+   ry   r   r!   rz   c                 C  :   || _ t|j| _t|j| _t|j| _t|j| _d S r|   )r}   r   rG   r]   rb   ri   r   r'   r'   r(   r        
z%ThreadsWithStreamingResponse.__init__Nr   r   r'   r'   r'   r(   r+     r   r+   c                   @  rx   )	rs   ry   r   r!   rz   c                 C  r   r|   )r}   r   rG   r]   rb   ri   r   r'   r'   r(   r     r   z*AsyncThreadsWithStreamingResponse.__init__Nr   r   r'   r'   r'   r(   rs     r   rs   )2
__future__r   typingr   r   typing_extensionsr   httpx r   _typesr   r	   r
   r   r   r   r   _utilsr   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   _base_clientr   r   types.beta.chatkitr   r   !types.beta.chatkit.chatkit_threadr   )types.beta.chatkit.thread_delete_responser   +types.beta.chatkit.chatkit_thread_item_listr   __all__r   r   r"   rr   r+   rs   r'   r'   r'   r(   <module>   s2   $ V V