package tech.easyflow.ai.documentimport.task;

import java.util.Set;

/**
 * 知识库文档导入格式统一策略。
 *
 * @author Codex
 * @since 2026-08-04
 */
public final class DocumentImportFormatPolicy {

    private static final Set<String> SUPPORTED_EXTENSIONS =
        Set.of("txt", "pdf", "docx", "md", "pptx", "xlsx", "csv");

    /**
     * 禁止实例化格式策略工具类。
     */
    private DocumentImportFormatPolicy() {
    }

    /**
     * 返回只读的支持格式集合。
     *
     * @return 支持的文件扩展名
     */
    public static Set<String> supportedExtensions() {
        return SUPPORTED_EXTENSIONS;
    }

    /**
     * 判断扩展名是否属于知识库导入支持范围。
     *
     * @param extension 已转换为小写的文件扩展名
     * @return 支持时返回 {@code true}
     */
    public static boolean isSupported(String extension) {
        return SUPPORTED_EXTENSIONS.contains(extension);
    }
}
