mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +00:00 
			
		
		
		
	
		
			
	
	
		
			46 lines
		
	
	
		
			838 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			838 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from collections.abc import Sequence | ||
|  | from typing import Literal, Optional | ||
|  | 
 | ||
|  | from pydantic import BaseModel, Field | ||
|  | 
 | ||
|  | SupportedComparisonOperator = Literal[ | ||
|  |     # for string or array | ||
|  |     "contains", | ||
|  |     "not contains", | ||
|  |     "start with", | ||
|  |     "end with", | ||
|  |     "is", | ||
|  |     "is not", | ||
|  |     "empty", | ||
|  |     "not empty", | ||
|  |     # for number | ||
|  |     "=", | ||
|  |     "≠", | ||
|  |     ">", | ||
|  |     "<", | ||
|  |     "≥", | ||
|  |     "≤", | ||
|  |     # for time | ||
|  |     "before", | ||
|  |     "after", | ||
|  | ] | ||
|  | 
 | ||
|  | 
 | ||
|  | class Condition(BaseModel): | ||
|  |     """
 | ||
|  |     Conditon detail | ||
|  |     """
 | ||
|  | 
 | ||
|  |     name: str | ||
|  |     comparison_operator: SupportedComparisonOperator | ||
|  |     value: str | Sequence[str] | None | int | float = None | ||
|  | 
 | ||
|  | 
 | ||
|  | class MetadataCondition(BaseModel): | ||
|  |     """
 | ||
|  |     Metadata Condition. | ||
|  |     """
 | ||
|  | 
 | ||
|  |     logical_operator: Optional[Literal["and", "or"]] = "and" | ||
|  |     conditions: Optional[list[Condition]] = Field(default=None, deprecated=True) |