o
    -wiR
                     @  s   d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
mZ ddlmZ dd	lmZmZ dd
lmZmZ ddlmZ G dd deZG dd de
dddZddgZdS )    )annotations)datetime)Optional)Field)	Annotated)GQLBaseGQLId   )TriggerFields)InputActionSavedAction)
InputEvent
SavedEvent)AutomationScopec                   @  sl   e Zd ZU dZded< ded< 	 dZded< 	 d	ed
< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< dS )
Automationz+A local instance of a saved W&B automation.r   idzFAnnotated[datetime, Field(repr=False, frozen=True, alias='createdAt')]
created_atNzPAnnotated[Optional[datetime], Field(repr=False, frozen=True, alias='updatedAt')]
updated_atstrnameOptional[str]descriptionboolenabledr   eventr   scoper   action)__name__
__module____qualname____doc____annotations__r    r"   r"   Z/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/wandb/automations/automations.pyr      s(   
 
r   c                   @  st   e Zd ZU dZdZded< 	 dZded< 	 dZded< 	 dZded	< 	 e	dddZ
e
jdddZ
dZded< dS )NewAutomationzA new automation to be created.Nr   r   r   zOptional[bool]r   zOptional[InputEvent]r   returnOptional[AutomationScope]c                 C  s   | j r| j jS dS )z3The scope in which the triggering event must occur.N)r   r   )selfr"   r"   r#   r   C   s   zNewAutomation.scopevaluer   Nonec                 C  s   | j d u r	td|| j _d S )Nz4Cannot set `scope` for an automation with no `event`)r   
ValueErrorr   )r'   r(   r"   r"   r#   r   H   s   
zOptional[InputAction]r   )r%   r&   )r(   r   r%   r)   )r   r   r   r    r   r!   r   r   r   propertyr   setterr   r"   r"   r"   r#   r$   3   s    
 r$   forbidF)extravalidate_defaultN)
__future__r   r   typingr   pydanticr   typing_extensionsr   wandb._pydanticr   r   
_generatedr
   actionsr   r   eventsr   r   scopesr   r   r$   __all__r"   r"   r"   r#   <module>   s      