package com.easyagents.agent.runtime.knowledge.citation;

import com.easyagents.agent.runtime.message.AgentKnowledgeReference;

import java.util.Collection;
import java.util.List;

/**
 * 知识库引用匹配器。
 *
 * <p>该接口只负责从最终答案和本轮检索候选中选择可展示的引用。实现不应修改答案文本，
 * 也不应把引用写入 AgentScope memory/session。</p>
 */
public interface AgentKnowledgeCitationMatcher {

    /**
     * 匹配最终答案中可由候选知识片段支撑的引用。
     *
     * @param answerText 最终答案文本
     * @param candidates 本轮检索候选引用
     * @return 匹配到的知识库引用
     */
    List<AgentKnowledgeReference> match(String answerText, Collection<AgentKnowledgeReference> candidates);
}
