mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 19:03:09 +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)
 | 
