
    
@gj                       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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$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+ ddgZ, G d de          Z- G d de          Z. G d d          Z/ G d d          Z0 G d d          Z1 G d d          Z2dS )    )annotations)UnionIterableOptional)LiteralN   )_legacy_response)	NOT_GIVENBodyQueryHeadersNotGiven)maybe_transformasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncCursorPageAsyncCursorPage)AsyncPaginatormake_request_options)message_list_paramsmessage_create_paramsmessage_update_params)Message)MessageDeleted)MessageContentPartParamMessagesAsyncMessagesc            
          e Zd Zed.d            Zed/d            Zeedddedd0dZdddedd1dZedddedd2d Z	eeeeeddded!	d3d+Z
dddedd4d-ZdS )5r    returnMessagesWithRawResponsec                     t          |           S a  
        This property can be used as a prefix for any HTTP method call to return the
        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$   selfs    Z/var/www/piapp/venv/lib/python3.11/site-packages/openai/resources/beta/threads/messages.pywith_raw_responsezMessages.with_raw_response!   s     't,,,    MessagesWithStreamingResponsec                     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
        )r,   r'   s    r)   with_streaming_responsez Messages.with_streaming_response+   s     -T222r+   Nattachmentsmetadataextra_headersextra_query
extra_bodytimeout	thread_idstrcontent-Union[str, Iterable[MessageContentPartParam]]roleLiteral['user', 'assistant']r1   ?Optional[Iterable[message_create_params.Attachment]] | NotGivenr2   Optional[object] | NotGivenr3   Headers | Noner4   Query | Noner5   Body | Noner6   'float | httpx.Timeout | None | NotGivenr   c          
         |st          d|          ddi|pi }|                     d| dt          ||||dt          j                  t          ||||	          t                    S )	  
        Create a message.

        Args:
          content: The text contents of the message.

          role:
              The role of the entity that is creating the message. Allowed values include:

              - `user`: Indicates the message is sent by an actual user and should be used in
                most cases to represent user-generated messages.
              - `assistant`: Indicates the message is generated by the assistant. Use this
                value to insert messages from the assistant into the conversation.

          attachments: A list of files attached to the message, and the tools they should be added to.

          metadata: Set of 16 key-value pairs that can be attached to an object. This can be useful
              for storing additional information about the object in a structured format. Keys
              can be a maximum of 64 characters long and values can be a maximum of 512
              characters long.

          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assistants=v2	/threads/	/messagesr9   r;   r1   r2   r3   r4   r5   r6   bodyoptionscast_to)
ValueError_postr   r   MessageCreateParamsr   r   
r(   r7   r9   r;   r1   r2   r3   r4   r5   r6   s
             r)   createzMessages.create4   s    X  	geXaeefff&QM<ORQzz,	,,, & #. (	  &9  )+Q[el     
 
 	
r+   rK   
message_idc          	         |st          d|          |st          d|          ddi|pi }|                     d| d| t          ||||          t                    S )	G  
        Retrieve a message.

        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
        rE   9Expected a non-empty value for `message_id` but received rF   rG   rH   
/messages/rK   rN   rO   rP   _getr   r   r(   rU   r7   r3   r4   r5   r6   s          r)   retrievezMessages.retrievet   s    0  	geXaeefff 	igYcgghhh&QM<ORQyy9	99Z99(+Q[el     
 
 	
r+   r2   r3   r4   r5   r6   c          
         |st          d|          |st          d|          ddi|pi }|                     d| d| t          d|it          j                  t          ||||          t          	          S )
  
        Modifies a message.

        Args:
          metadata: Set of 16 key-value pairs that can be attached to an object. This can be useful
              for storing additional information about the object in a structured format. Keys
              can be a maximum of 64 characters long and values can be a maximum of 512
              characters long.

          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
        rE   rX   rF   rG   rH   rY   r2   rK   rL   )rP   rQ   r   r   MessageUpdateParamsr   r   r(   rU   r7   r2   r3   r4   r5   r6   s           r)   updatezMessages.update   s    <  	geXaeefff 	igYcgghhh&QM<ORQzz9	99Z99 *h!79N9bcc(+Q[el     
 
 	
r+   	afterbeforelimitorderrun_idr3   r4   r5   r6   rf   str | NotGivenrg   rh   int | NotGivenri   !Literal['asc', 'desc'] | NotGivenrj   SyncCursorPage[Message]c       	            |st          d|          ddi|pi }|                     d| dt          t                   t	          |||	|
t          |||||dt          j                            t                    S 	ah  
        Returns a list of messages for a given thread.

        Args:
          after: A cursor for use in pagination. `after` is an object ID that defines your place
              in the list. For instance, if you make a list request and receive 100 objects,
              ending with obj_foo, your subsequent call can include after=obj_foo in order to
              fetch the next page of the list.

          before: A cursor for use in pagination. `before` is an object ID that defines your place
              in the list. For instance, if you make a list request and receive 100 objects,
              starting with obj_foo, your subsequent call can include before=obj_foo in order
              to fetch the previous page of the list.

          limit: A limit on the number of objects to be returned. Limit can range between 1 and
              100, and the default is 20.

          order: Sort order by the `created_at` timestamp of the objects. `asc` for ascending
              order and `desc` for descending order.

          run_id: Filter messages by the run ID that generated them.

          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
        rE   rF   rG   rH   rI   )rf   rg   rh   ri   rj   )r3   r4   r5   r6   query)pagerN   model)rP   _get_api_listr   r   r   r   r   MessageListParamsr(   r7   rf   rg   rh   ri   rj   r3   r4   r5   r6   s              r)   listzMessages.list   s    \  	geXaeefff&QM<ORQ!!,	,,,((+'%%!&"(!&!&"(  (9	 	    ' " 
 
 	
r+   r   c          	         |st          d|          |st          d|          ddi|pi }|                     d| d| t          ||||          t                    S )	F  
        Deletes a message.

        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
        rE   rX   rF   rG   rH   rY   rK   rZ   rP   _deleter   r   r]   s          r)   deletezMessages.delete  s    0  	geXaeefff 	igYcgghhh&QM<ORQ||9	99Z99(+Q[el   #  
 
 	
r+   )r#   r$   )r#   r,   r7   r8   r9   r:   r;   r<   r1   r=   r2   r>   r3   r?   r4   r@   r5   rA   r6   rB   r#   r   rU   r8   r7   r8   r3   r?   r4   r@   r5   rA   r6   rB   r#   r   rU   r8   r7   r8   r2   r>   r3   r?   r4   r@   r5   rA   r6   rB   r#   r   )r7   r8   rf   rk   rg   rk   rh   rl   ri   rm   rj   rk   r3   r?   r4   r@   r5   rA   r6   rB   r#   rn   rU   r8   r7   r8   r3   r?   r4   r@   r5   rA   r6   rB   r#   r   __name__
__module____qualname__r   r*   r/   r
   rT   r^   rd   rw   r|    r+   r)   r    r        sX       - - - _- 3 3 3 _3 Xa09 )-$("&;D>
 >
 >
 >
 >
 >
N )-$("&;D#
 #
 #
 #
 #
 #
T 1: )-$("&;D*
 *
 *
 *
 *
 *
` !*!* )3<!* )-$("&;DE
 E
 E
 E
 E
 E
\ )-$("&;D#
 #
 #
 #
 #
 #
 #
 #
r+   c            
          e Zd Zed.d            Zed/d            Zeedddedd0dZdddedd1dZedddedd2d Z	eeeeeddded!	d3d+Z
dddedd4d-ZdS )5r!   r#   AsyncMessagesWithRawResponsec                     t          |           S r&   )r   r'   s    r)   r*   zAsyncMessages.with_raw_response3  s     ,D111r+   "AsyncMessagesWithStreamingResponsec                     t          |           S r.   )r   r'   s    r)   r/   z%AsyncMessages.with_streaming_response=  s     2$777r+   Nr0   r7   r8   r9   r:   r;   r<   r1   r=   r2   r>   r3   r?   r4   r@   r5   rA   r6   rB   r   c          
        K   |st          d|          ddi|pi }|                     d| dt          ||||dt          j                   d{V t          ||||	          t          	           d{V S )
rD   rE   rF   rG   rH   rI   rJ   NrK   rL   )rP   rQ   r   r   rR   r   r   rS   s
             r)   rT   zAsyncMessages.createF  s      X  	geXaeefff&QM<ORQZZ,	,,,,& #. (	  &9        )+Q[el      
 
 
 
 
 
 
 
 	
r+   rK   rU   c          	        K   |st          d|          |st          d|          ddi|pi }|                     d| d| t          ||||          t                     d	{V S )
rW   rE   rX   rF   rG   rH   rY   rK   rZ   Nr[   r]   s          r)   r^   zAsyncMessages.retrieve  s      0  	geXaeefff 	igYcgghhh&QM<ORQYY9	99Z99(+Q[el     
 
 
 
 
 
 
 
 	
r+   r_   c          
       K   |st          d|          |st          d|          ddi|pi }|                     d| d| t          d|it          j                   d{V t          ||||	          t          
           d{V S )ra   rE   rX   rF   rG   rH   rY   r2   NrK   rL   )rP   rQ   r   r   rb   r   r   rc   s           r)   rd   zAsyncMessages.update  s      <  	geXaeefff 	igYcgghhh&QM<ORQZZ9	99Z99,j(-CEZEnoooooooo(+Q[el      
 
 
 
 
 
 
 
 	
r+   re   rf   rk   rg   rh   rl   ri   rm   rj   1AsyncPaginator[Message, AsyncCursorPage[Message]]c       	            |st          d|          ddi|pi }|                     d| dt          t                   t	          |||	|
t          |||||dt          j                            t                    S rp   )rP   rt   r   r   r   r   r   ru   rv   s              r)   rw   zAsyncMessages.list  s    \  	geXaeefff&QM<ORQ!!,	,,, )(+'%%!&"(!&!&"(  (9	 	    ' " 
 
 	
r+   r   c          	        K   |st          d|          |st          d|          ddi|pi }|                     d| d| t          ||||          t                     d	{V S )
ry   rE   rX   rF   rG   rH   rY   rK   rZ   Nrz   r]   s          r)   r|   zAsyncMessages.delete  s      0  	geXaeefff 	igYcgghhh&QM<ORQ\\9	99Z99(+Q[el   # " 
 
 
 
 
 
 
 
 	
r+   )r#   r   )r#   r   r}   r~   r   )r7   r8   rf   rk   rg   rk   rh   rl   ri   rm   rj   rk   r3   r?   r4   r@   r5   rA   r6   rB   r#   r   r   r   r   r+   r)   r!   r!   2  sX       2 2 2 _2 8 8 8 _8 Xa09 )-$("&;D>
 >
 >
 >
 >
 >
N )-$("&;D#
 #
 #
 #
 #
 #
T 1: )-$("&;D*
 *
 *
 *
 *
 *
` !*!* )3<!* )-$("&;DE
 E
 E
 E
 E
 E
\ )-$("&;D#
 #
 #
 #
 #
 #
 #
 #
r+   c                      e Zd ZddZdS )r$   messagesr    r#   Nonec                @   || _         t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        d S N)	_messagesr	   to_raw_response_wrapperrT   r^   rd   rw   r|   r(   r   s     r)   __init__z MessagesWithRawResponse.__init__E  s    !&>O
 
 )@
 
 '>O
 
 %<M
 
	 '>O
 
r+   Nr   r    r#   r   r   r   r   r   r   r+   r)   r$   r$   D  (        
 
 
 
 
 
r+   r$   c                      e Zd ZddZdS )r   r   r!   r#   r   c                @   || _         t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        d S r   )r   r	   async_to_raw_response_wrapperrT   r^   rd   rw   r|   r   s     r)   r   z%AsyncMessagesWithRawResponse.__init__Z  s    !&DO
 
 )F
 
 'DO
 
 %BM
 
	 'DO
 
r+   Nr   r!   r#   r   r   r   r+   r)   r   r   Y  r   r+   r   c                      e Zd ZddZdS )r,   r   r    r#   r   c                   || _         t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        d S r   )r   r   rT   r^   rd   rw   r|   r   s     r)   r   z&MessagesWithStreamingResponse.__init__o  s    !2O
 
 5
 
 3O
 
 1M
 
	 3O
 
r+   Nr   r   r   r+   r)   r,   r,   n  r   r+   r,   c                      e Zd ZddZdS )r   r   r!   r#   r   c                   || _         t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        d S r   )r   r   rT   r^   rd   rw   r|   r   s     r)   r   z+AsyncMessagesWithStreamingResponse.__init__  s    !8O
 
 ;
 
 9O
 
 7M
 
	 9O
 
r+   Nr   r   r   r+   r)   r   r     r   r+   r   )3
__future__r   typingr   r   r   typing_extensionsr   httpx r	   _typesr
   r   r   r   r   _utilsr   r   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   _base_clientr   r   types.beta.threadsr   r   r   types.beta.threads.messager   "types.beta.threads.message_deletedr   -types.beta.threads.message_content_part_paramr   __all__r    r!   r$   r   r,   r   r   r+   r)   <module>r      s   # " " " " " , , , , , , , , , , % % % % % %  ! ! ! ! ! ! @ @ @ @ @ @ @ @ @ @ @ @ @ @        ( ' ' ' ' ' ; ; ; ; ; ; ; ; Z Z Z Z Z Z Z Z : : : : : : : :        e d d d d d d d d d 2 2 2 2 2 2 A A A A A A U U U U U U
'O
 O
 O
 O
 O
 O
 O
 O
dO
 O
 O
 O
 O
$ O
 O
 O
d
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
 
 
r+   