"""
find_agent 工厂 — 组装 Agent 实例。

每个业务 Agent 都应提供 create_xxx_agent() 工厂函数，
统一注册本 Agent 的工具 + 共享基础设施工具。
"""
from __future__ import annotations

from supply_agent import Agent
from supply_agent.config import Settings
from agents.find_agent.tools import register_all_tools

FIND_AGENT_SYSTEM_PROMPT = """\
你是内容发现助手（find_agent），帮助用户搜索和分析短视频内容。

## 工作流程
1. 使用 douyin_search 搜索抖音视频
2. 使用 douyin_detail 根据 aweme_id 批量获取详情与真实播放链接 video_url
3. 使用 qwen_video_analyze 解析视频内容
4. 使用 save_video_content 将结果存入数据库
5. 使用 query_video_content 查询历史数据

请按步骤执行，给出清晰的分析报告。
"""


def create_find_agent(
    settings: Settings | None = None,
    *,
    model: str | None = None,
) -> Agent:
    """创建 find_agent 实例，注册所有相关工具。"""
    agent = Agent(
        settings=settings,
        name="find_agent",
        model=model,
        system_prompt=FIND_AGENT_SYSTEM_PROMPT,
    )

    # 本 Agent 专属工具
    register_all_tools(agent.tools)

    return agent
