package com.company.agentfoundation.config; import org.springframework.boot.context.properties.ConfigurationProperties; import java.util.HashMap; import java.util.Map; @ConfigurationProperties(prefix = "foundation") public class FoundationProperties { private final Auth auth = new Auth(); private final ModelRouter modelRouter = new ModelRouter(); private final Deepseek deepseek = new Deepseek(); private final Wecom wecom = new Wecom(); public Auth getAuth() { return auth; } public ModelRouter getModelRouter() { return modelRouter; } public Deepseek getDeepseek() { return deepseek; } public Wecom getWecom() { return wecom; } public static class Auth { private Map keys = new HashMap<>(); public Map getKeys() { return keys; } public void setKeys(Map keys) { this.keys = keys; } } public static class ModelRouter { private String defaultModel = "deepseek-chat"; private Map routeByAgent = new HashMap<>(); public String getDefaultModel() { return defaultModel; } public void setDefaultModel(String defaultModel) { this.defaultModel = defaultModel; } public Map getRouteByAgent() { return routeByAgent; } public void setRouteByAgent(Map routeByAgent) { this.routeByAgent = routeByAgent; } } public static class Deepseek { private String baseUrl; private String chatPath; private String apiKey; private int readTimeoutMs = 60000; private int maxRetries = 2; public String getBaseUrl() { return baseUrl; } public void setBaseUrl(String baseUrl) { this.baseUrl = baseUrl; } public String getChatPath() { return chatPath; } public void setChatPath(String chatPath) { this.chatPath = chatPath; } public String getApiKey() { return apiKey; } public void setApiKey(String apiKey) { this.apiKey = apiKey; } public int getReadTimeoutMs() { return readTimeoutMs; } public void setReadTimeoutMs(int readTimeoutMs) { this.readTimeoutMs = readTimeoutMs; } public int getMaxRetries() { return maxRetries; } public void setMaxRetries(int maxRetries) { this.maxRetries = maxRetries; } } public static class Wecom { private boolean enabled; private String corpId; private Integer agentId; private String secret; private String studentContactSecret; private String token; private String encodingAesKey; private String crmAgentId = "crm-assistant"; private String callbackPath = "/v1/integrations/wecom/callback"; public boolean isEnabled() { return enabled; } public void setEnabled(boolean enabled) { this.enabled = enabled; } public String getCorpId() { return corpId; } public void setCorpId(String corpId) { this.corpId = corpId; } public Integer getAgentId() { return agentId; } public void setAgentId(Integer agentId) { this.agentId = agentId; } public String getSecret() { return secret; } public void setSecret(String secret) { this.secret = secret; } public String getStudentContactSecret() { return studentContactSecret; } public void setStudentContactSecret(String studentContactSecret) { this.studentContactSecret = studentContactSecret; } public String getToken() { return token; } public void setToken(String token) { this.token = token; } public String getEncodingAesKey() { return encodingAesKey; } public void setEncodingAesKey(String encodingAesKey) { this.encodingAesKey = encodingAesKey; } public String getCrmAgentId() { return crmAgentId; } public void setCrmAgentId(String crmAgentId) { this.crmAgentId = crmAgentId; } public String getCallbackPath() { return callbackPath; } public void setCallbackPath(String callbackPath) { this.callbackPath = callbackPath; } } }