
    2Rj	                        U d dl mZ d dlmZmZ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  G d	 d
      Ze	 G d d             Z G d de      Z e       Zded<   ddZddZddZddZy)    )annotations)CallableProtocol	Awaitable)WeakKeyDictionary)	dataclassN   )FinalRequestOptions)OpenAIErrorc                      e Zd ZdZdZy)	_ProviderzBOpaque configuration returned by an OpenAI-owned provider factory.)__weakref__N)__name__
__module____qualname____doc__	__slots__     X/var/www/html/meridian/meridian-ai/venv/lib/python3.12/site-packages/openai/_provider.pyr   r      s
    L Ir   r   c                  v    e Zd ZU ded<   ded<   dZded<   dZded	<   dZd
ed<   dZded<   dZded<   dZ	ded<   y)_ProviderRuntimestrnamezstr | httpx.URLbase_urlNz;Callable[[FinalRequestOptions], FinalRequestOptions] | Nonetransform_requestzFCallable[[FinalRequestOptions], Awaitable[FinalRequestOptions]] | Nonetransform_async_requestz&Callable[[httpx.Request], None] | Noneprepare_requestz1Callable[[httpx.Request], Awaitable[None]] | Noneprepare_async_requestz1Callable[[httpx.Response], httpx.Response] | Nonenormalize_responsez<Callable[[httpx.Response], Awaitable[httpx.Response]] | Nonenormalize_async_response)
r   r   r   __annotations__r   r   r   r   r    r!   r   r   r   r   r      sT    
IUYRYfjcj>BO;BOSLSLPIP]aZar   r   c                  &    e Zd Zedd       ZddZy)_ProviderDefinitionc                     y Nr   selfs    r   r   z_ProviderDefinition.name    s    r   c                     y r&   r   r'   s    r   	configurez_ProviderDefinition.configure#   s    r   N)returnr   )r+   r   )r   r   r   propertyr   r*   r   r   r   r$   r$      s     0r   r$   z1WeakKeyDictionary[_Provider, _ProviderDefinition]_provider_definitionsc                ,    t               }| t        |<   |S r&   )r   r-   )
definitionproviders     r   _create_providerr1   /   s    {H&0(#Or   c                ,    t        |       j                  S r&   )_get_provider_definitionr   r0   s    r   _provider_namer5   5   s    #H-222r   c                4    t        |       j                         S r&   )r3   r*   r4   s    r   _configure_providerr7   9   s    #H-7799r   c                \    	 t         |    S # t        t        f$ r}t        d      |d }~ww xY w)NzJInvalid provider. Providers must be created by an OpenAI provider factory.)r-   KeyError	TypeErrorr   )r0   excs     r   r3   r3   =   s9    q$X..i  qfgmppqs    +&+)r/   r$   r+   r   )r0   r   r+   r   )r0   r   r+   r   )r0   r   r+   r$   )
__future__r   typingr   r   r   weakrefr   dataclassesr   httpx_modelsr
   _exceptionsr   r   r   r$   r-   r"   r1   r5   r7   r3   r   r   r   <module>rC      sw    " 0 0 % !  ( $! ! b b b1( 1 L]K^ H ^3:qr   