o
    wi{
                     @  s   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 ddlmZmZ dd	lmZmZ dd
lmZ G dd deddZG dd de
dddZddgZdS )    )annotations)datetime)	AnnotatedOptional)Field)GQLIdGQLInput   )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 )
AutomationzAA local instance of a saved W&B automation that supports editing.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"   Q/home/ubuntu/.local/lib/python3.10/site-packages/wandb/automations/automations.pyr      s(   
 
r   F)frozenc                   @  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%   forbid)extravalidate_defaultN)
__future__r   r   typingr   r   pydanticr   wandb._pydanticr   r   
_generatedr
   actionsr   r   eventsr   r   scopesr   r   r%   __all__r"   r"   r"   r#   <module>   s      