package cn.nianxx.thhotel.integrations.mcp.superagent.service.impl;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * SuperAgent MCP 配置。MCP Auth Token 只能来自环境变量或部署平台 Secret。
 */
@Component
@ConfigurationProperties(prefix = "mcp")
public class SuperAgentMcpProperties {

    /** 是否启用内嵌 MCP endpoint。 */
    private boolean enabled = false;
    /** MCP HTTP path，默认 /mcp。 */
    private String httpPath = "/mcp";
    /** SuperAgent 到 MCP endpoint 的 Bearer Token。 */
    private String authToken = "";
    /** 是否允许 MCP 写入工具提交任务结果。 */
    private boolean enableSubmitTaskResults = false;
    /** MCP 单次请求体最大字节数，默认 10MB。 */
    private long maxBodyBytes = 10_485_760L;

    public boolean isEnabled() {
        return enabled;
    }

    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }

    public String getHttpPath() {
        return httpPath;
    }

    public void setHttpPath(String httpPath) {
        this.httpPath = httpPath;
    }

    public String getAuthToken() {
        return authToken;
    }

    public void setAuthToken(String authToken) {
        this.authToken = authToken;
    }

    public boolean isEnableSubmitTaskResults() {
        return enableSubmitTaskResults;
    }

    public void setEnableSubmitTaskResults(boolean enableSubmitTaskResults) {
        this.enableSubmitTaskResults = enableSubmitTaskResults;
    }

    public long getMaxBodyBytes() {
        return maxBodyBytes;
    }

    public void setMaxBodyBytes(long maxBodyBytes) {
        this.maxBodyBytes = maxBodyBytes;
    }
}
