| 
									
										
										
										
											2024-11-24 13:28:46 +08:00
										 |  |  | from enum import StrEnum | 
					
						
							| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-24 13:28:46 +08:00
										 |  |  | class FileType(StrEnum): | 
					
						
							| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  |     IMAGE = "image" | 
					
						
							|  |  |  |     DOCUMENT = "document" | 
					
						
							|  |  |  |     AUDIO = "audio" | 
					
						
							|  |  |  |     VIDEO = "video" | 
					
						
							|  |  |  |     CUSTOM = "custom" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     @staticmethod | 
					
						
							|  |  |  |     def value_of(value): | 
					
						
							|  |  |  |         for member in FileType: | 
					
						
							|  |  |  |             if member.value == value: | 
					
						
							|  |  |  |                 return member | 
					
						
							|  |  |  |         raise ValueError(f"No matching enum found for value '{value}'") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-24 13:28:46 +08:00
										 |  |  | class FileTransferMethod(StrEnum): | 
					
						
							| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  |     REMOTE_URL = "remote_url" | 
					
						
							|  |  |  |     LOCAL_FILE = "local_file" | 
					
						
							|  |  |  |     TOOL_FILE = "tool_file" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     @staticmethod | 
					
						
							|  |  |  |     def value_of(value): | 
					
						
							|  |  |  |         for member in FileTransferMethod: | 
					
						
							|  |  |  |             if member.value == value: | 
					
						
							|  |  |  |                 return member | 
					
						
							|  |  |  |         raise ValueError(f"No matching enum found for value '{value}'") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-24 13:28:46 +08:00
										 |  |  | class FileBelongsTo(StrEnum): | 
					
						
							| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  |     USER = "user" | 
					
						
							|  |  |  |     ASSISTANT = "assistant" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     @staticmethod | 
					
						
							|  |  |  |     def value_of(value): | 
					
						
							|  |  |  |         for member in FileBelongsTo: | 
					
						
							|  |  |  |             if member.value == value: | 
					
						
							|  |  |  |                 return member | 
					
						
							|  |  |  |         raise ValueError(f"No matching enum found for value '{value}'") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-24 13:28:46 +08:00
										 |  |  | class FileAttribute(StrEnum): | 
					
						
							| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  |     TYPE = "type" | 
					
						
							|  |  |  |     SIZE = "size" | 
					
						
							|  |  |  |     NAME = "name" | 
					
						
							|  |  |  |     MIME_TYPE = "mime_type" | 
					
						
							|  |  |  |     TRANSFER_METHOD = "transfer_method" | 
					
						
							|  |  |  |     URL = "url" | 
					
						
							|  |  |  |     EXTENSION = "extension" | 
					
						
							| 
									
										
										
										
											2025-03-21 20:57:02 +08:00
										 |  |  |     RELATED_ID = "related_id" | 
					
						
							| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-24 13:28:46 +08:00
										 |  |  | class ArrayFileAttribute(StrEnum): | 
					
						
							| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  |     LENGTH = "length" |