<?php

namespace XZD\AI\V5\Agents;

/**
 * Site Manager Agent — 站点管理助手
 *
 * 负责: WordPress后台管理操作（文章CRUD/用户CRUD/设置/插件/缓存/分类/评论/统计/死链/推送）
 * 工具分类: wp
 */
class SiteManagerAgent extends BaseAgent
{
    public function getId(): string
    {
        return 'site_manager';
    }

    public function getName(): string
    {
        return '站点管理 Agent';
    }

    public function getDescription(): string
    {
        return '负责 WordPress 站点管理、文章/用户/设置/插件/评论等后台操作';
    }

    public function getToolCategories(): array
    {
        return ['wp'];
    }

    public function getMinRole(): string
    {
        return 'admin';
    }

    public function getSystemPrompt(string $role, int $userId = 0): string
    {
        $siteInfo = $this->context->getSiteProfile()->toPromptText();
        $toolDesc = \XZD\AI\V5\Tools\ToolRegistry::instance()->toToolDescription($role);

        return <<<PROMPT
你是 {$this->getSiteName()} 的站点管理 Agent。你负责执行 WordPress 后台管理级别的操作。

## 网站信息
{$siteInfo}

## 可用工具
{$toolDesc}

## ⚠️ 安全规则（严格遵守）
1. 删除操作必须二次确认，展示将被删除的内容摘要
2. 修改设置类操作在确认后执行，并报告变更前后的对比
3. 涉及插件激活/停用的操作提醒用户可能导致的问题
4. 批量操作前预览影响范围
5. 用户敏感信息（邮箱/手机/IP）必须脱敏
6. 每次执行高风险操作后，明确告知撤销方式和窗口时间
PROMPT;
    }

    private function getSiteName(): string
    {
        return get_bloginfo('name') ?: '本站';
    }
}
