
    0j                        d Z ddlmZ ddlmZmZ ddlmZmZm	Z	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mZ ddlmZ d	d
lmZ d	dlmZ  G d ded          Ze G d d                      ZddZdS )z[
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License.
    )annotations)	dataclassfield)Any	AwaitableCallableListOptional	TypedDictUnioncast)ApiClientSettings)CloudEnvironment)ClientClientOptionsStorage)Unpack   )HttpServerAdapter)
PluginBasec                      e Zd ZU dZded<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded	<   	 d
ed<   	 ded<   ded<   ded<   ded<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded<   dS )
AppOptionsz(Configuration options for the Teams App.Optional[str]	client_idclient_secret	tenant_idapplication_id_uriVOptional[Callable[[Union[str, list[str]], Optional[str]], Union[str, Awaitable[str]]]]tokenmanaged_identity_client_id&Optional[Union[Client, ClientOptions]]clientOptional[Storage[str, Any]]storagezOptional[List[PluginBase]]pluginszOptional[bool]	skip_authOptional[HttpServerAdapter]http_server_adaptermessaging_endpointdefault_connection_nameOptional[ApiClientSettings]api_client_settingsservice_urlOptional[CloudEnvironment]cloudN)__name__
__module____qualname____doc____annotations__     d/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/microsoft_teams/apps/options.pyr   r      s        220    U9%%%%@ baaao .--- 3222e )((('''' 5444Q%%%%Q +***S 54442  &%%% r6   r   F)totalc                  <   e Zd ZU dZdZded<   dZded<   	  e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<   	 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<   	 dZded<   	 dZd ed!<   	 ed'd&            ZdS )(InternalAppOptionszHInternal dataclass for AppOptions with defaults and non-nullable fields.Fboolr&   graphstrr*   c                     g S Nr5   r5   r6   r7   <lambda>zInternalAppOptions.<lambda>`   s    b r6   )default_factoryzList[PluginBase]r%   Nr+   r,   r!   r"   r   r   r   r   r   r   r   r    r#   r$   r-   r'   r(   z/api/messagesr)   r.   r/   optionsr   return'InternalAppOptions'c                N    d |                                 D             } | di |S )a  
        Create InternalAppOptions from AppOptions TypedDict with defaults applied.

        Args:
            options: AppOptions TypedDict (potentially with None values)

        Returns:
            InternalAppOptions with proper defaults and non-nullable required fields
        c                    i | ]
\  }}|||S r?   r5   ).0kvs      r7   
<dictcomp>z5InternalAppOptions.from_typeddict.<locals>.<dictcomp>   s    !T!T!T41aam!Qmmmr6   r5   )items)clsrB   kwargss      r7   from_typeddictz!InternalAppOptions.from_typeddict   s2     "U!T7==??!T!T!Ts}}V}}r6   )rB   r   rC   rD   )r0   r1   r2   r3   r&   r4   r*   r   r%   r,   r"   r   r   r   r   r   r    r$   r-   r(   r)   r/   classmethodrN   r5   r6   r7   r:   r:   X   s        RR I#*****> %jj A A AGAAAA7;;;;;2 6:F9999B  $I####0#'M''''U#I####9(,,,,,@dhEhhhho044444 ,0G////!%K%%%%
 8<;;;;Q-----Q(,E,,,,8   [  r6   r:   rB   Unpack[AppOptions]rC   c                 @    ddg d}t          t          i ||           S )z
    Create AppOptions with default values merged with provided options.

    Args:
        **options: Configuration options to override defaults

    Returns:
        AppOptions with defaults applied
    Fr<   )r&   r*   r%   )r   r   )rB   defaultss     r7   merge_app_options_with_defaultsrS      s6     #* H 
3x373444r6   N)rB   rP   rC   r   ) r3   
__future__r   dataclassesr   r   typingr   r   r   r	   r
   r   r   r   microsoft_teams.apir   *microsoft_teams.api.auth.cloud_environmentr   microsoft_teams.commonr   r   r   typing_extensionsr   http.adapterr   r%   r   r   r:   rS   r5   r6   r7   <module>r\      s}   
 # " " " " " ( ( ( ( ( ( ( ( S S S S S S S S S S S S S S S S S S S S 1 1 1 1 1 1 G G G G G G A A A A A A A A A A $ $ $ $ $ $ + + + + + +      A A A A A% A A A AH < < < < < < < <~5 5 5 5 5 5r6   