o
    iHP                     @  sT  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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Z0G dd dZ1G dd dZ2dS )    )annotations)Anycast)LiteralN   )_legacy_response)BodyOmitQueryHeadersNotGivenomit	not_given)path_template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(   _/home/kim/smarthome/.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strr1   Headers | Noner2   Query | Noner3   Body | Noner4   'float | httpx.Timeout | None | NotGivenr   c                C  F   |s	t d|ddi|pi }| jtd|dt||||dtdS )`  
        Retrieve a ChatKit thread by its identifier.

        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/{thread_id}r5   r0   optionsZcast_to
ValueError_getr   r   r   r'   r5   r1   r2   r3   r4   r(   r(   r)   retrieve.      
zThreads.retrieve	afterbeforelimitorderuserr1   r2   r3   r4   rK   
str | OmitrL   rM   
int | OmitrN   Literal['asc', 'desc'] | OmitrO   )SyncConversationCursorPage[ChatKitThread]c       	   
      C  H   ddi|pi }| j dtt t||||	t|||||dtjdtdS as  
        List ChatKit threads with optional pagination and user filters.

        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)rK   rL   rM   rN   rO   r1   r2   r3   r4   querypagerC   model)_get_api_listr   r   r   r   r   ThreadListParams
r'   rK   rL   rM   rN   rO   r1   r2   r3   r4   r(   r(   r)   listP   *   (zThreads.listr   c                C  r;   )x  
        Delete a ChatKit thread along with its items and stored attachments.

        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@   rA   r0   rB   rE   _deleter   r   r   rG   r(   r(   r)   delete   rI   zThreads.deleterK   rL   rM   rN   r1   r2   r3   r4    SyncConversationCursorPage[Data]c          
      C  f   |s	t d|ddi|pi }| jtd|dtt t||||	t||||dtjdt	t
tdS 	a  
        List items that belong to a ChatKit thread.

        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?   z"/chatkit/threads/{thread_id}/itemsrA   )rK   rL   rM   rN   rV   rX   )rE   r[   r   r   r   r   r   r   ThreadListItemsParamsr   r   
r'   r5   rK   rL   rM   rN   r1   r2   r3   r4   r(   r(   r)   
list_items   ,   %
zThreads.list_items)r"   r#   )r"   r,   r5   r6   r1   r7   r2   r8   r3   r9   r4   r:   r"   r   )rK   rP   rL   rP   rM   rQ   rN   rR   rO   rP   r1   r7   r2   r8   r3   r9   r4   r:   r"   rS   r5   r6   r1   r7   r2   r8   r3   r9   r4   r:   r"   r   )r5   r6   rK   rP   rL   rP   rM   rQ   rN   rR   r1   r7   r2   r8   r3   r9   r4   r:   r"   re   __name__
__module____qualname__r   r*   r.   r   rH   r   r^   rc   rj   r(   r(   r(   r)   r      D    	%E&c                
   @  r!   )0r    r"   AsyncThreadsWithRawResponsec                 C  r$   r%   )rs   r&   r(   r(   r)   r*      r+   zAsyncThreads.with_raw_response!AsyncThreadsWithStreamingResponsec                 C  r$   r-   )rt   r&   r(   r(   r)   r.      r/   z$AsyncThreads.with_streaming_responseNr0   r5   r6   r1   r7   r2   r8   r3   r9   r4   r:   r   c                  N   |s
t d|ddi|pi }| jtd|dt||||dtdI dH S )	r<   r=   r>   r?   r@   rA   r0   rB   NrD   rG   r(   r(   r)   rH        
zAsyncThreads.retrieverJ   rK   rP   rL   rM   rQ   rN   rR   rO   IAsyncPaginator[ChatKitThread, AsyncConversationCursorPage[ChatKitThread]]c       	   
      C  rT   rU   )r[   r   r   r   r   r   r\   r]   r(   r(   r)   r^   %  r_   zAsyncThreads.listr   c                  ru   )	r`   r=   r>   r?   r@   rA   r0   rB   Nra   rG   r(   r(   r)   rc   d  rv   zAsyncThreads.deleterd   7AsyncPaginator[Data, AsyncConversationCursorPage[Data]]c          
      C  rf   rg   )rE   r[   r   r   r   r   r   r   rh   r   r   ri   r(   r(   r)   rj     rk   zAsyncThreads.list_items)r"   rs   )r"   rt   rl   )rK   rP   rL   rP   rM   rQ   rN   rR   rO   rP   r1   r7   r2   r8   r3   r9   r4   r:   r"   rw   rm   )r5   r6   rK   rP   rL   rP   rM   rQ   rN   rR   r1   r7   r2   r8   r3   r9   r4   r:   r"   rx   rn   r(   r(   r(   r)   r       rr   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   Zto_raw_response_wrapperrH   r^   rc   rj   r'   rz   r(   r(   r)   __init__     
zThreadsWithRawResponse.__init__Nrz   r   r"   r{   ro   rp   rq   r   r(   r(   r(   r)   r#         r#   c                   @  ry   )	rs   rz   r    r"   r{   c                 C  r|   r}   )r~   r   Zasync_to_raw_response_wrapperrH   r^   rc   rj   r   r(   r(   r)   r     r   z$AsyncThreadsWithRawResponse.__init__Nrz   r    r"   r{   r   r(   r(   r(   r)   rs     r   rs   c                   @  ry   )	r,   rz   r   r"   r{   c                 C  :   || _ t|j| _t|j| _t|j| _t|j| _d S r}   )r~   r   rH   r^   rc   rj   r   r(   r(   r)   r        
z%ThreadsWithStreamingResponse.__init__Nr   r   r(   r(   r(   r)   r,     r   r,   c                   @  ry   )	rt   rz   r    r"   r{   c                 C  r   r}   )r~   r   rH   r^   rc   rj   r   r(   r(   r)   r     r   z*AsyncThreadsWithStreamingResponse.__init__Nr   r   r(   r(   r(   r)   rt     r   rt   )3
__future__r   typingr   r   Ztyping_extensionsr   Zhttpx r   _typesr   r	   r
   r   r   r   r   Z_utilsr   r   Z_compatr   Z	_resourcer   r   	_responser   r   Z
paginationr   r   Z_base_clientr   r   Ztypes.beta.chatkitr   r   Z!types.beta.chatkit.chatkit_threadr   Z)types.beta.chatkit.thread_delete_responser   Z+types.beta.chatkit.chatkit_thread_item_listr   __all__r   r    r#   rs   r,   rt   r(   r(   r(   r)   <module>   s2   $ V V