package com.infoepoch.pms.agent.platform.chat.domain;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 工具调用轨迹时间线块。
 */
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class TraceTimelineBlock extends ChatMessageBlock {

    /**
     * 摘要信息。
     */
    private TraceTimelineSummary summary;

    /**
     * 时间线条目列表。
     */
    private List<TraceTimelineItem> items;

    /**
     * 返回消息块类型。
     *
     * @return 固定为 trace-timeline
     */
    @Override
    public String getType() {
        return "trace-timeline";
    }

    /**
     * 轨迹摘要。
     */
    @Getter
    @NoArgsConstructor
    @AllArgsConstructor
    public static class TraceTimelineSummary {

        /**
         * 总步数。
         */
        private int total;

        /**
         * 失败步数。
         */
        private long failed;
    }
}
