package com.easyagents.agent.runtime.agentscope;

import io.agentscope.core.memory.Memory;
import io.agentscope.core.memory.autocontext.AutoContextConfig;

/**
 * AgentScope 记忆构建结果。
 *
 * <p>AutoContext 的压缩入口判断必须使用创建 {@code AutoContextMemory} 时的同一份
 * {@link AutoContextConfig}。该结果对象将记忆实例和配置快照一起返回，避免运行时
 * 干预器重新推导配置导致事件触发条件与 AgentScope 主线路不一致。</p>
 */
public class AgentScopeMemoryBuildResult {

    private final Memory memory;
    private final AutoContextConfig autoContextConfig;

    /**
     * 创建记忆构建结果。
     *
     * @param memory AgentScope 记忆实例
     * @param autoContextConfig AutoContext 配置，非 AutoContext 记忆时为 null
     */
    public AgentScopeMemoryBuildResult(Memory memory, AutoContextConfig autoContextConfig) {
        this.memory = memory;
        this.autoContextConfig = autoContextConfig;
    }

    /**
     * 获取 AgentScope 记忆实例。
     *
     * @return AgentScope 记忆实例
     */
    public Memory getMemory() {
        return memory;
    }

    /**
     * 获取 AutoContext 配置。
     *
     * @return AutoContext 配置，非 AutoContext 记忆时为 null
     */
    public AutoContextConfig getAutoContextConfig() {
        return autoContextConfig;
    }
}
