package org.xyzh.api.ai.service;

import org.xyzh.api.ai.dto.TbAgent;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.core.page.PageRequest;

/**
 * Agent服务接口
 * 用于知识库和文档管理
 */
public interface AgentService {
    
    /**
     * 添加Agent, 用户自己在dify搭建发布后，在本服务进行接入
     * @param tbAgent
     * @author yslg
     * @since 2025-12-17
     * @return
     */
    ResultDomain<TbAgent> addAgent(TbAgent tbAgent);

    /**
     * 更新Agent
     * @param tbAgent
     * @author yslg
     * @since 2025-12-17
     * @return
     */
    ResultDomain<TbAgent> updateAgent(TbAgent tbAgent);

    /**
     * 删除Agent
     * @param tbAgent
     * @author yslg
     * @since 2025-12-17
     * @return
     */
    ResultDomain<TbAgent> deleteAgent(TbAgent tbAgent);

    ResultDomain<TbAgent> selectAgentById(String agentId);

    /**
     * @description    分页获取当前用户可用的agent智能体
     * @param    pageRequest
     * @author    yslg
     * @since 2025-12-17
     */
    ResultDomain<TbAgent> getAgentPage(PageRequest<TbAgent> pageRequest);

    /**
     * @description    获取当前用户所有可用智能体列表
     * @param    tbAgent
     * @author    yslg
     * @since 2025-12-17
     */
    ResultDomain<TbAgent> getAgentList(TbAgent tbAgent);
}
