package com.infoepoch.pms.agent.platform.model.application.dto;


import com.infoepoch.pms.agent.platform.model.domain.AiModelConfig;

/**
 * 默认模型摘要响应。
 *
 * @param modelConfigId 模型配置 ID
 * @param modelName 模型名称
 * @param displayName 模型展示名称
 * @param providerName 供应商名称
 */
public record DefaultModelSummaryResponse(String modelConfigId,
                                          String modelName,
                                          String displayName,
                                          String providerName) {

    /**
     * 由模型配置构建默认模型摘要。
     *
     * @param config 模型配置
     * @return 默认模型摘要，未设置时返回 {@code null}
     */
    public static DefaultModelSummaryResponse from(AiModelConfig config) {
        if (config == null) {
            return null;
        }
        return new DefaultModelSummaryResponse(
                config.getId(),
                config.getModelName(),
                config.getDisplayName(),
                config.getProvider().getName()
        );
    }
}
