18 lines
		
	
	
		
			488 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			488 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from typing import Any
 | 
						|
 | 
						|
from pydantic import GetCoreSchemaHandler
 | 
						|
from pydantic_core import CoreSchema, core_schema
 | 
						|
 | 
						|
 | 
						|
class ModelingCmdId(str):
 | 
						|
    """All commands have unique IDs. These should be randomly generated."""
 | 
						|
 | 
						|
    def __str__(self) -> str:
 | 
						|
        return self
 | 
						|
 | 
						|
    @classmethod
 | 
						|
    def __get_pydantic_core_schema__(
 | 
						|
        cls, source_type: Any, handler: GetCoreSchemaHandler
 | 
						|
    ) -> CoreSchema:
 | 
						|
        return core_schema.no_info_after_validator_function(cls, handler(str))
 |