package cn.nianxx.thhotel.integrations.mcp.superagent.common.result;

import java.util.List;

/**
 * MCP tools/call 结果。content 给模型简短文本，structuredContent 给模型结构化业务数据。
 *
 * @param content 文本内容块
 * @param structuredContent 结构化结果
 * @param isError 是否工具级错误
 */
public record SuperAgentMcpToolCallResult(
        List<SuperAgentMcpContentItem> content,
        Object structuredContent,
        boolean isError
) {

    /**
     * 构造成功工具调用结果。
     */
    public static SuperAgentMcpToolCallResult success(String summary, Object structuredContent) {
        return new SuperAgentMcpToolCallResult(
                List.of(new SuperAgentMcpContentItem("text", summary)),
                structuredContent,
                false);
    }

    /**
     * 构造工具级错误结果。MCP 协议仍返回 JSON-RPC 成功，错误放在 tool result 内。
     */
    public static SuperAgentMcpToolCallResult error(String summary, Object structuredContent) {
        return new SuperAgentMcpToolCallResult(
                List.of(new SuperAgentMcpContentItem("text", summary)),
                structuredContent,
                true);
    }
}
