o
    wiK                     @  s   d 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 ddlmZmZmZ ddlmZmZ erBdd	lmZ G d
d deddZG dd deeZG dd deeZG dd deeZG dd deeZG dd deeZdS )zCBase classes and other customizations for generated pydantic types.    )annotations)ABC)TYPE_CHECKINGAnyCallableClassVarDictLiteraloverload)	BaseModel
ConfigDict)	TypedDictUnpackoverride   )PydanticCompatMixinto_camel)IncExc                   @  sr   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S )ModelDumpKwargszShared keyword arguments for `BaseModel.model_{dump,dump_json}`.

    Newer pydantic versions may accept more arguments than are listed here.
    Last updated for pydantic v2.12.0.
    zIncEx | Noneincludeexcludez
Any | Nonecontextzbool | Noneby_aliasboolexclude_unsetexclude_defaultsexclude_noneexclude_computed_fields
round_tripz'bool | Literal['none', 'warn', 'error']warningszCallable[[Any], Any] | Nonefallbackserialize_as_anyN)__name__
__module____qualname____doc____annotations__ r'   r'   H/home/ubuntu/.local/lib/python3.10/site-packages/wandb/_pydantic/base.pyr      s   
 r   F)totalc                   @  s   e Zd ZdZdS )CompatBaseModelN)r"   r#   r$   r%   r'   r'   r'   r(   r*   3   s    r*   c                	      s   e Zd ZU eddddddddZedddZded< edddZ	edddZ	e
ddd fddZ	edddZedddZe
ddd  fddZ  ZS )!JsonableModelT)populate_by_namevalidate_by_namevalidate_by_aliasserialize_by_aliasvalidate_assignmentuse_attribute_docstringsfrom_attributes)r   r   ClassVar[Dict[str, Any]]_JsonableModel__DUMP_DEFAULTSmodestrkwargsUnpack[ModelDumpKwargs]returndict[str, Any]c                K     d S Nr'   selfr5   r7   r'   r'   r(   
model_dump]      zJsonableModel.model_dumpr   c                 K  r;   r<   r'   r>   r7   r'   r'   r(   r?   a      jsonr5   c                  $   i | j |}t jdd|i|S Nr5   r'   )r4   superr?   r=   	__class__r'   r(   r?   d      indent
int | Nonec                K  r;   r<   r'   r>   rK   r7   r'   r'   r(   model_dump_jsoni   r@   zJsonableModel.model_dump_jsonc                 K  r;   r<   r'   rA   r'   r'   r(   rN   m   rB   NrK   c                  rE   NrK   r'   )r4   rG   rN   rM   rH   r'   r(   rN   p   rJ   )r5   r6   r7   r8   r9   r:   )r7   r   r9   r:   r5   r6   r7   r   r9   r:   )rK   rL   r7   r8   r9   r6   )r7   r   r9   r6   rK   rL   r7   r   r9   r6   )r"   r#   r$   r   model_configdictr4   r&   r
   r?   r   rN   __classcell__r'   r'   rH   r(   r+   7   s.   
 r+   c                   @  s   e Zd ZeddddZdS )GQLBaseTalwaysr'   )validate_defaultrevalidate_instancesprotected_namespacesN)r"   r#   r$   r   rS   r'   r'   r'   r(   rV   w   s    
rV   c                   @  s   e Zd ZeeddZdS )	GQLResultT)alias_generatorfrozenN)r"   r#   r$   r   r   rS   r'   r'   r'   r(   r[      s
    
r[   c                      sT   e Zd ZU eddZded< eddd fddZeddd fddZ  Z	S )GQLInputT)r   r3   _GQLInput__DUMP_DEFAULTSrC   rD   r5   r6   r7   r   r9   r:   c                  rE   rF   )r_   rG   r?   r=   rH   r'   r(   r?      rJ   zGQLInput.model_dumpNrO   rK   rL   c                  rE   rP   )r_   rG   rN   rM   rH   r'   r(   rN      rJ   zGQLInput.model_dump_jsonrQ   rR   )
r"   r#   r$   rT   r_   r&   r   r?   rN   rU   r'   r'   rH   r(   r^      s   
 r^   N)r%   
__future__r   abcr   typingr   r   r   r   r   r	   r
   pydanticr   r   typing_extensionsr   r   r   	v1_compatr   r   pydantic.mainr   r   r*   r+   rV   r[   r^   r'   r'   r'   r(   <module>   s    $ @		