
    g=                    `   d dl mZ d dl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" 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      Z+ G d d      Z, G d d      Z-y)    )annotations)List)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)step_list_paramsstep_retrieve_params)RunStep)RunStepIncludeSteps
AsyncStepsc            
          e Zd Zedd       Zed	d       Zeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d
dZeeeeeddded		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)r   c                    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
        )StepsWithRawResponseselfs    ]/var/www/openai/venv/lib/python3.12/site-packages/openai/resources/beta/threads/runs/steps.pywith_raw_responsezSteps.with_raw_response   s     $D))    c                    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
        )StepsWithStreamingResponser"   s    r$   with_streaming_responsezSteps.with_streaming_response'   s     *$//r&   Nincludeextra_headersextra_query
extra_bodytimeoutc                  |st        d|      |st        d|      |st        d|      ddi|xs i }| j                  d| d| d| t        ||||t        d	|it        j
                        
      t              S )  
        Retrieves a run step.

        Args:
          include: A list of additional fields to include in the response. Currently the only
              supported value is `step_details.tool_calls[*].file_search.results[*].content`
              to fetch the file search result content.

              See the
              [file search tool documentation](https://platform.openai.com/docs/assistants/tools/file-search#customizing-file-search-settings)
              for more information.

          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 5Expected a non-empty value for `run_id` but received 6Expected a non-empty value for `step_id` but received OpenAI-Betaassistants=v2	/threads//runs//steps/r,   r-   r.   r/   r0   queryoptionscast_to)
ValueError_getr   r   r   StepRetrieveParamsr   	r#   step_id	thread_idrun_idr,   r-   r.   r/   r0   s	            r$   retrievezSteps.retrieve0   s    D WXaWdeffTU[T^_``UV]U`abb&QM<ORQyy	{&yA(+'%%y'&:<P<c<cd   

 
	
r&   	afterbeforer,   limitorderr-   r.   r/   r0   c       
           |st        d|      |st        d|      ddi|xs i }| j                  d| d| dt        t           t	        ||	|
|t        |||||dt        j                        	      t        
      S a  
        Returns a list of run steps belonging to a run.

        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.

          include: A list of additional fields to include in the response. Currently the only
              supported value is `step_details.tool_calls[*].file_search.results[*].content`
              to fetch the file search result content.

              See the
              [file search tool documentation](https://platform.openai.com/docs/assistants/tools/file-search#customizing-file-search-settings)
              for more information.

          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.

          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
        r3   r4   r6   r7   r8   r9   z/steps)rI   rJ   r,   rK   rL   r;   )pager>   model)r@   _get_api_listr   r   r   r   r   StepListParamsr#   rF   rE   rI   rJ   r,   rK   rL   r-   r.   r/   r0   s               r$   listz
Steps.liste   s    j WXaWdeffTU[T^_``&QM<ORQ!!	{&7((+'%%!&"(#*!&!& %33	  ' " 
 	
r&   )returnr!   )rU   r)   rD   strrE   rW   rF   rW   r,   List[RunStepInclude] | NotGivenr-   Headers | Noner.   Query | Noner/   Body | Noner0   'float | httpx.Timeout | None | NotGivenrU   r   )rF   rW   rE   rW   rI   str | NotGivenrJ   r]   r,   rX   rK   int | NotGivenrL   !Literal['asc', 'desc'] | NotGivenr-   rY   r.   rZ   r/   r[   r0   r\   rU   zSyncCursorPage[RunStep]	__name__
__module____qualname__r   r%   r*   r   rG   rT    r&   r$   r   r      s@   * * 0 0 4= )-$("&;D3
3
 	3

 3
 13
 &3
 "3
  3
 93
 
3
t !*!*3< )3< )-$("&;DN
N
 	N

 N
 N
 1N
 N
 1N
 &N
 "N
  N
 9N
  
!!N
r&   c            
          e Zd Zedd       Zed	d       Zeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d
dZeeeeeddded		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)r   c                    t        |       S r    )AsyncStepsWithRawResponser"   s    r$   r%   zAsyncSteps.with_raw_response   s     )..r&   c                    t        |       S r(   )AsyncStepsWithStreamingResponser"   s    r$   r*   z"AsyncSteps.with_streaming_response   s     /t44r&   Nr+   c               8  K   |st        d|      |st        d|      |st        d|      ddi|xs i }| j                  d| d| d| t        ||||t        d	|it        j
                         d
{         t               d
{   S 7 7 w)r2   r3   r4   r5   r6   r7   r8   r9   r:   r,   Nr;   r=   )r@   rA   r   r   r   rB   r   rC   s	            r$   rG   zAsyncSteps.retrieve   s     D WXaWdeffTU[T^_``UV]U`abb&QM<ORQYY	{&yA(+'%19g2FH\HoHopp   

 

 
	
 q

s$   A8B:B;BBBBrH   c       
           |st        d|      |st        d|      ddi|xs i }| j                  d| d| dt        t           t	        ||	|
|t        |||||dt        j                        	      t        
      S rN   )r@   rQ   r   r   r   r   r   rR   rS   s               r$   rT   zAsyncSteps.list   s    j WXaWdeffTU[T^_``&QM<ORQ!!	{&7 )(+'%%!&"(#*!&!& %33	  ' " 
 	
r&   )rU   rg   )rU   ri   rV   )rF   rW   rE   rW   rI   r]   rJ   r]   r,   rX   rK   r^   rL   r_   r-   rY   r.   rZ   r/   r[   r0   r\   rU   z1AsyncPaginator[RunStep, AsyncCursorPage[RunStep]]r`   rd   r&   r$   r   r      s@   / / 5 5 4= )-$("&;D3
3
 	3

 3
 13
 &3
 "3
  3
 93
 
3
t !*!*3< )3< )-$("&;DN
N
 	N

 N
 N
 1N
 N
 1N
 &N
 "N
  N
 9N
  
;!N
r&   c                      e Zd ZddZy)r!   c                    || _         t        j                  |j                        | _        t        j                  |j                        | _        y N)_stepsr   to_raw_response_wrapperrG   rT   r#   stepss     r$   __init__zStepsWithRawResponse.__init__Q  s=    (@@NN
 %<<JJ
	r&   Nrr   r   rU   Nonera   rb   rc   rs   rd   r&   r$   r!   r!   P      
r&   r!   c                      e Zd ZddZy)rg   c                    || _         t        j                  |j                        | _        t        j                  |j                        | _        y rn   )ro   r   async_to_raw_response_wrapperrG   rT   rq   s     r$   rs   z"AsyncStepsWithRawResponse.__init__]  s=    (FFNN
 %BBJJ
	r&   Nrr   r   rU   ru   rv   rd   r&   r$   rg   rg   \  rw   r&   rg   c                      e Zd ZddZy)r)   c                z    || _         t        |j                        | _        t        |j                        | _        y rn   )ro   r   rG   rT   rq   s     r$   rs   z#StepsWithStreamingResponse.__init__i  s1    4NN
 1JJ
	r&   Nrt   rv   rd   r&   r$   r)   r)   h  rw   r&   r)   c                      e Zd ZddZy)ri   c                z    || _         t        |j                        | _        t        |j                        | _        y rn   )ro   r   rG   rT   rq   s     r$   rs   z(AsyncStepsWithStreamingResponse.__init__u  s1    :NN
 7JJ
	r&   Nr{   rv   rd   r&   r$   ri   ri   t  rw   r&   ri   ).
__future__r   typingr   typing_extensionsr   httpx r   _typesr   r	   r
   r   r   _utilsr   r   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   _base_clientr   r   types.beta.threads.runsr   r    types.beta.threads.runs.run_stepr   (types.beta.threads.runs.run_step_includer   __all__r   r   r!   rg   r)   ri   rd   r&   r$   <module>r      s    #  %  " A A ) < [ ; B O 9 HL
!W
O W
tW
! W
t	
 	
	
 	
	
 	
	
 	
r&   