package cn.nianxx.thhotel.integrations.ai.superagent.service;

import cn.nianxx.thhotel.integrations.ai.superagent.common.request.SuperAgentMailDebugRequest;
import cn.nianxx.thhotel.integrations.ai.superagent.common.result.SuperAgentOpenApiResult;
import cn.nianxx.thhotel.integrations.ai.superagent.common.result.SuperAgentOpenApiTraceEvent;
import java.util.function.Consumer;

/**
 * SuperAgent Open API 客户端端口。业务层只依赖该接口，不直接拼 HTTP 或解析 SSE。
 */
public interface SuperAgentOpenApiClient {

    /**
     * 创建 SuperAgent session 并发送邮件 Debug 消息，返回最终 AI 回答。
     */
    default SuperAgentOpenApiResult invokeMailDebug(SuperAgentMailDebugRequest request) {
        return invokeMailDebug(request, traceEvent -> {
        });
    }

    /**
     * 创建 SuperAgent session 并发送邮件 Debug 消息，边解析边回调公开 Trace 事件。
     */
    SuperAgentOpenApiResult invokeMailDebug(
            SuperAgentMailDebugRequest request,
            Consumer<SuperAgentOpenApiTraceEvent> traceConsumer);
}
