| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 
							- from enum import Enum
 - 
 - from pydantic import BaseModel, ValidationInfo, field_validator
 - 
 - 
 - class TracingProviderEnum(Enum):
 -     LANGFUSE = 'langfuse'
 -     LANGSMITH = 'langsmith'
 - 
 - 
 - class BaseTracingConfig(BaseModel):
 -     """
 -     Base model class for tracing
 -     """
 -     ...
 - 
 - 
 - class LangfuseConfig(BaseTracingConfig):
 -     """
 -     Model class for Langfuse tracing config.
 -     """
 -     public_key: str
 -     secret_key: str
 -     host: str = 'https://api.langfuse.com'
 - 
 -     @field_validator("host")
 -     def set_value(cls, v, info: ValidationInfo):
 -         if v is None or v == "":
 -             v = 'https://api.langfuse.com'
 -         if not v.startswith('https://'):
 -             raise ValueError('host must start with https://')
 - 
 -         return v
 - 
 - 
 - class LangSmithConfig(BaseTracingConfig):
 -     """
 -     Model class for Langsmith tracing config.
 -     """
 -     api_key: str
 -     project: str
 -     endpoint: str = 'https://api.smith.langchain.com'
 - 
 -     @field_validator("endpoint")
 -     def set_value(cls, v, info: ValidationInfo):
 -         if v is None or v == "":
 -             v = 'https://api.smith.langchain.com'
 -         if not v.startswith('https://'):
 -             raise ValueError('endpoint must start with https://')
 - 
 -         return v
 
 
  |