package com.easyagents.agent.runtime.tool.asynctool;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * 异步工具任务列表结果。
 */
public class AsyncToolTaskListResult {

    private List<AsyncToolTaskSummary> tasks = new ArrayList<>();
    private Map<String, Object> payload = new LinkedHashMap<>();
    private Map<String, Object> metadata = new LinkedHashMap<>();

    /**
     * 创建空任务列表结果。
     */
    public AsyncToolTaskListResult() {
    }

    /**
     * 获取任务摘要列表。
     *
     * @return 任务摘要列表
     */
    public List<AsyncToolTaskSummary> getTasks() {
        return tasks;
    }

    /**
     * 设置任务摘要列表。
     *
     * @param tasks 任务摘要列表
     */
    public void setTasks(List<AsyncToolTaskSummary> tasks) {
        this.tasks = tasks == null ? new ArrayList<>() : tasks;
    }

    /**
     * 获取业务扩展载荷。
     *
     * @return 业务扩展载荷
     */
    public Map<String, Object> getPayload() {
        return payload;
    }

    /**
     * 设置业务扩展载荷。
     *
     * @param payload 业务扩展载荷
     */
    public void setPayload(Map<String, Object> payload) {
        this.payload = payload == null ? new LinkedHashMap<>() : payload;
    }

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

    /**
     * 设置元数据。
     *
     * @param metadata 元数据
     */
    public void setMetadata(Map<String, Object> metadata) {
        this.metadata = metadata == null ? new LinkedHashMap<>() : metadata;
    }
}
