package tech.easyflow.ai.easyagentsflow.support;

/**
 * 已发布工作流定义 ID 工具。
 */
public final class PublishedWorkflowDefinitionIds {

    private static final String PREFIX = "published:";

    private PublishedWorkflowDefinitionIds() {
    }

    /**
     * 构建已发布定义 ID。
     *
     * @param workflowId 工作流 ID
     * @return 已发布定义 ID
     */
    public static String published(String workflowId) {
        return PREFIX + workflowId;
    }

    /**
     * 是否为已发布定义 ID。
     *
     * @param definitionId 定义 ID
     * @return 命中已发布定义前缀时返回 true
     */
    public static boolean isPublished(String definitionId) {
        return definitionId != null && definitionId.startsWith(PREFIX);
    }

    /**
     * 还原真实工作流 ID。
     *
     * @param definitionId 定义 ID
     * @return 原始工作流 ID
     */
    public static String unwrap(String definitionId) {
        if (!isPublished(definitionId)) {
            return definitionId;
        }
        return definitionId.substring(PREFIX.length());
    }
}
