"""
系统设置模型

包含全局配置，如思考标签前后缀等。
"""
from typing import Optional
from pydantic import BaseModel, Field
from datetime import datetime


class SystemSettings(BaseModel):
    """
    系统全局设置
    
    持久化存储到 data/system_settings.json
    """
    
    # ==================== 思考标签配置 ====================
    thinkingTagPrefix: str = Field(
        "<thinking>",
        description="思考标签前缀（默认：<thinking>）"
    )
    thinkingTagSuffix: str = Field(
        "</thinking>",
        description="思考标签后缀（默认：</thinking>）"
    )
    
    # ==================== 当前选中的预设 ====================
    currentPresetName: Optional[str] = Field(
        None,
        description="当前选中的预设名称（用于确定全局正则的作用域）"
    )
    
    # ==================== 元数据 ====================
    updatedAt: int = Field(
        default_factory=lambda: int(datetime.now().timestamp()),
        description="最后更新时间戳"
    )
    version: int = Field(1, description="版本号")


# ==================== 默认设置 ====================

DEFAULT_SYSTEM_SETTINGS = SystemSettings()


if __name__ == '__main__':
    import json
    print(json.dumps(DEFAULT_SYSTEM_SETTINGS.dict(), indent=2, ensure_ascii=False))
