U
    “öhy  ã                   @   sê   d dl Z d dlmZmZmZ d dlm  mZ d dl	m
Z d dlmZ d dlmZ i adadadadaddddddœee eejedf eedf eejedf eejj dœdd„Zejd	œd
d„Zdd„ Zejd	œdd„Z dd„ Z!dS )é    N)ÚcastÚOptionalÚUnion)Úcredentials)Úclient_options)Úgapic_v1)Úapi_keyr   Ú	transportr   Úclient_infoc                 C   sž   t |tƒrt |¡}|dkr$t ¡ }ttj|ƒ}t|ddƒ}|rR| dk	rjtdƒ‚n| dkrdt 	d¡} | |_
||||dœ}dd„ | ¡ D ƒ}|adadadadS )aq  Captures default client configuration.

    If no API key has been provided (either directly, or on `client_options`) and the
    `GOOGLE_API_KEY` environment variable is set, it will be used as the API key.

    Args:
        Refer to `glm.DiscussServiceClient`, and `glm.ModelsServiceClient` for details on additional arguments.
        api_key: The API-Key to use when creating the default clients (each service uses
            a separate client). This is a shortcut for `client_options={"api_key": api_key}`.
            If omitted, and the `GOOGLE_API_KEY` environment variable is set, it will be
            used.
    Nr   z=You can't set both `api_key` and `client_options['api_key']`.ZGOOGLE_API_KEY)r   r	   r   r
   c                 S   s   i | ]\}}|d k	r||“qS ©N© )Ú.0ÚkeyÚvaluer   r   ú>/tmp/pip-unpacked-wheel-doshhd5e/google/generativeai/client.pyÚ
<dictcomp>[   s   þ zconfigure.<locals>.<dictcomp>)Ú
isinstanceÚdictÚclient_options_libÚ	from_dictÚClientOptionsr   ÚgetattrÚ
ValueErrorÚosÚgetenvr   ÚitemsÚdefault_client_configÚdefault_discuss_clientÚdefault_text_clientÚdefault_model_client)r   r   r	   r   r
   Zhad_api_key_valueZnew_default_client_configr   r   r   Ú	configure!   s4    

ÿ
üþr    )Úreturnc                   C   s"   t d krtstƒ  tjf tŽa t S r   )r   r   r    ÚglmÚDiscussServiceClientr   r   r   r   Úget_default_discuss_clientg   s
    r$   c                   C   s"   t d krtstƒ  tjf tŽa t S r   )r   r   r    r"   ZTextServiceClientr   r   r   r   Úget_default_text_clientr   s
    r%   c                   C   s"   t d krtstƒ  tjf tŽa t S r   )Údefault_discuss_async_clientr   r    r"   ÚDiscussServiceAsyncClientr   r   r   r   Ú get_default_discuss_async_client}   s    ÿr(   c                   C   s"   t d krtstƒ  tjf tŽa t S r   )r   r   r    r"   ZModelServiceClientr   r   r   r   Úget_default_model_clientŠ   s
    r)   )"r   Útypingr   r   r   Zgoogle.ai.generativelanguageZaiZgenerativelanguager"   Zgoogle.authr   Zga_credentialsZgoogle.api_corer   r   r   r   r   r&   r   r   ÚstrZCredentialsr   r   r
   Z
ClientInfor    r#   r$   r%   r'   r(   r)   r   r   r   r   Ú<module>   s4   ô

ôF