package com.easyagents.skill.store;

import java.util.Objects;

/**
 * 尚未提交的 Skill 二进制内容阶段结果。
 */
public final class SkillContentStage {

    private final String stageId;
    private final String contentRef;
    private final String contentHash;
    private final long size;

    /**
     * 创建内容阶段结果。
     *
     * @param stageId 暂存标识
     * @param contentRef 最终内容引用
     * @param contentHash SHA-256
     * @param size 字节大小
     */
    public SkillContentStage(String stageId, String contentRef, String contentHash, long size) {
        this.stageId = Objects.requireNonNull(stageId, "stageId");
        this.contentRef = Objects.requireNonNull(contentRef, "contentRef");
        this.contentHash = Objects.requireNonNull(contentHash, "contentHash");
        this.size = size;
    }

    /** @return 暂存标识 */
    public String getStageId() {
        return stageId;
    }

    /** @return 最终内容引用 */
    public String getContentRef() {
        return contentRef;
    }

    /** @return SHA-256 */
    public String getContentHash() {
        return contentHash;
    }

    /** @return 字节大小 */
    public long getSize() {
        return size;
    }

}
