package com.cmvr.llm.config;

import com.cmvr.common.exception.GlobalException;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
 * API配置类
 */
@Data
@Component
@ConfigurationProperties(prefix = "api")
public class APIProperties {

    /**
     * 应用唯一标识
     */
    private String appId;

    /**
     * 应用密钥
     */
    private String appKey;

    /** 商道启动工作流地址 */
    private String workFlowUrl;

    /** 商道工作流结果接口地址 */
    private String queryResultUrl;

    private String bgeVl;

    /**
     * 文本合成语音
     */
    private String generateAdvancedAudio;

    /** 多应用配置（key=ActionEnum) */
    private Map<String, AgentConfig> agents;

    private String evaluation;

    private String currentPage;

    /**
     * 根据 ActionEnum 名称获取 app 配置
     */
    public AgentConfig getAgentConfig(String actionName) {
        AgentConfig config = agents.get(actionName);
        if (config == null) {
            throw new GlobalException("未找到功能 {} 的 智能体应用配置", actionName);
        }
        return config;
    }
}
