
    4Rj0                    `   d dl mZ 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mZmZ ddlmZmZ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% 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)ListN   )_legacy_response)model_list_params)BodyOmitQueryHeadersNotGivenomit	not_given)is_givenpath_templatemaybe_transformstrip_not_given)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncPage	AsyncPage)AsyncPaginatormake_request_options)	ModelInfo)AnthropicBetaParamModelsAsyncModelsc            	          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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 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    b/var/www/html/meridian/meridian-ai/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betasextra_headersextra_query
extra_bodytimeoutc          	         |st        d|      i t        dt        |      rdj                  d |D              nt        i      |xs i }| j                  t        d|      t        ||||      t              S )	X  
        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.

          betas: Optional header to specify the beta version(s) you want to use.

          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 anthropic-beta,c              3  2   K   | ]  }t        |        y wNstr.0es     r&   	<genexpr>z"Models.retrieve.<locals>.<genexpr>N        9PQ#a&9P   /v1/models/{model_id}model_idr/   r0   r1   r2   optionscast_to	
ValueErrorr   r   joinr   _getr   r   r   r%   rD   r.   r/   r0   r1   r2   s          r&   retrievezModels.retrieve,   s    > VW_Vbcdd
/T\]bTc9P%9P1Pirst
"
 yy1HE(+Q[el   
 	
r(   after_id	before_idlimitr.   r/   r0   r1   r2   c                  i t        dt        |      rdj                  d |D              nt        i      |xs i }| j	                  dt
        t           t        ||||t        |||dt        j                              t              S )  
        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`.

          betas: Optional header to specify the beta version(s) you want to use.

          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
        r6   r7   c              3  2   K   | ]  }t        |        y wr9   r:   r<   s     r&   r?   zModels.list.<locals>.<genexpr>   r@   rA   
/v1/modelsrP   rQ   rR   r/   r0   r1   r2   querypagerG   model)r   r   rK   r   _get_api_listr   r   r   r   r   ModelListParams	r%   rP   rQ   rR   r.   r/   r0   r1   r2   s	            r&   listzModels.listY   s    R
/T\]bTc9P%9P1Pirst
"
 !!)$(+'%%$,%.!&
 &55 # " 
 	
r(   )returnr#   )ra   r+   rD   r;   r.   List[AnthropicBetaParam] | Omitr/   Headers | Noner0   Query | Noner1   Body | Noner2   'float | httpx.Timeout | None | NotGivenra   r   )rP   
str | OmitrQ   rh   rR   
int | Omitr.   rc   r/   rd   r0   re   r1   rf   r2   rg   ra   zSyncPage[ModelInfo]
__name__
__module____qualname__r   r'   r,   r   r   rN   r`    r(   r&   r   r      s    + + 1 1 26 )-$("&;D+
+
 /	+
 &+
 "+
  +
 9+
 
+
`  $ $ 15 )-$("&;D?
 ?
 	?

 ?
 /?
 &?
 "?
  ?
 9?
 
?
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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|      i t        dt        |      rdj                  d |D              nt        i      |xs i }| j                  t        d|      t        ||||      t               d	{   S 7 w)
r4   r5   r6   r7   c              3  2   K   | ]  }t        |        y wr9   r:   r<   s     r&   r?   z'AsyncModels.retrieve.<locals>.<genexpr>   r@   rA   rB   rC   rE   rF   NrI   rM   s          r&   rN   zAsyncModels.retrieve   s     > VW_Vbcdd
/T\]bTc9P%9P1Pirst
"
 YY1HE(+Q[el   
 
 	
 
s   B B	BB	rO   c                  i t        dt        |      rdj                  d |D              nt        i      |xs i }| j	                  dt
        t           t        ||||t        |||dt        j                              t              S )rT   r6   r7   c              3  2   K   | ]  }t        |        y wr9   r:   r<   s     r&   r?   z#AsyncModels.list.<locals>.<genexpr>  r@   rA   rV   rW   rX   rZ   )r   r   rK   r   r]   r   r   r   r   r   r^   r_   s	            r&   r`   zAsyncModels.list   s    R
/T\]bTc9P%9P1Pirst
"
 !!9%(+'%%$,%.!&
 &55 # " 
 	
r(   )ra   rq   )ra   rs   rb   )rP   rh   rQ   rh   rR   ri   r.   rc   r/   rd   r0   re   r1   rf   r2   rg   ra   z/AsyncPaginator[ModelInfo, AsyncPage[ModelInfo]]rj   rn   r(   r&   r   r      s    0 0 6 6 26 )-$("&;D+
+
 /	+
 &+
 "+
  +
 9+
 
+
`  $ $ 15 )-$("&;D?
 ?
 	?

 ?
 /?
 &?
 "?
  ?
 9?
 
9?
r(   c                      e Zd ZddZy)r#   c                    || _         t        j                  |j                        | _        t        j                  |j                        | _        y r9   )_modelsr   to_raw_response_wrapperrN   r`   r%   modelss     r&   __init__zModelsWithRawResponse.__init__  s=    (@@OO
 %<<KK
	r(   Nr}   r   ra   Nonerk   rl   rm   r~   rn   r(   r&   r#   r#         
r(   r#   c                      e Zd ZddZy)rq   c                    || _         t        j                  |j                        | _        t        j                  |j                        | _        y r9   )rz   r   async_to_raw_response_wrapperrN   r`   r|   s     r&   r~   z#AsyncModelsWithRawResponse.__init__+  s=    (FFOO
 %BBKK
	r(   Nr}   r   ra   r   r   rn   r(   r&   rq   rq   *  r   r(   rq   c                      e Zd ZddZy)r+   c                z    || _         t        |j                        | _        t        |j                        | _        y r9   )rz   r   rN   r`   r|   s     r&   r~   z$ModelsWithStreamingResponse.__init__7  s1    4OO
 1KK
	r(   Nr   r   rn   r(   r&   r+   r+   6  r   r(   r+   c                      e Zd ZddZy)rs   c                z    || _         t        |j                        | _        t        |j                        | _        y r9   )rz   r   rN   r`   r|   s     r&   r~   z)AsyncModelsWithStreamingResponse.__init__C  s1    :OO
 7KK
	r(   Nr   r   rn   r(   r&   rs   rs   B  r   r(   rs   )/
__future__r   typingr   httpx r   typesr   _typesr   r	   r
   r   r   r   r   _utilsr   r   r   r   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   _base_clientr   r   types.model_infor   types.anthropic_beta_paramr   __all__r   r   r#   rq   r+   rs   rn   r(   r&   <module>r      s    #    % J J J N N % 9 X , ? ( ;]
#@
_ @
F@
" @
F	
 	
	
 	
	
 	
	
 	
r(   