package com.pavis.admin.aigc.model.entity;

import lombok.Data;

import com.baomidou.mybatisplus.annotation.TableName;

import com.pavis.admin.common.model.entity.BaseDO;


import java.io.Serial;
import java.time.*;

/**
 * 智能体执行记录实体
 *
 * @author semi
 * @since 2025/05/26 17:28
 */
@Data
@TableName("aigc_agent_execution")
public class AgentExecutionDO extends BaseDO {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 智能体规划ID
     */
    private Long planId;

    /**
     * 智能体ID
     */
    private Long agentId;

    /**
     * 智能体名称
     */
    private String agentName;

    /**
     * 智能体描述信息
     */
    private String agentDescription;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 执行时长(秒)
     */
    private Integer duration;

    /**
     * 最大允许的步骤数
     */
    private Integer maxSteps;

    /**
     * 当前执行的步骤编号
     */
    private Integer currentStep;

    /**
     * 状态:IDLE/RUNNING/FINISHED
     */
    private String status;

    /**
     * 是否完成:0未完成 1已完成
     */
    private Boolean completed;

    /**
     * 是否卡主:0未卡住 1已卡住
     */
    private Boolean stucked;

    /**
     * 用于智能体执行的请求内容
     */
    private String input;

    /**
     * 执行结果
     */
    private String output;

    /**
     * 错误信息
     */
    private String errorMessage;

    /**
     * 元数据
     */
    private String metadata;
}
