"""
项目配置

定义项目的运行配置。
"""

from agent.core.runner import KnowledgeConfig, RunConfig


# ===== Agent 运行配置 =====

RUN_CONFIG = RunConfig(
    # 模型配置
    model="claude-sonnet-4.5",
    temperature=0.3,
    max_iterations=1000,

    # 任务名称
    name="Create Agent",

    # 知识管理配置
    knowledge=KnowledgeConfig(
        # 压缩时提取（消息量超阈值触发压缩时，用完整 history 反思）
        enable_extraction=True,
        reflect_prompt="",  # 自定义反思 prompt；空则使用默认，见 agent/core/prompts/knowledge.py:REFLECT_PROMPT

        # agent运行完成后提取（不代表任务完成，agent 可能中途退出等待人工评估）
        enable_completion_extraction=True,
        completion_reflect_prompt="",  # 自定义复盘 prompt；空则使用默认，见 agent/core/prompts/knowledge.py:COMPLETION_REFLECT_PROMPT

        # 知识注入（agent切换当前工作的goal时，自动注入相关知识）
        enable_injection=True,

        # 默认字段（保存/搜索时自动注入）
        owner="",  # 所有者（空则尝试从 git config user.email 获取，再空则用 agent:{agent_id}）
        default_tags={"project": "create", "domain": "content_creation"},  # 默认 tags（会与工具调用参数合并）
        default_scopes=["org:cybertogether"],  # 默认 scopes
        default_search_types=["strategy", "tool"],  # 默认搜索类型过滤
        default_search_owner=""  # 默认搜索 owner 过滤（空则不过滤）
    )
)


# ===== 基础设施配置 =====

SKILLS_DIR = "./skills"
TRACE_STORE_PATH = ".trace"
DEBUG = True
LOG_LEVEL = "INFO"
LOG_FILE = None  # 设置为文件路径可以同时输出到文件
