package com.gzzm.lobster.llm;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * ModelRouteResult —— 模型路由结果 / Model route result.
 */
public final class ModelRouteResult {
    private final ModelProfile primary;
    private final List<ModelProfile> fallbacks;
    private final String routeReason;

    public ModelRouteResult(ModelProfile primary, List<ModelProfile> fallbacks, String routeReason) {
        this.primary = primary;
        this.fallbacks = fallbacks == null ? Collections.<ModelProfile>emptyList() : Collections.unmodifiableList(new ArrayList<>(fallbacks));
        this.routeReason = routeReason;
    }

    public ModelProfile getPrimary() { return primary; }
    public List<ModelProfile> getFallbacks() { return fallbacks; }
    public String getRouteReason() { return routeReason; }
}
