package org.dromara.chat.domain.request;

import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 多Provider聊天请求
 *
 * @author pengles
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class MultiProviderChatRequest extends ChatRequest {

    /**
     * Provider名称列表
     */
    @NotNull(message = "Provider列表不能为空")
    @NotEmpty(message = "Provider列表不能为空")
    private List<String> providerNames;

    /**
     * 是否合并结果
     */
    private Boolean mergeResults = true;

    /**
     * 最大并发数
     */
    private Integer maxConcurrency = 3;

    /**
     * 超时时间（秒）
     */
    private Integer timeoutSeconds = 30;
}