
    .hql                       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l,m-Z- ddgZ. G d de          Z/ G d de          Z0 G d d          Z1 G d d          Z2 G d d          Z3 G d d          Z4d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)Metadata)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 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    c/var/www/FlaskApp/flask-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']r2   ?Optional[Iterable[message_create_params.Attachment]] | NotGivenr3   Optional[Metadata] | NotGivenr4   Headers | Noner5   Query | Noner6   Body | Noner7   '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, and
              querying for objects via API or the dashboard.

              Keys are strings with a maximum length of 64 characters. Values are strings with
              a maximum length of 512 characters.

          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r:   r<   r2   r3   r4   r5   r6   r7   bodyoptionscast_to)
ValueError_postr   r   MessageCreateParamsr   r   
r)   r8   r:   r<   r2   r3   r4   r5   r6   r7   s
             r*   createzMessages.create2   s    \  	geXaeefff&QM<ORQzz,	,,, & #. (	  &9  )+Q[el     
 
 	
r,   rL   
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
        rF   9Expected a non-empty value for `message_id` but received rG   rH   rI   
/messages/rL   rO   rP   rQ   _getr   r   r)   rV   r8   r4   r5   r6   r7   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,   r3   r4   r5   r6   r7   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, and
              querying for objects via API or the dashboard.

              Keys are strings with a maximum length of 64 characters. Values are strings with
              a maximum length of 512 characters.

          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
        rF   rY   rG   rH   rI   rZ   r3   rL   rM   )rQ   rR   r   r   MessageUpdateParamsr   r   r)   rV   r8   r3   r4   r5   r6   r7   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_idr4   r5   r6   r7   rg   str | NotGivenrh   ri   int | NotGivenrj   !Literal['asc', 'desc'] | NotGivenrk   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
        rF   rG   rH   rI   rJ   )rg   rh   ri   rj   rk   )r4   r5   r6   r7   query)pagerO   model)rQ   _get_api_listr   r   r   r   r   MessageListParamsr)   r8   rg   rh   ri   rj   rk   r4   r5   r6   r7   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
        rF   rY   rG   rH   rI   rZ   rL   r[   rQ   _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-   r8   r9   r:   r;   r<   r=   r2   r>   r3   r?   r4   r@   r5   rA   r6   rB   r7   rC   r$   r   rV   r9   r8   r9   r4   r@   r5   rA   r6   rB   r7   rC   r$   r   rV   r9   r8   r9   r3   r?   r4   r@   r5   rA   r6   rB   r7   rC   r$   r   )r8   r9   rg   rl   rh   rl   ri   rm   rj   rn   rk   rl   r4   r@   r5   rA   r6   rB   r7   rC   r$   ro   rV   r9   r8   r9   r4   r@   r5   rA   r6   rB   r7   rC   r$   r   __name__
__module____qualname__r   r+   r0   r
   rU   r_   re   rx   r}    r,   r*   r!   r!      s^       - - - _- 3 3 3 _3 Xa2; )-$("&;D@
 @
 @
 @
 @
 @
R )-$("&;D#
 #
 #
 #
 #
 #
T 3< )-$("&;D,
 ,
 ,
 ,
 ,
 ,
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_response5  s     ,D111r,   "AsyncMessagesWithStreamingResponsec                     t          |           S r/   )r   r(   s    r*   r0   z%AsyncMessages.with_streaming_response?  s     2$777r,   Nr1   r8   r9   r:   r;   r<   r=   r2   r>   r3   r?   r4   r@   r5   rA   r6   rB   r7   rC   r   c          
        K   |st          d|          ddi|pi }|                     d| dt          ||||dt          j                   d{V t          ||||	          t          	           d{V S )
rE   rF   rG   rH   rI   rJ   rK   NrL   rM   )rQ   rR   r   r   rS   r   r   rT   s
             r*   rU   zAsyncMessages.createH  s      \  	geXaeefff&QM<ORQZZ,	,,,,& #. (	  &9        )+Q[el      
 
 
 
 
 
 
 
 	
r,   rL   rV   c          	        K   |st          d|          |st          d|          ddi|pi }|                     d| d| t          ||||          t                     d	{V S )
rX   rF   rY   rG   rH   rI   rZ   rL   r[   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 )rb   rF   rY   rG   rH   rI   rZ   r3   NrL   rM   )rQ   rR   r   r   rc   r   r   rd   s           r*   re   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,   rf   rg   rl   rh   ri   rm   rj   rn   rk   1AsyncPaginator[Message, AsyncCursorPage[Message]]c       	            |st          d|          ddi|pi }|                     d| dt          t                   t	          |||	|
t          |||||dt          j                            t                    S rq   )rQ   ru   r   r   r   r   r   rv   rw   s              r*   rx   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 )
rz   rF   rY   rG   rH   rI   rZ   rL   r[   Nr{   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   )r8   r9   rg   rl   rh   rl   ri   rm   rj   rn   rk   rl   r4   r@   r5   rA   r6   rB   r7   rC   r$   r   r   r   r   r,   r*   r"   r"   4  s^       2 2 2 _2 8 8 8 _8 Xa2; )-$("&;D@
 @
 @
 @
 @
 @
R )-$("&;D#
 #
 #
 #
 #
 #
T 3< )-$("&;D,
 ,
 ,
 ,
 ,
 ,
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_wrapperrU   r_   re   rx   r}   r)   r   s     r*   __init__z MessagesWithRawResponse.__init__K  s    !&>O
 
 )@
 
 '>O
 
 %<M
 
	 '>O
 
r,   Nr   r!   r$   r   r   r   r   r   r   r,   r*   r%   r%   J  (        
 
 
 
 
 
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_wrapperrU   r_   re   rx   r}   r   s     r*   r   z%AsyncMessagesWithRawResponse.__init__`  s    !&DO
 
 )F
 
 'DO
 
 %BM
 
	 'DO
 
r,   Nr   r"   r$   r   r   r   r,   r*   r   r   _  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   rU   r_   re   rx   r}   r   s     r*   r   z&MessagesWithStreamingResponse.__init__u  s    !2O
 
 5
 
 3O
 
 1M
 
	 3O
 
r,   Nr   r   r   r,   r*   r-   r-   t  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   rU   r_   re   rx   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   )5
__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.shared_params.metadatar   "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 5 5 5 5 5 5 A A A A A A U U U U U U
'S
 S
 S
 S
 S
 S
 S
 S
lS
 S
 S
 S
 S
$ S
 S
 S
l
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
 
 
r,   