o
    ir                     @   sd   d dl mZ d dlmZmZ d dlmZ dd ZG dd dejZ	G dd	 d	eZ
d
e
fddZdS )    )override)ComfyExtensionio)set_torch_compile_wrapperc                 C   s   dd | D S )Nc                 S   s   g | ]}d |j vqS )transformer_options)name).0entry r
   >/mnt/c/Users/fbmor/ComfyUI/comfy_extras/nodes_torch_compile.py
<listcomp>   s    z+skip_torch_compile_dict.<locals>.<listcomp>r
   )guard_entriesr
   r
   r   skip_torch_compile_dict   s   r   c                   @   s4   e Zd ZedejfddZedejfddZdS )TorchCompileModelreturnc              	   C   s:   t jddt jdt jjdddgddgt j gdd	S )
Nr   _for_testingmodelbackendinductor
cudagraphsT)optionsadvanced)node_idcategoryinputsoutputsis_experimental)r   SchemaModelInputComboOutput)clsr
   r
   r   define_schema	   s   

zTorchCompileModel.define_schemac                 C   s(   |j dd}t||dtid t|S )NT)disable_dynamicguard_filter_fn)r   r   r   )cloner   r   r   
NodeOutput)r"   r   r   mr
   r
   r   execute   s   
zTorchCompileModel.executeN)	__name__
__module____qualname__classmethodr   r   r#   r'   r)   r
   r
   r
   r   r      s
    r   c                   @   s(   e Zd Zedeeej  fddZdS )TorchCompileExtensionr   c                    s   t gS N)r   )selfr
   r
   r   get_node_list"   s   z#TorchCompileExtension.get_node_listN)	r*   r+   r,   r   listtyper   	ComfyNoder1   r
   r
   r
   r   r.   !   s    r.   r   c                      s   t  S r/   )r.   r
   r
   r
   r   comfy_entrypoint)   s   r5   N)typing_extensionsr   comfy_api.latestr   r   comfy_api.torch_helpersr   r   r4   r   r.   r5   r
   r
   r
   r   <module>   s    