package tech.easyflow.agent.service;

import com.mybatisflex.core.service.IService;
import tech.easyflow.agent.entity.AgentSkillBinding;

import java.math.BigInteger;
import java.util.List;

/**
 * Agent Skill 绑定服务。
 */
public interface AgentSkillBindingService extends IService<AgentSkillBinding> {

    /**
     * 原子替换 Agent 的全部 Skill 绑定。
     *
     * @param agentId Agent ID
     * @param bindings Skill 引用列表
     * @return 规范化后的脱敏绑定摘要
     */
    List<AgentSkillBinding> replaceBindings(BigInteger agentId, List<AgentSkillBinding> bindings);

    /**
     * 查询 Agent 的 Skill 草稿绑定。
     *
     * @param agentId Agent ID
     * @return 稳定排序的绑定
     */
    List<AgentSkillBinding> listBindings(BigInteger agentId);

    /**
     * 查询 Agent 的 Skill 脱敏绑定摘要。
     *
     * @param agentId Agent ID
     * @return 稳定排序的绑定摘要
     */
    List<AgentSkillBinding> listSummaries(BigInteger agentId);
}
