|  | @@ -1,5 +1,6 @@
 | 
	
		
			
				|  |  |  import json
 | 
	
		
			
				|  |  |  from collections.abc import Mapping, Sequence
 | 
	
		
			
				|  |  | +from datetime import datetime
 | 
	
		
			
				|  |  |  from enum import Enum
 | 
	
		
			
				|  |  |  from typing import Any, Optional, Union
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -110,19 +111,32 @@ class Workflow(db.Model):
 | 
	
		
			
				|  |  |          db.Index('workflow_version_idx', 'tenant_id', 'app_id', 'version'),
 | 
	
		
			
				|  |  |      )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    id = db.Column(StringUUID, server_default=db.text('uuid_generate_v4()'))
 | 
	
		
			
				|  |  | -    tenant_id = db.Column(StringUUID, nullable=False)
 | 
	
		
			
				|  |  | -    app_id = db.Column(StringUUID, nullable=False)
 | 
	
		
			
				|  |  | -    type = db.Column(db.String(255), nullable=False)
 | 
	
		
			
				|  |  | -    version = db.Column(db.String(255), nullable=False)
 | 
	
		
			
				|  |  | -    graph = db.Column(db.Text)
 | 
	
		
			
				|  |  | -    features = db.Column(db.Text)
 | 
	
		
			
				|  |  | -    created_by = db.Column(StringUUID, nullable=False)
 | 
	
		
			
				|  |  | -    created_at = db.Column(db.DateTime, nullable=False, server_default=db.text('CURRENT_TIMESTAMP(0)'))
 | 
	
		
			
				|  |  | -    updated_by = db.Column(StringUUID)
 | 
	
		
			
				|  |  | -    updated_at = db.Column(db.DateTime)
 | 
	
		
			
				|  |  | -    _environment_variables = db.Column('environment_variables', db.Text, nullable=False, server_default='{}')
 | 
	
		
			
				|  |  | -    _conversation_variables = db.Column('conversation_variables', db.Text, nullable=False, server_default='{}')
 | 
	
		
			
				|  |  | +    id: Mapped[str] = db.Column(StringUUID, server_default=db.text('uuid_generate_v4()'))
 | 
	
		
			
				|  |  | +    tenant_id: Mapped[str] = db.Column(StringUUID, nullable=False)
 | 
	
		
			
				|  |  | +    app_id: Mapped[str] = db.Column(StringUUID, nullable=False)
 | 
	
		
			
				|  |  | +    type: Mapped[str] = db.Column(db.String(255), nullable=False)
 | 
	
		
			
				|  |  | +    version: Mapped[str] = db.Column(db.String(255), nullable=False)
 | 
	
		
			
				|  |  | +    graph: Mapped[str] = db.Column(db.Text)
 | 
	
		
			
				|  |  | +    features: Mapped[str] = db.Column(db.Text)
 | 
	
		
			
				|  |  | +    created_by: Mapped[str] = db.Column(StringUUID, nullable=False)
 | 
	
		
			
				|  |  | +    created_at: Mapped[datetime] = db.Column(db.DateTime, nullable=False, server_default=db.text('CURRENT_TIMESTAMP(0)'))
 | 
	
		
			
				|  |  | +    updated_by: Mapped[str] = db.Column(StringUUID)
 | 
	
		
			
				|  |  | +    updated_at: Mapped[datetime] = db.Column(db.DateTime)
 | 
	
		
			
				|  |  | +    _environment_variables: Mapped[str] = db.Column('environment_variables', db.Text, nullable=False, server_default='{}')
 | 
	
		
			
				|  |  | +    _conversation_variables: Mapped[str] = db.Column('conversation_variables', db.Text, nullable=False, server_default='{}')
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    def __init__(self, *, tenant_id: str, app_id: str, type: str, version: str, graph: str,
 | 
	
		
			
				|  |  | +                 features: str, created_by: str, environment_variables: Sequence[Variable],
 | 
	
		
			
				|  |  | +                 conversation_variables: Sequence[Variable]):
 | 
	
		
			
				|  |  | +        self.tenant_id = tenant_id
 | 
	
		
			
				|  |  | +        self.app_id = app_id
 | 
	
		
			
				|  |  | +        self.type = type
 | 
	
		
			
				|  |  | +        self.version = version
 | 
	
		
			
				|  |  | +        self.graph = graph
 | 
	
		
			
				|  |  | +        self.features = features
 | 
	
		
			
				|  |  | +        self.created_by = created_by
 | 
	
		
			
				|  |  | +        self.environment_variables = environment_variables or []
 | 
	
		
			
				|  |  | +        self.conversation_variables = conversation_variables or []
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @property
 | 
	
		
			
				|  |  |      def created_by_account(self):
 |