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_step")
public class AgentExecutionStepDO extends BaseDO {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 执行ID
     */
    private Long executionId;

    /**
     * 思考开始的时间戳
     */
    private LocalDateTime thinkStartTime;

    /**
     * 思考完成的时间戳
     */
    private LocalDateTime thinkEndTime;

    /**
     * 思考过程的输入上下文
     */
    private String thinkInput;

    /**
     * 思考过程的输出结果
     */
    private String thinkOutput;

    /**
     * 思考是否确定需要执行步骤:0否 1是
     */
    private Boolean executionNeeded;

    /**
     * 将要采取的步骤执行描述
     */
    private String executionDescription;

    /**
     * 步骤执行的结果
     */
    private String executionResult;

    /**
     * 此思考-执行周期的状态（成功、失败等）:SUCCESS/FAILED
     */
    private String status;

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

    /**
     * 工具ID
     */
    private Long toolId;

    /**
     * 工具名称
     */
    private String toolName;

    /**
     * 工具参数
     */
    private String toolParameters;

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

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

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

}
