"""Configuration for automatic thread title generation.""" from pydantic import BaseModel, ConfigDict, Field class TitleConfig(BaseModel): """Configuration for automatic thread title generation.""" model_config = ConfigDict(frozen=True) enabled: bool = Field( default=True, description="Whether to enable automatic title generation", ) max_words: int = Field( default=6, ge=1, le=20, description="Maximum number of words in the generated title", ) max_chars: int = Field( default=60, ge=10, le=200, description="Maximum number of characters in the generated title", ) model_name: str | None = Field( default=None, description="Model name to use for title generation (None = use default model)", ) prompt_template: str = Field( default=("Generate a concise title (max {max_words} words) for this conversation.\nUser: {user_msg}\nAssistant: {assistant_msg}\n\nReturn ONLY the title, no quotes, no explanation."), description="Prompt template for title generation", )