package tech.easyflow.ai.invoke.model;

import com.fasterxml.jackson.databind.JsonNode;

import java.util.List;

public class UnifiedChatRequest {

    private String model;
    private List<UnifiedMessage> messages;
    private Boolean stream;
    private Double temperature;
    private Double topP;
    private Integer maxTokens;
    private Long seed;
    private List<UnifiedTool> tools;
    private JsonNode toolChoice;
    private UnifiedResponseFormat responseFormat;

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public List<UnifiedMessage> getMessages() {
        return messages;
    }

    public void setMessages(List<UnifiedMessage> messages) {
        this.messages = messages;
    }

    public Boolean getStream() {
        return stream;
    }

    public void setStream(Boolean stream) {
        this.stream = stream;
    }

    public Double getTemperature() {
        return temperature;
    }

    public void setTemperature(Double temperature) {
        this.temperature = temperature;
    }

    public Double getTopP() {
        return topP;
    }

    public void setTopP(Double topP) {
        this.topP = topP;
    }

    public Integer getMaxTokens() {
        return maxTokens;
    }

    public void setMaxTokens(Integer maxTokens) {
        this.maxTokens = maxTokens;
    }

    public Long getSeed() {
        return seed;
    }

    public void setSeed(Long seed) {
        this.seed = seed;
    }

    public List<UnifiedTool> getTools() {
        return tools;
    }

    public void setTools(List<UnifiedTool> tools) {
        this.tools = tools;
    }

    public JsonNode getToolChoice() {
        return toolChoice;
    }

    public void setToolChoice(JsonNode toolChoice) {
        this.toolChoice = toolChoice;
    }

    public UnifiedResponseFormat getResponseFormat() {
        return responseFormat;
    }

    public void setResponseFormat(UnifiedResponseFormat responseFormat) {
        this.responseFormat = responseFormat;
    }
}
