package com.gzzm.lobster.llm;

/**
 * ModelSelectionContext —— 路由决策上下文 / Context for routing decisions.
 */
public final class ModelSelectionContext {
    private String orgId;
    private String userId;
    private String agentId;
    private String threadType;
    private String taskType;
    private boolean requiresTools;
    private boolean requiresLongContext;
    private boolean requiresFastResponse;
    private boolean requiresMultimodal;

    public ModelSelectionContext() {}

    public String getOrgId() { return orgId; }
    public void setOrgId(String orgId) { this.orgId = orgId; }
    public String getUserId() { return userId; }
    public void setUserId(String userId) { this.userId = userId; }
    public String getAgentId() { return agentId; }
    public void setAgentId(String agentId) { this.agentId = agentId; }
    public String getThreadType() { return threadType; }
    public void setThreadType(String threadType) { this.threadType = threadType; }
    public String getTaskType() { return taskType; }
    public void setTaskType(String taskType) { this.taskType = taskType; }
    public boolean isRequiresTools() { return requiresTools; }
    public void setRequiresTools(boolean requiresTools) { this.requiresTools = requiresTools; }
    public boolean isRequiresLongContext() { return requiresLongContext; }
    public void setRequiresLongContext(boolean requiresLongContext) { this.requiresLongContext = requiresLongContext; }
    public boolean isRequiresFastResponse() { return requiresFastResponse; }
    public void setRequiresFastResponse(boolean requiresFastResponse) { this.requiresFastResponse = requiresFastResponse; }
    public boolean isRequiresMultimodal() { return requiresMultimodal; }
    public void setRequiresMultimodal(boolean requiresMultimodal) { this.requiresMultimodal = requiresMultimodal; }
}
