package tech.easyflow.ai.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * JavaScript 代码执行引擎配置。
 */
@Configuration
@ConfigurationProperties(prefix = "node.code-engine.javascript")
public class JavascriptCodeEngineProps {

    /**
     * 单次脚本执行超时时间，单位毫秒。
     */
    private long timeoutMs = 5000L;

    /**
     * 获取单次脚本执行超时时间。
     *
     * @return 超时时间，单位毫秒
     */
    public long getTimeoutMs() {
        return timeoutMs;
    }

    /**
     * 设置单次脚本执行超时时间。
     *
     * @param timeoutMs 超时时间，单位毫秒
     */
    public void setTimeoutMs(long timeoutMs) {
        if (timeoutMs <= 0L) {
            throw new IllegalArgumentException(
                    "node.code-engine.javascript.timeout-ms 必须大于 0");
        }
        this.timeoutMs = timeoutMs;
    }
}
