o
    i)                     @   s   d dl mZmZmZ d dlmZmZ d dlmZm	Z	 G dd deZ
G dd deZG dd	 d	eZG d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZdS )    )	BaseModelFieldfield_validator)BaseSettingsSettingsConfigDict)ListOptionalc                   @   sB   e Zd ZU eed< ee ed< eed< eed< eed< eed< dS )NodeVersion	changelogdependencies
deprecatedidversiondownload_urlN)__name__
__module____qualname__str__annotations__r   bool r   r   0/mnt/c/Users/fbmor/ComfyUI/comfy_config/types.pyr	   	   s   
 r	   c                   @   s   e Zd ZU eed< eed< eed< dZee ed< dZee ed< dZee ed< dZ	ee ed< e
ed	Zee ed
< dZee ed< dS )Noder   namedescriptionNauthorlicenseicon
repositorydefault_factorytagslatest_version)r   r   r   r   r   r   r   r   r   r   r   listr!   r   r"   r	   r   r   r   r   r      s   
 r   c                   @   s   e Zd ZU eed< eed< dS )PublishNodeVersionResponsenode_version	signedUrlN)r   r   r   r	   r   r   r   r   r   r   r$         
 r$   c                   @   s^   e Zd ZU edddZeed< edddZeed< edddZeed< edd	dZ	eed
< dS )URLs HomepagedefaultaliashomepageDocumentationdocumentation
Repositoryr   IssuesissuesN)
r   r   r   r   r.   r   r   r0   r   r3   r   r   r   r   r(   #   s
   
 r(   c                   @   s   e Zd ZU eed< eed< dS )Modellocation	model_urlN)r   r   r   r   r   r   r   r   r   r4   *   r'   r4   c                   @   s   e Zd ZU edddZeed< edddZeed< edddZeed< ee	d	d
Z
ee ed< ee	dZee ed< dZee ed< dZeed< dS )ComfyConfigr)   PublisherIdr+   publisher_idDisplayNamedisplay_nameIconr   Models)r    r-   modelsr   includesNweb
banner_url)r   r   r   r   r9   r   r   r;   r   r#   r>   r   r4   r?   r@   r   rA   r   r   r   r   r7   /   s   
 r7   c                   @   s&   e Zd ZU dZeed< dZeed< dS )Licenser)   filetextN)r   r   r   rC   r   r   rD   r   r   r   r   rB   8   s   
 rB   c                   @   s   e Zd ZU dZeed< dZeed< dZeed< edddZ	eed	< ee
d
Zee ed< eed
Zeed< eed
Zeed< ee
d
Zee ed< ee
d
Zee ed< dZeed< dZeed< edddedd ZdS )ProjectConfigr)   r   r   z1.0.0r   z>= 3.9zrequires-pythonr+   requires_pythonr   r   r   urlssupported_ossupported_acceleratorssupported_comfyui_version"supported_comfyui_frontend_versionbefore)modec                 C   s@   t |tr
t|dS t |trtdi |S t |tr|S t S )N)rD   r   )
isinstancer   rB   dict)clsvr   r   r   validate_licenseJ   s   



zProjectConfig.validate_licenseN)r   r   r   r   r   r   r   r   r   rF   r#   r   r   rB   r   r(   rG   rH   rI   rJ   rK   r   classmethodrR   r   r   r   r   rE   =   s   
 
rE   c                   @   s2   e Zd ZU eedZeed< eedZeed< dS )PyProjectConfigr   project
tool_comfyN)	r   r   r   r   rE   rU   r   r7   rV   r   r   r   r   rT   W   s   
 rT   c                   @   s<   e Zd ZU eedZeed< eedZeed< eddZ	dS )PyProjectSettingsr   rU   toolallow)extraN)
r   r   r   r   rO   rU   r   rX   r   model_configr   r   r   r   rW   \   s   
 rW   N)pydanticr   r   r   pydantic_settingsr   r   typingr   r   r	   r   r$   r(   r4   r7   rB   rE   rT   rW   r   r   r   r   <module>   s    		