package tech.easyflow.ai.enums;

/**
 * 文档处理状态。
 *
 * @author Codex
 * @since 2026-04-14
 */
public enum DocumentProcessStatus {

    /**
     * 已上传，尚未进入异步处理。
     */
    UPLOADED,

    /**
     * 解析中。
     */
    PARSING,

    /**
     * 解析失败。
     */
    PARSE_FAILED,

    /**
     * 可继续配置分块。
     */
    READY_FOR_SEGMENT,

    /**
     * 已确认分块，可开始向量化。
     */
    READY_FOR_INDEX,

    /**
     * 向量化处理中。
     */
    INDEXING,

    /**
     * 向量化失败。
     */
    INDEX_FAILED,

    /**
     * 全流程完成。
     */
    COMPLETED;

    /**
     * 判断当前状态是否属于运行中状态。
     *
     * @return 是否运行中
     */
    public boolean isProcessing() {
        return this == PARSING || this == INDEXING;
    }
}
