package com.easyagents.agent.runtime.message;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 运行时消息内容块。
 */
public abstract class AgentContentBlock {

    private final AgentContentBlockType type;
    private final Map<String, Object> metadata = new LinkedHashMap<>();

    /**
     * 创建内容块。
     *
     * @param type 块类型
     */
    protected AgentContentBlock(AgentContentBlockType type) {
        this.type = type == null ? AgentContentBlockType.UNKNOWN : type;
    }

    /**
     * 获取块类型。
     *
     * @return 块类型
     */
    public AgentContentBlockType getType() {
        return type;
    }

    /**
     * 获取元数据。
     *
     * @return 元数据
     */
    public Map<String, Object> getMetadata() {
        return metadata;
    }
}
