
    j                     .   d dl m Z  d dlmZ d dlmZmZmZ  G d de          Z G d de          Z G d d	e          Z	 G d
 de          Z
 G d de          Z G d de          Z G d de          Z G d de          Z G d de          ZdS )    )datetime)Any)	BaseModelFieldmodel_validatorc                      e Zd ZU eed<   eed<   eed<    ee          Zee         ed<   dZe	ed<   dZ
edz  ed	<   dZedz  ed
<   dZedz  ed<   dZedz  ed<   dZe	ed<   dZe	ed<   dZeed<   dZeeef         dz  ed<   dS )	ModelBasecodenametypedefault_factorytagsTenabledN	dimensionremote_model_idcontext_lengthmax_output_tokenssupports_streamFsupports_toolsd   priorityextra_config)__name__
__module____qualname__str__annotations__r   listr   r   boolr   intr   r   r   r   r   r   r   dictr        </lsinfo/ai/hellotax_ai/base_platform/app/schemas/provider.pyr	   r	      s         
III
III
IIIeD111D$s)111GT IsTz   "&OS4Z&&&!%NC$J%%%$(sTz((( OT    ND   Hc*.L$sCx.4'.....r$   r	   c                       e Zd ZU eed<   dS )ModelCreateprovider_idN)r   r   r   r!   r   r#   r$   r%   r'   r'      s         r$   r'   c                      e Zd ZU dZedz  ed<   dZedz  ed<   dZee         dz  ed<   dZ	e
dz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed	<   dZe
dz  ed
<   dZe
dz  ed<   dZedz  ed<   dZeeef         dz  ed<   dS )ModelUpdateNr   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r    r   r!   r   r   r   r   r   r   r   r"   r   r#   r$   r%   r*   r*      s        D#*D#*!D$s)d
!!!GTD[ IsTz   "&OS4Z&&&!%NC$J%%%$(sTz(((#'OTD['''"&ND4K&&&HcDj*.L$sCx.4'.....r$   r*   c                   t    e Zd ZU eed<   eed<   dZedz  ed<   dZeed<   e	ed<   e	ed<    G d	 d
          Z
dS )ModelResponseidr(   Nprovider_nameFis_local
created_at
updated_atc                       e Zd ZdZdS )ModelResponse.ConfigTNr   r   r   from_attributesr#   r$   r%   Configr3   2           r$   r6   )r   r   r   r!   r   r.   r   r/   r    r   r6   r#   r$   r%   r,   r,   *   s         GGG $M3:$$$Hd         r$   r,   c                      e Zd ZU eed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	edz  ed<   dZ
edz  ed<   dZedz  ed	<    ee
          Zee         ed<   dZeed<   dZedz  ed<   dZeeef         dz  ed<   dS )ProviderBaser   Ndescriptioniconcolordefault_base_urlprovider_kindprotocol	auth_typer   capabilitiesFr/   healthcheck_pathr   )r   r   r   r   r   r:   r;   r<   r=   r>   r?   r@   r   r   rA   r/   r    rB   r   r"   r   r#   r$   r%   r9   r9   6   s        
III"Kt"""D#*E3:#'cDj''' $M3:$$$HcDj IsTz   #eD999L$s)999Hd#'cDj'''*.L$sCx.4'.....r$   r9   c                   b    e Zd ZU dZeed<   dZedz  ed<   dZedz  ed<   dZ	e
ed<   dZeed	<   dS )
ProviderCreateF
configuredNapi_keybase_urlr   r   Tr   )r   r   r   rE   r    r   rF   r   rG   r   r!   r   r#   r$   r%   rD   rD   E   sj         JGS4ZHcDjHcGTr$   rD   c                      e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	e
dz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed	<   dZedz  ed
<   dZe
dz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZee         dz  ed<   dZe
dz  ed<   dZedz  ed<   dZeeef         dz  ed<   dS )ProviderUpdateNr   r:   r;   r<   rE   r=   rF   rG   r   r   r>   r?   r@   rA   r/   rB   r   )r   r   r   r   r   r   r:   r;   r<   rE   r    r=   rF   rG   r   r!   r   r>   r?   r@   rA   r   r/   rB   r   r"   r   r#   r$   r%   rI   rI   M   sv        D#*"Kt"""D#*E3:"Jt"""#'cDj'''GS4ZHcDjHcDjGTD[ $M3:$$$HcDj IsTz   %)L$s)d"))) HdTk   #'cDj'''*.L$sCx.4'.....r$   rI   c                       e Zd ZU ddiZ edd          Zedz  ed<    edd          Zedz  ed<   d	Z	e
dz  ed
<   dZedz  ed<   dS )ProviderConfigpopulate_by_nameTNapiKey)aliasrF   baseUrlrG   r   r   r   )r   r   r   model_configr   rF   r   r   rG   r   r!   r   r    r#   r$   r%   rK   rK   a   s         &-L%H555GS4Z555 5Y777HcDj777HcDjGTD[r$   rK   c                       e Zd ZU eed<   eed<   dZedz  ed<   dZedz  ed<   eed<   eed<   e	ed<   e	ed	<    e
e
          Zee         ed<    ed          d             Z G d d          ZdS )ProviderResponser-   rE   NrF   rG   r   r   r0   r1   r   modelsafter)modec                    ddl m} | j        rl	 |                    | j                  }|r0t	          |          dk    r|d d          d|dd           | _        nd| _        n# t
          $ r
 d| _        Y nw xY w| j        r,| j        dk    r!t          | j        p| j                  | _	        n t          | j        p| j
                  | _	        | S )	Nr   )encryption_service      z...z***none)app.core.encryptionrW   rF   decryptlen	Exceptionr@   r    rG   rE   r/   )selfrW   decrypted_keys      r%   process_api_keyz ProviderResponse.process_api_keyt   s    ::::::< 	%% 2 : :4< H H  )S%7%7"%<%<&3BQB&7#P#PM"##<N#P#PDLL#(DL % % %$%> 	Cdn66"4<#@4=AADOO"4=#ADMBBDOs   AA# #A76A7c                       e Zd ZdZdS )ProviderResponse.ConfigTNr4   r#   r$   r%   r6   rd      r7   r$   r6   )r   r   r   r!   r   r    rF   r   rG   r   r   r   rS   r,   r   rb   r6   r#   r$   r%   rR   rR   i   s         GGGGS4ZHcDjMMMMMM"'%"="="=FD===_'"""  #"$         r$   rR   N)r   typingr   pydanticr   r   r   r	   r'   r*   r,   r9   rD   rI   rK   rR   r#   r$   r%   <module>rg      s               6 6 6 6 6 6 6 6 6 6/ / / / /	 / / /     )   / / / / /) / / /	 	 	 	 	I 	 	 	/ / / / /9 / / /    \   / / / / /Y / / /(         Y          |     r$   