
    g+                    4   d dl mZ d dlZddlmZ ddlmZ ddl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 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)    )annotationsN   )_legacy_response)model_list_params)	NOT_GIVENBodyQueryHeadersNotGiven)maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncPage	AsyncPage)AsyncPaginatormake_request_options)	ModelInfoModelsAsyncModelsc                      e Zd Zedd       Zed	d       Zddded	 	 	 	 	 	 	 	 	 	 	 d
dZ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/anthropics/anthropic-sdk-python#accessing-raw-response-data-eg-headers
        )ModelsWithRawResponseselfs    O/var/www/openai/venv/lib/python3.12/site-packages/anthropic/resources/models.pywith_raw_responsezModels.with_raw_response   s     %T**    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/anthropics/anthropic-sdk-python#with_streaming_response
        )ModelsWithStreamingResponser   s    r   with_streaming_responsezModels.with_streaming_response    s     +400r!   Nextra_headersextra_query
extra_bodytimeoutc          	     r    |st        d|      | j                  d| t        ||||      t              S )  
        Get a specific model.

        The Models API response can be used to determine information about a specific
        model or resolve a model alias to a model ID.

        Args:
          model_id: Model identifier or alias.

          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
        7Expected a non-empty value for `model_id` but received /v1/models/r&   optionscast_to
ValueError_getr   r   r   model_idr'   r(   r)   r*   s         r   retrievezModels.retrieve)   sT    8 VW_Vbcddyy($(+Q[el   
 	
r!   after_id	before_idlimitr'   r(   r)   r*   c                   | j                  dt        t           t        ||||t	        |||dt
        j                              t              S a  
        List available models.

        The Models API response can be used to determine which models are available for
        use in the API. More recently released models are listed first.

        Args:
          after_id: ID of the object to use as a cursor for pagination. When provided, returns the
              page of results immediately after this object.

          before_id: ID of the object to use as a cursor for pagination. When provided, returns the
              page of results immediately before this object.

          limit: Number of items to return per page.

              Defaults to `20`. Ranges from `1` to `1000`.

          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
        z
/v1/models)r9   r:   r;   )r'   r(   r)   r*   query)pager0   model)_get_api_listr   r   r   r   r   ModelListParamsr   r9   r:   r;   r'   r(   r)   r*   s           r   listzModels.listO   sb    L !!)$(+'%%$,%.!&
 &55 # " 
 	
r!   )returnr   )rE   r$   r6   strr'   Headers | Noner(   Query | Noner)   Body | Noner*   'float | httpx.Timeout | None | NotGivenrE   r   )r9   str | NotGivenr:   rL   r;   int | NotGivenr'   rH   r(   rI   r)   rJ   r*   rK   rE   zSyncPage[ModelInfo]	__name__
__module____qualname__r   r    r%   r   r7   rD    r!   r   r   r      s    + + 1 1 )-$("&;D$
$
 &$
 "$
  $
 9$
 
$
R $-$- ) )-$("&;D8
 !8
 "	8

 8
 &8
 "8
  8
 98
 
8
r!   c                      e Zd Zedd       Zed	d       Zddded	 	 	 	 	 	 	 	 	 	 	 d
dZeeeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)r   c                    t        |       S r   )AsyncModelsWithRawResponser   s    r   r    zAsyncModels.with_raw_response   s     *$//r!   c                    t        |       S r#   ) AsyncModelsWithStreamingResponser   s    r   r%   z#AsyncModels.with_streaming_response   s     055r!   Nr&   c          	        K   |st        d|      | j                  d| t        ||||      t               d{   S 7 w)r,   r-   r.   r&   r/   Nr2   r5   s         r   r7   zAsyncModels.retrieve   sb     8 VW_VbcddYY($(+Q[el   
 
 	
 
s   <AAAr8   c                   | j                  dt        t           t        ||||t	        |||dt
        j                              t              S r=   )rA   r   r   r   r   r   rB   rC   s           r   rD   zAsyncModels.list   sb    L !!9%(+'%%$,%.!&
 &55 # " 
 	
r!   )rE   rU   )rE   rW   rF   )r9   rL   r:   rL   r;   rM   r'   rH   r(   rI   r)   rJ   r*   rK   rE   z/AsyncPaginator[ModelInfo, AsyncPage[ModelInfo]]rN   rR   r!   r   r   r      s    0 0 6 6 )-$("&;D$
$
 &$
 "$
  $
 9$
 
$
R $-$- ) )-$("&;D8
 !8
 "	8

 8
 &8
 "8
  8
 98
 
98
r!   c                      e Zd ZddZy)r   c                    || _         t        j                  |j                        | _        t        j                  |j                        | _        y N)_modelsr   to_raw_response_wrapperr7   rD   r   modelss     r   __init__zModelsWithRawResponse.__init__   s=    (@@OO
 %<<KK
	r!   Nr`   r   rE   NonerO   rP   rQ   ra   rR   r!   r   r   r          
r!   r   c                      e Zd ZddZy)rU   c                    || _         t        j                  |j                        | _        t        j                  |j                        | _        y r\   )r]   r   async_to_raw_response_wrapperr7   rD   r_   s     r   ra   z#AsyncModelsWithRawResponse.__init__  s=    (FFOO
 %BBKK
	r!   Nr`   r   rE   rc   rd   rR   r!   r   rU   rU     re   r!   rU   c                      e Zd ZddZy)r$   c                z    || _         t        |j                        | _        t        |j                        | _        y r\   )r]   r   r7   rD   r_   s     r   ra   z$ModelsWithStreamingResponse.__init__  s1    4OO
 1KK
	r!   Nrb   rd   rR   r!   r   r$   r$     re   r!   r$   c                      e Zd ZddZy)rW   c                z    || _         t        |j                        | _        t        |j                        | _        y r\   )r]   r   r7   rD   r_   s     r   ra   z)AsyncModelsWithStreamingResponse.__init__$  s1    :OO
 7KK
	r!   Nri   rd   rR   r!   r   rW   rW   #  re   r!   rW   )&
__future__r   httpx r   typesr   _typesr   r   r	   r
   r   _utilsr   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   _base_clientr   r   types.model_infor   __all__r   r   r   rU   r$   rW   rR   r!   r   <module>r{      s    #   % > > $ % 9 X , ? (]
#r
_ r
jr
" r
j	
 	
	
 	
	
 	
	
 	
r!   